KR20200044312A - 반도체 장치 - Google Patents

반도체 장치 Download PDF

Info

Publication number
KR20200044312A
KR20200044312A KR1020180124880A KR20180124880A KR20200044312A KR 20200044312 A KR20200044312 A KR 20200044312A KR 1020180124880 A KR1020180124880 A KR 1020180124880A KR 20180124880 A KR20180124880 A KR 20180124880A KR 20200044312 A KR20200044312 A KR 20200044312A
Authority
KR
South Korea
Prior art keywords
data
memory
program
processor core
stored
Prior art date
Application number
KR1020180124880A
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 KR1020180124880A priority Critical patent/KR20200044312A/ko
Priority to US16/439,924 priority patent/US10878873B2/en
Priority to CN201910994913.2A priority patent/CN111078599A/zh
Priority to TW108137649A priority patent/TWI835893B/zh
Publication of KR20200044312A publication Critical patent/KR20200044312A/ko
Priority to US17/106,242 priority patent/US11227647B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/0081Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/02Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using magnetic or inductive elements
    • H01L43/08
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B61/00Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
    • H10B61/20Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices comprising components having three or more electrodes, e.g. transistors
    • H10B61/22Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices comprising components having three or more electrodes, e.g. transistors of the field-effect transistor [FET] type
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/10Magnetoresistive devices
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/80Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Abstract

프로그램 데이터의 속성에 기초하여 프로그램 데이터가 저장될 메모리를 선택적으로 결정하는 반도체 장치가 제공된다. 반도체 장치는, 프로그램 데이터를 처리하는 프로세서 코어, 프로세서 코어와 동일한 반도체 칩 상에 실장되는 제1 메모리, 제1 MTJ(Magnetic Tunnel Junction) 구조를 갖는 MRAM 셀을 포함하는 제2 메모리 및 제2 MTJ 구조와 상이한 MTJ 구조를 갖는 MRAM 셀을 포함하는 제3 메모리를 포함하되, 프로세서 코어는, 프로그램 데이터의 속성에 기초하여 프로그램 데이터를 제1 메모리, 제2 메모리 및 제3 메모리 중 어느 하나에 선택적으로 저장한다.

Description

반도체 장치{SEMICONDUCTOR DEVICE}
본 발명은 반도체 장치에 관한 것이다. 보다 구체적으로, 본 발명은 프로그램 데이터의 속성에 근거하여 이종의 메모리에 선택적으로 프로그램 데이터를 저장하는 반도체 장치에 관한 것이다.
다양한 전자 장치들이 널리 이용되고 있다. 전자 장치는 전기 신호 및 전자적으로 저장된 데이터들을 이용하여 여러 기능들을 수행한다. 전자 장치는 신호 및 데이터를 처리하기 위한 프로세서를 포함한다. 나아가, 전자 장치는 데이터를 저장하기 위한 메모리를 포함한다.
설계 기술 및 공정 기술의 발전에 따라, 작은 크기를 갖는 전자 장치들이 생산되고 있다. 노트북 컴퓨터, 이동식 단말기, 휴대용 전화기 등의 소형 전자 장치는 휴대할 수 있고, 사용자에 의해 쉽게 운반될 수 있다. 최근에 는 사용자의 몸에 착용되는 웨어러블(Wearable) 전자 장치가 개발되고 있다.
또한, 사물 인터넷(IoT: Internet of Things) 환경에서 동작하는 IoT 전자 장치의 사용이 점차 증가하고 있고, 이에 따라 외부 장치에 의해 원격으로 제어되는 가전제품의 사용 또한 증가하고 있다.
이러한 웨어러블 전자 장치 또는 IoT 전자 장치는 사용자의 편의를 위해 더 작은 크기를 갖도록 제작된다. 전자 장치의 크기가 작아지면, 전자 장치에 포함되는 집적 회로 칩(Integrated Circuit Chip)의 크기도 작아질 필요가 있다. 뿐만 아니라, 전자 장치의 크기가 작아지면, 배터리 등의 전원 공급 장치에 의해 공급되는 총 전력의 양이 줄어든다.
예로서, 소형 전자 장치는 프로세서에 의해 처리된 또는 처리될 데이터를 일시적으로 버퍼링(Buffering)하기 위한 버퍼 메모리 및 전원 공급 여부에 관계없이 데이터를 보존하기 위한 비휘발성 메모리를 포함할 수 있다. 그런데, 웨어러블 전자 장치 또는 IoT 장치는 많은 양의 연산을 필요로 하는 기능보다 적은 양의 연산을 필요로 하는 기능을 더 많이 수행한다. 따라서, 웨어러블 전자 장치 또는 IoT 장치는 큰 버퍼 용량을 갖는 버퍼 메모리를 포함하지 않아도 무방하다. 나아가, 많은 양의 전력을 누설하는 메모리는 웨어러블 전자 장치 또는 IoT 장치에 적합하지 않다.
본 발명이 해결하고자 하는 기술적 과제는, 데이터의 속성에 기초하여 이종의 메모리에 저장될 데이터를 결정함으로써, 데이터의 I/O 효율을 높이고, 전력 효율을 높일 수 있는 반도체 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 기술적 과제는, 하나의 반도체 칩 상에 복수의 서로 다른 메모리를 실장하고, 데이터의 속성에 기초하여 데이터가 저장될 메모리를 결정함으로써, MCU의 소형화를 만족시키는 반도체 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 몇몇 실시 예에 따른 반도체 장치는, 프로그램 데이터를 처리하는 프로세서 코어, 프로세서 코어와 동일한 반도체 칩 상에 실장되는 제1 메모리, 제1 MTJ(Magnetic Tunnel Junction) 구조를 갖는 MRAM 셀을 포함하는 제2 메모리 및 제2 MTJ 구조와 상이한 MTJ 구조를 갖는 MRAM 셀을 포함하는 제3 메모리를 포함할 수 있고, 프로세서 코어는, 프로그램 데이터의 속성에 기초하여 프로그램 데이터를 제1 메모리, 제2 메모리 및 제3 메모리 중 어느 하나에 선택적으로 저장할 수 있다.
본 발명의 기술적 사상의 몇몇 실시 예에 따른 반도체 장치는, 프로그램 데이터를 처리하는 프로세서 코어, 제1 MTJ 구조체를 포함하는 제1 메모리 및 제1 MTJ 구조체와 다른 높이를 갖는 제2 MTJ구조체를 포함하는 제2 메모리를 포함할 수 있고, 프로세서 코어는, 제1 메모리에 저장된 제1 데이터를 리드하고, 제1 데이터에 기초하여 제2 데이터를 생성하고, 제2 데이터를 제2 메모리에 저장하고, 제1 데이터 및 제2 데이터에 이용하여 프로그램 동작을 수행할 수 있다.
본 발명의 기술적 사상의 몇몇 실시 예에 따른 반도체 장치는, 제1 반도체 칩 상에 실장되고, 프로그램 동작을 수행하는 프로세서 코어, 제1 반도체 칩 상에 실장되고, 프로그램 동작에 이용되는 데이터를 저장하는 제1 메모리, 제1 반도체 칩 상에 실장되고, 제1 메모리에 포함되는 메모리 셀과 이종의 메모리 셀을 갖는 제2 메모리 및 제1 반도체 칩 상에 실장되고, 제2 메모리에 포함되는 메모리 셀과 동종의 메모리 셀을 갖는 제3 메모리를 포함할 수 있고, 프로세서 코어는, 프로그램 동작에 이용되는 데이터에 할당되는 가상 어드레스 영역의 범위에 기초하여 데이터가 저장될 메모리를 선택적으로 결정할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 실시 예에 따른 2개의 MRAM을 포함하는 반도체 장치의 블록도이다.
도 2는 MRAM의 셀 구조를 입체적으로 간략히 도시한 도면이다.
도 3a 내지 도 3d는 본 발명의 실시 예에 따른 MRAM의 특성을 결정하는 MTJ 구조를 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명의 실시 예에 따른 운영체제 메모리의 구조를 설명하기 위한 도면이다.
도 6은 프로그램 데이터의 속성에 따른 리드/라이트 속성 및 메모리 차지 속성을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따라, SRAM 및 2개의 MRAM이 하나의 반도체 칩에 실장되는 반도체 장치의 블록도이다.
도 8은 본 발명의 실시 예에 따른 프로그램 동작을 수행하는 프로세스를 설명하기 위한 블록도이다.
도 9는 본 발명의 실시 예에 따라, 2개의 동종 메모리와 1개의 이종 메모리를 이용한 프로그램 동작을 설명하기 위한 블록도이다.
도 10은 도 9의 프로그램 동작을 설명하기 위한 순서도이다.
도 11는 본 발명의 실시 예에 따라 2개의 동종 메모리를 이용한 프로그램 동작을 설명하기 위한 블록도이다.
도 12는 도 11의 프로그램 동작을 설명하기 위한 순서도이다.
이하에서, 도 1 내지 도 12를 참조하여 본 발명의 기술적 사상의 몇몇 실시 예에 따른 반도체 장치를 설명한다.
도 1은 본 발명의 실시 예에 따른 2개의 MRAM을 포함하는 반도체 장치의 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 반도체 장치(1)는 제1 반도체 칩(10) 및 제2 반도체 칩(20)을 포함할 수 있다. 또한, 제1 반도체 칩(10)은 프로세서 코어(100) 및 제1 메모리(200)를 포함할 수 있고, 제2 반도체 칩(20)은 제2 메모리(310) 및 제3 메모리(320)를 포함할 수 있다.
실시 예에 따라, 프로세서 코어(100)는 하나 이상의 프로세서 코어로 구성될 수 있다. 프로세서 코어(100)는 데이터 및 신호를 처리할 수 있다. 반도체 장치(1)는 처리된 데이터 및 신호를 이용하여 고유의 기능을 수행할 수 있다. 실시 예에 따라, 프로세서 코어(100)는 어플리케이션 프로세서(Application Processor)일 수 있다.
실시 예에 따라, 제1 메모리(200)는 SRAM(Static Random Access Memory)일 수 있다. SRAM은 DRAM(Dynamic Random Access Memory)보다 빠른 속도로 작동할 수 있다. SRAM이 제1 반도체 칩(10)에 실장되면, 작은 크기를 갖고 빠른 속도로 작동하는 반도체 장치(1)가 얻어질 수 있다. 나아가, SRAM이 제1 반도체 칩(10)에 실장되면, 반도체 장치(1)의 작동 전력(Active Power)의 소모량이 감소할 수 있다. 다만, 본 발명의 실시 예에 따른 제1 메모리(200)가 SRAM으로 한정되는 것은 아니고, 다양한 종류의 랜덤 액세스 메모리로 구현될 수 있다.
실시 예에 따라, 제2 메모리(310) 및 제3 메모리(320)는 MRAM(Magneto-resistive Random Access Memory)일 수 있다. MRAM은 SRAM보다 높은 집적도(Density)를 갖고 낮은 전력 누설(Power Leakage) 특성을 갖는다. 따라서, MRAM이 반도체 장치(1)에 배치되면, SRAM보다 큰 용량을 갖는 메모리가 얻어질 수 있다. 나아가, MRAM이 반도체 장치(1)에 배치되면, 적은 전력을 소모하는 반도체 장치(1)가 얻어질 수 있다.
실시 예에 따라, 제1 데이터(DATA1), 제2 데이터(DATA21) 및 제3 데이터(DATA22)는 구동 데이터일 수 있다. 즉, 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)는 구동 데이터를 로딩(loading)할 수 있다. 구동 데이터는 하드웨어 및 소프트웨어를 구동하기 위해 이용되는 데이터이다. 실시 예에 따라, 구동 데이터는 운영 체제(Operating System)에 관한 데이터를 포함할 수 있다. 실시 예에 따라, 구동 데이터는 사전 로딩 어플리케이션(Preloaded Application)에 관한 데이터를 포함할 수 있다. 예를 들어, 사전 로딩 어플리케이션은 통신을 제어하기 위한 어플리케이션, 전력을 관리하기 위한 어플리케이션 등일 수 있다.
프로세서 코어(100)는 프로그램 동작에 이용되는 프로그램 데이터의 속성을 판단하고, 판단된 프로그램 데이터의 속성에 근거하여 프로그램 데이터가 저장될 메모리를 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320) 중 선택적으로 할당할 수 있다. 프로그램 데이터의 속성을 판단하고, 이에 기초하여 프로그램 데이터를 저장하고, 프로그램 데이터를 이용하여 프로그램 동작을 수행하는 과정은 도 4 내지 도 6을 참조하여 후술한다.
몇몇 실시 예에 따라, 반도체 장치(1)는 사용자 데이터를 저장하는 스토리지 영역(미도시)를 더 포함할 수 있다. 예를 들어, 사용자 데이터는 사용자에 의해 다운로드된 어플리케이션에 관한 데이터를 포함할 수 있다. 또는, 사용자 데이터는 사용자로부터 제공된 문서나 미디어에 관한 데이터를 포함할 수 있다. 다른 실시 예로서, 제1 메모리(200), 제2 메모리(310) 및/또는 제3 메모리(320)에서 사용자 데이터를 저장할 수 있다.
몇몇 실시 예에 따라, 제2 반도체 칩(20)에 포함되는 제2 메모리(310) 및 제3 메모리(320)는 각각 물리적으로 구분된 영역들일 수 있다. 이 경우, 제2 반도체 칩(20)에 포함되는 메모리 영역들 각각은 구분된 물리 영역 내에서 고유의 기능을 수행할 수 있다.
프로세서 코어(100), 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)는 다양한 인터페이스 규약에 기초하여 데이터를 전송할 수 있다. 예컨대, 프로세서 코어(100), 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI(Peripheral Component Interconnect) Express, ATA(Advanced Technology Attachment), PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI), IDE(Integrated Drive Electronics), UFS(Universal Flash Storage) 중 하나 이상의 인터페이스 규약에 기초하여 데이터를 전송할 수 있다.
도 2는 MRAM의 셀 구조를 입체적으로 간략히 도시한 도면이다. 도 2를 참조하면, 비휘발성 램의 메모리 셀로 스핀 전달 토크형 MRAM(Spin Transfer Torque Magneto resistive Random Access Memory: 이하, STT-MRAM)의 메모리 셀을 보여준다. 메모리 셀은 자기 터널 접합(Magnetic Tunnel Junction: 이하, MTJ)소자(302) 및 셀 트랜지스터(CT, 301)를 포함할 수 있다. 셀 트랜지스터(301)의 게이트에는 워드 라인(WL0)이 연결될 수 있다. 그리고 셀 트랜지스터(301)의 일단은 MTJ 소자(302)를 경유하여 비트 라인(BL0)과 연결된다. 또한, 셀 트랜지스터(301)의 타단은 소스 라인(SL0)에 연결된다.
MTJ 소자(302)는 고정층(Pinned layer, 303)과 자유층(Free layer, 307), 그리고 이들 사이에 위치하는 터널층(305)을 포함할 수 있다. 고정층(303)의 자화 방향은 고정되어 있으며, 자유층(307)의 자화 방향은 조건에 따라 고정층(303)의 자화 방향과 같거나 역방향이 될 수 있다. 고정층(303)의 자화 방향을 고정시켜 주기 위하여, 예컨대, 반강자성층(Anti-ferromagnetic layer, 미도시)이 더 구비될 수 있다.
MRAM(300)의 라이트(write) 동작을 하기 위해서는, 워드 라인(WL0)에 전압을 인가하여 셀 트랜지스터(301)를 턴-온시키고, 비트 라인(BL0)과 소스 라인(SL0) 사이에 쓰기 전류를 인가한다. MRAM(300)의 리드(read) 동작을 하기 위해서는, 워드 라인(WL0)에 턴-온 전압을 인가하여 셀 트랜지스터(301)를 턴-온시키고, 비트 라인(BL0)으로부터 소스 라인(SL0) 방향으로 읽기 전류를 인가하여, 측정되는 저항 값에 따라 MTJ 셀(302)에 저장된 데이터를 판별할 수 있다.
도 3a를 참조하면, 도 1의 제2 메모리(310)는 고정층(311), 제1 두께(d1)을 갖는 터널층(313) 및 제2 두께(d2)를 갖는 자유층(315)을 포함할 수 있다. 또한, 각각의 고정층(311), 터널층(313) 및 자유층(315)은 A 크기의 단면적을 갖는다. 실시 예에 따라, 제2 메모리(310)는 터널층(313)의 두께, 자유층(315)의 두께 및/또는 MTJ 구조의 단면적을 조절함으로써 NOR 플래시 특성을 갖는 MRAM으로 구성될 수 있다. 예를 들어, 제2 메모리(310)는 10년의 리텐션(retention) 및 106의 내구성(endurance)를 갖는 MRAM으로 구성될 수 있다. 이 때, 내구성은 MRAM 셀에 데이터가 라이트(write)되는 횟수를 의미할 수 있다.
도 3b를 참조하면, 도 1의 제3 메모리(320)는 고정층(321), 제1 두께(d1)을 갖는 터널층(323) 및 제2 두께(d2)를 갖는 자유층(325)을 포함할 수 있다. 또한, 고정층(321), 터널층(323) 및 자유층(325)의 단면적은 A+Δt1으로 형성될 수 있다. 즉, 제3 메모리(320)는 제2 메모리(310)보다 큰 단면적을 갖는 MTJ 셀을 포함할 수 있고, 단면적을 증가시킴으로써 내구성을 향상시킬 수 있다. 예를 들어, 제3 메모리(320)는 1012의 내구성을 갖는 MRAM으로 구성될 수 있다. 실시 예에 따라, 제3 메모리(320)는 리텐션 및 내구성의 측면에서 SRAM의 특성을 갖는 MRAM으로 구성될 수 있다.
도 3c를 참조하면, 제4 메모리(320_1)는 고정층(321_1), 제3 두께(d1+Δt2)을 갖는 터널층(323_1) 및 제2 두께(d2)를 갖는 자유층(325_1)을 포함하고, 고정층(321_1), 터널층(323_1) 및 자유층(325_1)의 단면적은 A로 형성된다. 즉, 제4 메모리(320_1)는 메모리2보다 큰 터널층(323_1)의 두께를 갖는 MTJ 셀을 포함할 수 있고, 터널층(323_1)의 두께를 Δt2만큼 증가시킴으로써 제2 메모리(310)보다 향상된 내구성을 갖는 MRAM으로 구현될 수 있다. 실시 예에 따라, 제4 메모리(320_1)는 리텐션 및 내구성의 측면에서 SRAM의 특성을 갖는 MRAM으로 구성될 수 있다. 실시 예에 따라, 도 1의 제3 메모리(320)는 제4 메모리(320_1)로 구현될 수 있다.
도 3d를 참조하면, 제5 메모리(320_2)는 고정층(321_1), 제1 두께(d1)를 갖는 터널층(323) 및 제4 두께(d2+Δt3)를 갖는 자유층(325_2)을 포함하고, 고정층(321_1), 터널층(323) 및 자유층(325_2)의 단면적은 A로 형성된다. 즉, 제5 메모리(320_2)는 제2 메모리(310)보다 큰 자유층(325_2)의 두께를 갖는 MTJ 셀을 포함할 수 있고, 자유층(325_2)의 두께를 Δt3만큼 증가시킴으로써 제2 메모리(310)보다 향상된 내구성을 갖는 MRAM으로 구현될 수 있다. 실시 예에 따라, 제5 메모리(320_2)는 리텐션 및 내구성의 측면에서 SRAM의 특성을 갖는 MRAM으로 구성될 수 있다. 실시 예에 따라, 도 1의 제3 메모리(320)는 제5 메모리(320_2)로 구현될 수 있다.
도 4 및 도 5는 본 발명의 실시 예에 따른 운영체제 메모리의 구조를 설명하기 위한 도면이다.
IoT 환경에서, 로우 엔드(low-end) 전자 기기의 운영체제 메모리(800)는 코드 영역(Code)(810), 데이터 영역(Data)(820), 힙 영역(Heap)(830) 및 스택 영역(Stack)(840)을 포함할 수 있다. 이와 같은 영역들은 복수의 저장소에 분산되어 분포할 수 있으며 단일 주소공간 체제에 따라 하나의 단일 저장소와 같이 취급되고 관리 운용될 수 있다.
도 4를 참조하면, 운영체제에 따라 실제 배치는 조금씩 다를 수 있지만, 이와 같은 각 영역에 대한 존재와 목적은 동일하게 적용된다. 단일주소공간 내에서 커널과 프로그램 실행 중의 모든 태스크는 개념적으로 전체 메모리에 대한 접근(access)이 가능하기 때문에 코드 영역(810), 데이터 영역(820), 힙 영역(830) 및 스택 영역(840)을 공유하는 구조로 이루어진다. 설명의 편의를 위해 하나의 메모리에 단일주소공간이 할당되는 것으로 도시하였으나, 이는 가상의 주소 공간일 수 있고, 물리적으로 이격된 메모리에 각각의 영역에 대응하는 주소가 할당될 수 있다.
도 5에 도시된 바와 같이, 단일 주소공간 체제에 따라 운용되는 메모리 영역은, 하위 어드레스(0x0000)부터 상위 어드레스(0xFFFF)에 이르기까지, 코드 영역(810), 데이터 영역(820), 힙 영역(830), 스택 영역(840)으로 구분될 수 있다. 이와 같은 메모리 구조는 하나의 예로서, 다른 형태로 구성될 수도 있다. 코드 영역(810)은, 프로그램 명령이 위치하고 기계어로 제어되는 영역이다. 데이터 영역(820)은 프로그램이 실행될 때 생성되고 프로그램이 종료되면 시스템에 반환되는 영역으로서, 전역변수(global), 정적변수(static), 배열(array), 구조체(structure) 등이 저장되는 영역이다. 힙 영역(830)은, 프로그램 로딩 시 메모리를 동적으로 할당되는 영역이다. 스택 영역(840)은 프로그램이 자동으로 사용하는 임시 메모리 영역이다. 구체적으로, 스택 영역(840)은 지역변수(local), 매개변수(parameter), 리턴 값 등 잠시 사용되었다가 사라지는 데이터를 저장하는 영역으로서, 함수 호출 시 생성되고 함수가 끝나면 시스템에 반환된다.
IoT 기반의 전자 장치에서 수행되는 어플리케이션이 다양해지고, 음성 인식, 영상 인식 등의 부가 기능이 증가함에 따라, 전자 장치에서 요구되는 메모리가 계속해서 증가하는 추세이다. IoT 기반의 전자 장치에 구비되어 활용되는 MCU(microcontroller unit)는 캐시(cache)를 구비하지 않고 내장 메모리(embedded memory)를 SRAM으로 구현하는 추세이다. 다만, 상술한 이유 등으로 MCU에 요구되는 메모리의 용량이 증가하고, 메모리의 용량이 증가하면 MCU의 대부분의 공간이 내장 메모리(예를 들어, SRAM)으로 채워지는 문제가 발생한다. 요구되는 메모리 용량을 충족시키기 위해서는 MCU의 칩 크기가 증가하여야 하고, 이 경우 MCU의 비용이 증가하고, 소형화가 저해된다는 문제가 발생한다. 따라서, 메모리 용량의 증가 요구를 충족시킴과 동시에 증가하는 MCU 크기 및 소비되는 전력의 증가도 최소화 할 수 있는 반도체 장치(또는 반도체 칩)의 구조가 요구된다.
도 1 및 도 5를 참조하면, 몇몇 실시 예에 따라 프로세서 코어(100)는, 데이터가 저장될 영역에 대한 가상 어드레스(0x0000 내지 0xFFFF)를 할당하고, 프로그램 데이터에 할당되는 가상 어드레스 범위에 기초하여 프로그램 데이터의 속성을 판단하고, 프로그램 데이터의 속성에 근거하여 프로그램 데이터가 저장될 메모리를 결정할 수 있다. 구체적으로, 코드 영역(810), 데이터 영역(820), 힙 영역(830) 및 스택 영역(840) 각각에 대한 어드레스 범위를 설정하고, 프로그램 데이터가 저장될 특정 어드레스에 대응하는 어드레스 범위에 기초하여 프로그램 데이터가 저장될 메모리를 결정할 수 있다. 실시 예에 따라, 코드 영역(810) 또는 데이터 영역(820)에 할당된 어드레스 범위에 해당하는 프로그램 데이터는 제2 메모리(310)에 저장하고, 스택 영역(840)에 할당된 어드레스 범위에 해당하는 프로그램 데이터는 제1 메모리(200)에 저장하고, 힙 영역(830)에 할당된 어드레스 범위에 해당하는 프로그램 데이터는 제3 메모리(320)에 저장할 수 있다.
어드레스 범위에 기초하여 프로그램 데이터가 저장될 메모리를 결정하는 경우, 각각의 어드레스 범위에 저장될 데이터의 속성에 적합한 동작 특성을 갖는 메모리에 데이터를 저장함으로써 데이터의 효율적인 입출력 동작을 수행할 수 있고, 이에 따라 전력 소비를 감소시킬 수 있다. 각각의 영역에 저장된 데이터의 입출력 특성을 아래 도 6을 참조하여 설명한다.
도 6은 프로그램 데이터의 속성에 따른 리드/라이트 속성 및 메모리 점유 속성을 설명하기 위한 도면이다. 도 1 및 도 6을 참조하여, 본 발명의 실시 예에 따라 프로그램 데이터의 속성에 기초하여 프로그램 데이터가 저장될 메모리를 결정하는 동작을 설명한다.
OS, 어플리케이션 등의 프로그램 구동에 필요한 프로그램 데이터 중 코드 영역에 저장되는 데이터는 RO(Read Only)의 동작 타입을 가지고, 힙 영역에 저장되는 데이터는 RI(Read Intensive)의 동작 타입을 가지고, 스택 영역에 저장되는 데이터는 WI(Write Intensive)을 동작 타입을 가진다. 즉, 프로그램 명령이 저장되는 코드 영역은 프로그램의 최초 생성 시에 저장되어 이후 프로그램 동작의 실행 시에 리드됨으로써 프로그램을 구동시키는 바 RO의 동작 타입을 갖고, 프로그램 로딩 시 동적으로 할당되는 힙 영역은 리드(read) 동작이 빈번하게 일어나는 바 RI의 동작 타입을 갖고, 지역변수 등이 잠시 사용되었다가 사라지는 데이터를 저장하는 코드 영역은 라이트(write) 동작이 빈번하게 일어나는 WI의 동작 타입을 갖는다. 또한, 각각의 영역이 메모리를 차지하는 비율은 스택 영역을 기준으로 코드 영역은 스택 영역의 15배, 힙 영역은 스택 영역의 20배의 용량을 차지한다. 코드 영역, 힙 영역 및 스택 영역에 저장되는 데이터가 증가할 때, IoT 장치의 동일한 메모리(예를 들어, SRAM)에 모든 프로그램 데이터를 저장할 경우 메모리의 크기가 커지고, 결과적으로 MCU의 크기가 증가하는 문제점이 발생한다.
본 발명의 몇몇 실시 예에 따라, 프로세서 코어(100)는 프로그램 데이터의 속성을 RW(Read/Write) 데이터 및 RO(Read Only) 데이터 중 어느 하나로 판단할 수 있고, 판단된 프로그램 데이터의 속성에 기초하여 프로그램 데이터가 저장될 데이터를 결정할 수 있다. 이 때, RW 데이터는 리드 동작의 비율이 높은 데이터의 RI(Read Intensive) 데이터 및 라이트 동작의 비율이 높은 WI(Write Intensive) 데이터를 포함할 수 있다. 구체적으로, RW 데이터라고 판단되는 프로그램 데이터를 제1 메모리(200)에 저장하고, RO 데이터라고 판단되는 프로그램 데이터를 제2 메모리(310) 또는 제3 메모리(320)에 선택적으로 저장할 수 있다. 즉, 동작 속도가 상대적으로 빠른 SRAM으로 구성되는 제1 메모리(200)에 리드 동작 및 라이트 동작이 빈번하게 일어나는 RW 데이터를 저장하고, RO 데이터를 MRAM으로 구성되는 제2 메모리(310) 또는 제3 메모리(320)에 저장함으로써 메모리를 효율적으로 사용할 수 있다. 실시 예에 따라, RO로 판단되는 데이터를 NOR 플래시 특성을 갖는 제2 메모리(310)에 저장할 수 있고, 이에 따라 SRAM에 저장되는 RO 데이터의 비중을 감소시킴으로써 SRAM 크기의 증가를 방지할 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는 프로그램 데이터의 속성을 WI 데이터, RO 데이터 및 RI 데이터 중 어느 하나로 판단할 수 있고, 판단된 프로그램 데이터의 속성에 기초하여 프로그램 데이터가 저장될 메모리를 결정할 수 있다. 구체적으로, WI 데이터라고 판단되는 프로그램 데이터를 제1 메모리(200)에 저장하고, RO 데이터라고 판단되는 프로그램 데이터를 제2 메모리(310)에 저장하고, RI 데이터라고 판단되는 프로그램 데이터를 제3 메모리(320)에 저장할 수 있다. 즉, 동작 속도가 빠른 SRAM으로 구성되는 제1 메모리(200)에 라이트 동작이 빈번하게 일어나고, 메모리를 차지하는 비율은 낮은 WI 데이터를 저장하고, NOR 플래시 특성을 갖는 MRAM인 제2 메모리(310)에 RO 데이터를 저장함으로써 SRAM의 크기 증가를 방지하고, SRAM 특성을 갖는 MRAM인 제3 메모리(320)에 RI 데이터를 저장함으로써 라이트 동작을 신속하게 처리하고, SRAM의 크기 증가를 방지할 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는 프로그램 데이터의 속성을 스택 데이터, 코드 데이터 및 힙 데이터 중 어느 하나로 판단할 수 있고, 판단된 프로그램 데이터의 속성에 기초하여 프로그램 데이터가 저장될 데이터를 결정할 수 있다. 이 때, 스택 데이터, 코드 데이터 및 힙 데이터는 각각 도 5의 스택 영역(840), 코드 영역(810) 및 힙 영역(810)에 저장될 데이터를 의미할 수 있다. 실시 예에 따라, 코드 데이터는 도 5의 데이터 영역(820)에 저장될 데이터를 포함할 수 있다. 실시 예에 따라, 프로세서 코어(100)는, 프로그램 데이터가 스택 데이터라고 판단되는 경우 프로그램 데이터를 제1 메모리(200)에 저장하고, 프로그램 데이터가 코드 데이터라고 판단되는 경우 프로그램 데이터를 제2 메모리(310)에 저장하고, 프로그램 데이터가 힙 데이터라고 판단되는 경우 프로그램 데이터를 제3 메모리(320)에 저장하도록 제어할 수 있다.
IOT 장치에서 구현되는 어플리케이션 등의 프로그램 동작에서, 코드 영역은 RO 동작 특성을 갖고 메모리 영역에서 차지하는 비중이 약 42%에 달하는 바 NOR 플래시 특성을 갖는 MRAM(도 1의 제2 메모리(310))으로 대체하여 MCU의 크기 및 전력 소비를 감소시키고, 컴파일 단계에서 OS에 의해 메모리 영역이 할당되는 스택 영역은, 라이트 동작이 빈번하게 발생하고 요구하는 메모리 공간이 전체 메모리 공간의 3% 수준으로 기존의 SRAM을 사용하여도 SRAM 크기 증가에 미치는 영향이 작으므로 프로세서 코어(100)가 실자오디는 반도체 칩 내의 SRAM(도 1의 제1 메모리(200))에 저장하고, 사용자(또는 프로그래머)에 의하여 동적으로 할당 되는 힙 영역은 라이트 동작이 많지 않고 메모리 영역에서 차지하는 비중이 약55%로 높은 바, 힙 영역에 저장될 프로그램 데이터를 MRAM(도 1의 제3 메모리(320))에 저장함으로써 MCU의 소형화와 전력 세이브 효과를 기대할 수 있다.
도 7은 본 발명의 실시 예에 따라, SRAM 및 2개의 MRAM이 하나의 반도체 칩에 실장되는 반도체 장치의 블록도이다.
도 7을 참조하면, 본 발명의 실시 예에 따른 반도체 장치(2)는, 제1 반도체 칩(10) 상에 실장되고 프로그램 데이터를 처리하는 프로세서 코어(100), 각각이 제1 반도체 칩(10) 상에 실장되는 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)를 포함할 수 있다. 도 7의 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)은 각각 도 1의 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)과 동일하게 구성될 수 있다. 또한, 도 1 내지 도 6을 참조하여 설명한 반도체 장치(1)의 동작은 도 7의 반도체 장치(2)에도 동일하게 적용될 수 있다.
실시 예에 따라, 제2 메모리(310) 및 제3 메모리(320)는 MRAM(Magneto-resistive Random Access Memory)일 수 있다. MRAM은 SRAM보다 높은 집적도(Density)를 갖고 낮은 전력 누설(Power Leakage) 특성을 갖는다. 따라서, MRAM이 제1 반도체 칩(10)에 실장되면, 큰 용량을 갖는 내장 메모리가 얻어질 수 있고, SRAM만으로 내장 메모리로 구성하는 경우보다 적은 사이즈로 동일한 용량의 저장 공간을 얻을 수 있다. 나아가, MRAM이 제1 반도체 칩(10)에 실장되면, 적은 전력을 소모하는 반도체 장치(2)가 얻어질 수 있다.
제2 메모리(310)가 프로세서 코어(100)와 함께 다이를 공유하면(즉, 구동 메모리 중 일부가 제1 반도체 칩(10)에 실장되면), 프로세서 코어(100)와 제2 메모리(310) 사이에서 제2 데이터(DATA21)를 전송하기 위한 입출력 채널(Input/Output Channel)의 길이가 짧아질 수 있고, 제2 데이터(DATA21)의 입출력을 제어하기 위한 입출력 로직 및 드라이버가 제거될 수 있다. 따라서, 제2 데이터(DATA21)의 전송에 소모되는 전력의 양이 감소할 수 있다. 나아가, 제2 데이터(DATA21)의 전송에 소요되는 시간이 줄어들 수 있고, 이로써 반도체 장치(2)에 의해 소모되는 에너지의 총량이 감소할 수 있다.
마찬가지로, 제3 메모리(320)가 프로세서 코어(100)와 함께 다이를 공유하면, 프로세서 코어(100)와 제3 메모리(320) 사이에서 제3 데이터(DATA22)를 전송하기 위한 입출력 채널의 길이가 짧아질 수 있고, 제3 데이터(DATA22)의 입출력을 제어하기 위한 입출력 로직 및 드라이버가 제거될 수 있다. 따라서, 제3 데이터(DATA22)의 전송에 소모되는 전력의 양이 감소할 수 있다. 나아가, 제3 데이터(DATA22)의 전송에 소요되는 시간이 줄어들 수 있고, 이로써 반도체 장치(2)에 의해 소모되는 에너지의 총량이 감소할 수 있다.
또한, 구동 데이터를 저장하는 제2 메모리(310) 및 제3 메모리(320)가 프로세서 코어(100)와 함께 다이를 공유하면, 반도체 장치(2)의 크기가 작아질 수 있고, 반도체 장치(2)에 의해 소모되는 전력의 양이 감소할 수 있다. 특히, 반도체 장치(2)가 IoT 동작이 적용되는 장치(예를 들어, 디스플레이, 음성 인식 모듈 등이 장착된 스마트 냉장고 등)인 경우, 작은 크기를 갖고 오랜 시간 동안 이용될 수 있는 IoT 장치는 사용자의 만족도를 향상시킬 수 있다.
도 8은 본 발명의 실시 예에 따른 프로그램 처리 동작을 수행하는 프로세스를 설명하기 위한 블록도이다.
도 8을 참조하면, 본 발명의 실시 예에 따른 반도체 장치(3)는 프로세서 코어(100), 제1 메모리(200), 제2 메모리(310), 제3 메모리(320), 메모리 할당부(400), DSP(500)(digital signal processor), 코덱(600) 및 인터페이스 모듈(700)을 포함할 수 있다. 프로세서 코어(100), 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)은 도 7과 동일하게 구성될 수 있고, 도 1 및 도 6을 참조하여 설명한 반도체 장치(1)의 프로그램 데이터 처리 동작 역시 반도체 장치(3)에 동일하게 적용될 수 있다.
메모리 할당부(400)는, 프로세서 코어(100)의 제어에 따라 프로그램 데이터가 저장될 메모리를 할당할 수 있다. 예를 들어, 프로세서 코어(100)에 의해 3개의 프로그램 데이터의 속성이 각각 스택 데이터(예를 들어, 제1 데이터(DATA1)), 코드 데이터(예를 들어, 제2 데이터(DATA21)) 및 힙 데이터(예를 들어, 제3 데이터(DATA22))로 판단되는 경우, 메모리 할당부(400)는 각각의 프로그램 데이터가 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)에 저장되도록 메모리를 할당할 수 있다.
DSP(500)는 외부의 마이크(미도시) 또는 디스플레이(미도시)와 프로세서 코어(100)를 전기적으로 연결될 수 있다. 실시 예에 따라, 외부로부터 입력되는 오디오 신호 중 음성 신호를 획득할 수 있고, 획득한 신호에 대한 디지털 신호 처리 동작을 수행할 수 있다. 실시 예에 따라, 프로세서 코어(100)는 DSP(500)에 의해 처리된 신호 및 프로그램 데이터를 이용하여 프로그램 동작을 수행할 수 있다.
코덱(600)은, 외부로부터 입력되는 영상 데이터 또는 음성 데이터를 인코딩(encoding/coding) 또는 디코딩(decoding)할 수 있다.
인터페이스 모듈(700)은, 예를 들면, 반도체 장치(3)와 외부 장치(미도시) 또는 서버(미도시) 간의 통신을 설정할 수 있다. 예를 들면, 인터페이스 모듈(700)은 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치 또는 서버와 통신할 수 있다.
도 9는 본 발명의 실시 예에 따라, 2개의 동종 메모리와 1개의 이종 메모리를 이용한 프로그램 동작을 설명하기 위한 블록도이고, 도 10은 도 9의 프로그램 동작을 설명하기 위한 순서도이다.
도 9를 참조하면, 본 발명의 실시 예에 따른 반도체 장치(4)는, 제1 반도체 칩(10) 상에 실장되고 프로그램 동작을 수행하는 프로세서 코어(100), 제1 반도체 칩(10) 상에 실장되고 프로그램 동작에 이용되는 데이터(DATA2)를 저장하는 제1 메모리(200), 제1 반도체 칩(10) 상에 실장되고, 제1 메모리(200)에 포함되는 메모리 셀과 이종의 메모리 셀을 갖는 제2 메모리(310) 및 제1 반도체 칩(10) 상에 실장되고, 제2 메모리(310)에 포함되는 메모리 셀과 동종의 메모리 셀을 갖는 제3 메모리(320)를 포함할 수 있다. 실시 예에 따라, 프로세서 코어(100), 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)은 각각 도 1의 프로세서 코어(100), 제1 메모리(200), 제2 메모리(310) 및 제3 메모리(320)과 동일하게 구성될 수 있으나, 이에 한정되지는 않고 다른 종류의 프로세서 코어 및/또는 다른 종류의 메모리로 구성될 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는, 프로그램 동작에 이용되는 데이터에 할당되는 가상 어드레스 영역의 범위에 기초하여 데이터가 저장될 메모리를 선택적으로 결정할 수 있다. 예를 들어, 제1 어드레스 범위에 포함되는 어드레스에 대응하는 데이터(DATA2)를 제1 메모리(200)에 저장하고, 제2 어드레스 범위에 포함되는 어드레스에 대응하는 제1 데이터(DATA1)를 제2 메모리(310)에 저장하고, 제3 어드레스 범위에 포함되는 어드레스에 대응하는 제4 데이터(DATA3)를 제3 메모리(320)에 저장하도록 결정할 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는, 프로그램 동작에 이용되는 데이터 중 먼저 생성되는 데이터의 순서대로 제1 어드레스 범위, 제2 어드레스 범위 및 제3 어드레스 범위를 할당하고, 제2 어드레스 범위에 포함되는 데이터를 제1 메모리(200)에 저장하고, 제1 어드레스 범위 및 제3 어드레스 범위에 포함되는 데이터를 제2 메모리(310) 또는 제3 메모리(320)에 선택적으로 저장할 수 있다. 예를 들어, 제1 데이터(DATA1)가 먼저 생성되고, 제1 데이터(DATA1)에 기초하여 데이터(DATA2) 및 제4 데이터(DATA3)가 생성되는 경우, 제1 데이터(DATA1)을 제2 메모리(310)에 저장하고, 데이터(DATA2)를 제1 메모리(200)에 저장하고, 제4 데이터(DATA3)을 제3 메모리(320)에 저장할 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는, 프로그램 동작의 코드를 저장하는 제1 어드레스 범위, 프로그램 동작 내에서 정의된 지역 변수를 저장하는 제2 어드레스 범위 및 프로그램 동작 내의 동적 변수를 위해 동적 할당되는 제3 어드레스 범위를 할당할 수 있다. 이 때, 제1 어드레스 범위에 포함되는 데이터(예를 들어, 제1 데이터(DATA1))를 제2 메모리(310)에 저장하고, 제1 데이터(DATA1)에 기초하여 제2 어드레스 범위에 포함되는 데이터(예를 들어, 데이터(DATA2)) 및 제3 어드레스 범위에 포함되는 데이터(예를 들어, 제4 데이터(DATA3))를 생성할 수 있다. 프로세서 코어(100)는, 생성된 데이터(DATA2)를 제1 메모리(200)에 저장하고, 생성된 제4 데이터(DATA3)를 제3 메모리(320)에 저장하고, 제1 데이터(DATA1), 데이터(DATA2) 및 제4 데이터(DATA3)를 이용하여 프로그램 동작을 수행할 수 있다.
이하에서 도 9 및 도 10을 참조하여 2개의 동종 메모리 및 1개의 이종 메모리를 이용하여 프로그램 동작을 수행하는 과정을 설명한다. 상술한 바와 같이, 제2 메모리(310) 및 제3 메모리(320)은 동종의 메모리로 구성되고, 제1 메모리(200)은 제2 메모리(310), 제3 메모리(320)과 다른 메모리로 구성된다고 가정한다.
S1000 단계에서, 프로세서 코어(100)는 제2 메모리(310)로 제1 데이터(DATA1)에 대한 리드 커맨드(CMD_READ(DATA1))를 전송할 수 있다. 실시 예에 따라, 제1 데이터(DATA1)는 프로그램 동작 구현에 이용되는 코드 데이터이고, 최초 프로그램 생성 시에 생성되고, 제2 메모리(310)에 저장되었다고 가정한다. S1100 단계에서, 프로세서 코어(100)는 제2 메모리(310)로부터 제1 데이터(DATA1)를 리드할 수 있다.
S2000 단계에서 프로세서 코어(100)는 제2 메모리(310)로부터 수신한 제1 데이터(DATA1)에 기초하여 데이터(DATA2)를 생성할 수 있다. 실시 예에 따라, 데이터(DATA2)는 지역 변수에 대한 스택 데이터일 수 있고, 코드 데이터인 제1 데이터(DATA1)에 기초하여 생성될 수 있다. S2100 단계에서 프로세서 코어(100)는 제1 메모리(200)로 데이터(DATA2)에 대한 라이트 커맨드(CMD_WRITE(DATA2))를 전송하고, S2200 단계에서, 제1 메모리(200)에 데이터(DATA2)가 저장된다. 즉, 프로그램 동작에 필요한 코드 데이터(예를 들어, 제1 데이터(DATA1)) 및 스택 데이터(예를 들어, 데이터(DATA2))를 서로 다른 메모리에 저장할 수 있다.
S3000 단계에서 프로세서 코어(100)는 제1 데이터(DATA1)에 기초하여 제4 데이터(DATA3)을 생성할 수 있다. 실시 예에 따라, 제4 데이터(DATA3)은 코드 데이터의 로딩 후 동적으로 할당되는 데이터일 수 있다. 또한, 다른 예로서 프로세서 코어(100)는 제1 데이터(DATA1) 및 데이터(DATA2) 중 적어도 하나에 기초하여 제4 데이터(DATA3)을 생성할 수 있다. S3100 단계에서 프로세서 코어(100)는 제3 메모리(320)으로 제4 데이터(DATA3)에 대한 라이트 커맨드(CMD_WRITE(DATA3))를 전송하고, S3200 단계에서, 제3 메모리(320)에 데이터(DATA2)가 저장된다. 즉, 본 발명의 실시 예에 따른 반도체 장치(4)는, 프로그램 동작에 필요한 코드 데이터(예를 들어, 제1 데이터(DATA1)), 스택 데이터(예를 들어, 데이터(DATA2)) 및 힙 데이터(예를 들어, 제4 데이터(DATA3))을 각각 서로 다른 메모리에 저장할 수 있다. 구체적으로, 코드 데이터 및 힙 데이터를 동종의 서로 다른 메모리에 각각 저장할 수 있고, 스택 데이터를 코드 데이터 및 힙 데이터가 저장되는 메모리와 다른 구조를 갖는 메모리에 저장할 수 있다.
S4000 단계에서, 프로세서 코어(100)는 제2 메모리(310)에 저장된 제1 데이터(DATA1), 제1 메모리(200)에 저장된 데이터(DATA2) 및 제3 메모리(320)에 저장된 제4 데이터(DATA3)을 이용하여 프로그램 동작을 수행할 수 있다.
도 11은 본 발명의 실시 예에 따라 2개의 동종 메모리를 이용한 프로그램 동작을 설명하기 위한 블록도이고, 도 12는 도 11의 프로그램 동작을 설명하기 위한 순서도이다.
도 11을 참조하면, 본 발명의 실시 예에 따른 반도체 장치(5)는, 프로그램 데이터를 처리하는 프로세서 코어(100), 프로그램 데이터를 저장하는 제2 메모리(310) 및 제3 메모리(320)을 포함할 수 있고, 제2 메모리(310) 및 제3 메모리(320)은 동종의 메모리로 구성될 수 있다. 실시 예에 따라, 프로세서 코어(100), 제2 메모리(310) 및 제3 메모리(320)은 동일한 반도체 칩(예를 들어, 반도체 칩(10))에 실장될 수 있다.
실시 예에 따라, 제2 메모리(310) 및 제3 메모리(320)은 MRAM으로 구성될 수 있고, 이 때 제2 메모리(310)는 제1 MTJ 구조체를 갖고, 제3 메모리(320)은 제2 MTJ 구조체를 가질 수 있다. 실시 예에 따라, 제1 MTJ 구조체 및 제2 MTJ 구조체의 높이는 서로 다를 수 있다. 이 때, MTJ 구조체의 높이는 각각의 MTJ 구조체에 포함되는 고정층, 터널층 및 자유층의 수직 방향 길이의 합일 수 있다. 예시적으로, 도 2에 도시된 MTJ 구조체(302)의 고정층(303), 터널층(305) 및 자유층(307)이 적층된 방향으로의 두께를 의미할 수 있다.
실시 예에 따라, 제2 메모리(310)은 도 3a의 제2 메모리(310)일 수 있고, 제3 메모리(320)는 도 3c의 제4 메모리(320_1) 및 도 3d의 제5 메모리(320_2) 중 어느 하나일 수 있다. 즉, 제2 메모리(310)의 제1 MTJ 구조체의 높이보다 제3 메모리(320)의 제2 MTJ 구조체의 높이가 높을 수 있다. 예를 들어, 제2 MTJ 구조체의 자유층의 두께가 제1 MTJ 구조체의 자유층의 두께보다 크게 형성됨으로 인해 제3 메모리(320)의 높이가 제2 메모리(310)보다 높게 형성될 수 있다. 다른 예로써, 제2 MTJ 구조체의 터널층의 두께가 제1 MTJ 구조체의 터널층의 두께보다 크게 형성됨으로 인해 제3 메모리(320)의 높이가 제2 메모리(310)보다 높게 형성될 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는, 데이터가 생성된 순서에 기초하여 데이터가 저장될 메모리를 결정할 수 있다. 예를 들어, 프로세서 코어(100)는 프로그램 생성 시에 생성되어 제2 메모리(310)에 저장된 제5 데이터(DATA4)를 리드하고, 제5 데이터(DATA4)에 기초하여 제6 데이터(DATA5)를 생성하고, 제6 데이터(DATA5)를 제3 메모리(320)에 저장하고, 제5 데이터(DATA4) 및 제5 데이터(DATA4)에 이용하여 프로그램 동작을 수행할 수 있다. 즉, 먼저 생성된 제5 데이터(DATA4)를 제2 메모리(310)에 저장하고, 나중에 생성된(또는, 먼저 생성된 데이터에 기초한 연산에 의해 생성된) 제6 데이터(DATA5)를 제3 메모리(320)에 저장할 수 있다.
몇몇 실시 예에 따라, 프로세서 코어(100)는 프로그램 동작이 수행되는 동안에 제6 데이터(DATA5)를 생성하고, 프로그램 동작이 수행이 종료된 후 제6 데이터(DATA5)를 제3 메모리(320)에서 삭제할 수 있다. 즉, 제5 데이터는 프로그램의 수행 시에 생성되고, 프로그램의 수행이 종료된 후 삭제되는 데이터일 수 있다.
이하에서 도 11 및 도 12 참조하여 2개의 동종 메모리를 이용하여 프로그램 동작을 수행하는 과정을 설명한다. 상술한 바와 같이, 제2 메모리(310) 및 제3 메모리(320)은 동종의 메모리로 구성되고, 서로 다른 높이를 갖는 MTJ 구조체를 포함한다고 가정한다.
S5000 단계에서, 프로세서 코어(100)는 제2 메모리(310)로 제5 데이터(DATA4)에 대한 리드 커맨드(CMD_READ(DATA4))를 전송할 수 있다. 실시 예에 따라, 제5 데이터(DATA4)는 최초 프로그램 생성 시에 생성되는 데이터이고, 제2 메모리(310)에 저장되었다고 가정한다. S5100 단계에서, 프로세서 코어(100)는 제2 메모리(310)로부터 제5 데이터(DATA4)를 리드할 수 있다.
S6000 단계에서, 프로세서 코어(100)는 제2 메모리(310)로부터 수신한 제5 데이터(DATA4)에 기초하여 제6 데이터(DATA5)를 생성할 수 있다. S6100 단계에서, 프로세서 코어(100)는 제3 메모리(320)으로 제6 데이터(DATA5)에 대한 라이트 커맨드(CMD_WRITE(DATA5))를 전송하고, S3200 단계에서, 제3 메모리(320)에 제6 데이터(DATA5)가 저장된다. 즉, 프로세서 코어(100)는 데이터의 속성에 근거하여 서로 다른 높이를 갖는 동종의 메모리들(예를 들어, 제2 메모리(310) 및 제3 메모리(320))에 저장되는 데이터를 결정할 수 있다. 실시 예에 따라, 데이터의 속성은 데이터가 생성되는 선후에 기초하여 결정될 수 있다. 다른 실시 예에 따라, 데이터의 속성은 데이터의 종류(예를 들어, 코드 데이터, 스택 데이터, 힙 데이터)에 기초하여 결정될 수 있다. 다른 실시 예에 따라, 데이터의 속성은 데이터에 할당되는 가상 어드레스가 포함되는 가상 어드레스 범위에 기초하여 결정될 수 있다.
S7000 단계에서, 프로세서 코어(100)는 제5 데이터(DATA4) 및 제6 데이터(DATA5)를 이용하여 프로그램 동작을 수행할 수 있다. 즉, 프로세서 코어(100)는 서로 다른 높이를 같는 동종의 메모리들(제2 메모리(310) 및 제3 메모리(320))에 각각 저장된 데이터를 이용하여 프로그램 동작을 수행할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였으나, 본 발명은 상기 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1, 2, 3, 4, 5: 반도체 장치 10: 제1 반도체 칩
20: 제2 반도체 칩 100: 프로세서 코어
200: 제1 메모리 310: 제2 메모리
320: 제3 메모리 400: 메모리 할당부
500: DSP 600: 코덱
700: 인터페이스 모듈

Claims (10)

  1. 프로그램 데이터를 처리하는 프로세서 코어;
    상기 프로세서 코어와 동일한 반도체 칩 상에 실장되는 제1 메모리;
    제1 MTJ(Magnetic Tunnel Junction) 구조를 갖는 MRAM 셀을 포함하는 제2 메모리; 및
    상기 제2 MTJ 구조와 상이한 MTJ 구조를 갖는 MRAM 셀을 포함하는 제3 메모리를 포함하되,
    상기 프로세서 코어는, 상기 프로그램 데이터의 속성에 기초하여 상기 프로그램 데이터를 상기 제1 메모리, 상기 제2 메모리 및 상기 제3 메모리 중 어느 하나에 선택적으로 저장하는, 반도체 장치.
  2. 제1항에 있어서,
    상기 제1 MTJ 구조 및 상기 제2 MTJ 구조 각각은 고정층(pinned layer), 터널층(tunnel layer) 및 자유층(free layer)을 포함하되,
    상기 제1 MTJ 구조 및 상기 제2 MTJ 구조는 단면적, 터널층의 두께 및 자유층의 두께 중 적어도 하나가 상이하게 형성되는, 반도체 장치.
  3. 제2항에 있어서,
    상기 제2 MTJ 구조는 단면적, 터널층의 두께 및 자유층의 두께 중 적어도 하나가 상기 제1 MTJ 구조보다 크게 형성되고,
    상기 프로세서 코어는, 상기 프로그램 데이터가 WI(Write Intensive) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제1 메모리에 저장하고, 상기 프로그램 데이터가 RO(Read Only) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제2 메모리에 저장하고, 상기 프로그램 데이터가 RI(Read Intensive) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제3 메모리에 저장하는, 반도체 장치.
  4. 제2항에 있어서,
    상기 제2 MTJ 구조는 단면적, 터널층의 두께 및 자유층의 두께 중 적어도 하나가 상기 제1 MTJ 구조보다 크게 형성되고,
    상기 프로세서 코어는, 상기 프로그램 데이터가 스택(Stack) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제1 메모리에 저장하고, 상기 프로그램 데이터가 코드(Code) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제2 메모리에 저장하고, 상기 프로그램 데이터가 힙(Heap) 데이터로 판단되는 경우 상기 프로그램 데이터를 상기 제3 메모리에 저장하는, 반도체 장치.
  5. 제2항에 있어서,
    상기 제2 MTJ 구조는 단면적, 터널층의 두께 및 자유층의 두께 중 적어도 하나가 상기 제1 MTJ 구조보다 크게 형성되고,
    상기 프로세서 코어는,
    하나의 프로그램 동작을 수행하는 동안 요구되는 복수의 프로그램 데이터 중 메모리에 저장되는 순서에 기초하여 상기 프로그램 데이터의 속성을 판단하고,
    메모리에 저장되는 순서에 따라 상기 프로그램 데이터를 상기 제2 메모리, 상기 제1 메모리 및 상기 제3 메모리에 순차적으로 저장하는, 반도체 장치.
  6. 제1항에 있어서,
    상기 제2 메모리 및 상기 제3 메모리는, 상기 제1 메모리와 동일한 반도체 칩 상에 실장되는 반도체 장치.
  7. 프로그램 데이터를 처리하는 프로세서 코어;
    제1 MTJ 구조체를 포함하는 제1 메모리; 및
    상기 제1 MTJ 구조체와 다른 높이를 갖는 제2 MTJ구조체를 포함하는 제2 메모리를 포함하되,
    상기 프로세서 코어는,
    상기 제1 메모리에 저장된 제1 데이터를 리드하고,
    상기 제1 데이터에 기초하여 제2 데이터를 생성하고,
    상기 제2 데이터를 상기 제2 메모리에 저장하고,
    상기 제1 데이터 및 상기 제2 데이터에 이용하여 상기 프로그램 동작을 수행하는 반도체 장치.
  8. 제7항에 있어서,
    상기 프로세서 코어에 의해 처리되는 제3 데이터를 저장하는 SRAM을 더 포함하고,
    상기 프로세서 코어는, 상기 제1 데이터에 기초하여 상기 제3 데이터를 생성하고, 상기 제3 데이터를 상기 SRAM에 저장하고, 상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 이용하여 상기 프로그램 동작을 수행하는 반도체 장치.
  9. 제1 반도체 칩 상에 실장되고, 프로그램 동작을 수행하는 프로세서 코어;
    상기 제1 반도체 칩 상에 실장되고, 상기 프로그램 동작에 이용되는 데이터를 저장하는 제1 메모리;
    상기 제1 반도체 칩 상에 실장되고, 상기 제1 메모리에 포함되는 메모리 셀과 이종의 메모리 셀을 갖는 제2 메모리; 및
    상기 제1 반도체 칩 상에 실장되고, 상기 제2 메모리에 포함되는 메모리 셀과 동종의 메모리 셀을 갖는 제3 메모리를 포함하되,
    상기 프로세서 코어는, 상기 프로그램 동작에 이용되는 데이터에 할당되는 가상 어드레스 영역의 범위에 기초하여 데이터가 저장될 메모리를 선택적으로 결정하는 반도체 장치.
  10. 제9항에 있어서,
    상기 프로세서 코어는,
    상기 프로그램 동작의 코드를 저장하는 제1 어드레스 범위, 상기 프로그램 동작 내에서 정의된 지역 변수를 저장하는 제2 어드레스 범위 및 상기 프로그램 동작 내의 동적 변수를 위해 동적 할당되는 제3 어드레스 범위를 할당하고,
    상기 제1 어드레스 범위에 포함되는 제1 데이터를 상기 제2 메모리에 저장하고,
    상기 제1 데이터에 기초하여, 상기 제2 어드레스 범위에 포함되는 제2 데이터 및 상기 제3 어드레스 범위에 포함되는 제3 데이터를 생성하고,
    상기 제2 데이터를 상기 제1 메모리에 저장하고,
    상기 제3 데이터를 상기 제3 메모리에 저장하고,
    상기 제1 데이터, 상기 제2 데이터 및 상기 제3 데이터를 이용하여 상기 프로그램 동작을 수행하는 반도체 장치.
KR1020180124880A 2018-10-19 2018-10-19 반도체 장치 KR20200044312A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180124880A KR20200044312A (ko) 2018-10-19 2018-10-19 반도체 장치
US16/439,924 US10878873B2 (en) 2018-10-19 2019-06-13 Semiconductor device
CN201910994913.2A CN111078599A (zh) 2018-10-19 2019-10-18 半导体器件
TW108137649A TWI835893B (zh) 2018-10-19 2019-10-18 半導體器件
US17/106,242 US11227647B2 (en) 2018-10-19 2020-11-30 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180124880A KR20200044312A (ko) 2018-10-19 2018-10-19 반도체 장치

Publications (1)

Publication Number Publication Date
KR20200044312A true KR20200044312A (ko) 2020-04-29

Family

ID=70279693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180124880A KR20200044312A (ko) 2018-10-19 2018-10-19 반도체 장치

Country Status (3)

Country Link
US (2) US10878873B2 (ko)
KR (1) KR20200044312A (ko)
CN (1) CN111078599A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11079951B2 (en) * 2019-09-16 2021-08-03 International Business Machines Corporation Multi-tier storage and mirrored volumes

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004079583A1 (ja) * 2003-03-05 2006-06-08 富士通株式会社 データ転送制御装置およびdmaデータ転送制御方法
US7245527B2 (en) 2005-05-16 2007-07-17 Freescale Semiconductor, Inc. Nonvolatile memory system using magneto-resistive random access memory (MRAM)
US7652672B2 (en) * 2006-06-29 2010-01-26 Mediatek, Inc. Systems and methods for texture management
JP2008090491A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd Ftp通信システム
US8396937B1 (en) * 2007-04-30 2013-03-12 Oracle America, Inc. Efficient hardware scheme to support cross-cluster transactional memory
US20100161308A1 (en) * 2008-12-22 2010-06-24 Unity Semiconductor Corporation Multi-structured memory
TWI460588B (zh) * 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
US9529708B2 (en) * 2011-09-30 2016-12-27 Intel Corporation Apparatus for configuring partitions within phase change memory of tablet computer with integrated memory controller emulating mass storage to storage driver based on request from software
CN103946811B (zh) * 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9196334B2 (en) * 2012-04-19 2015-11-24 Qualcomm Incorporated Hierarchical memory magnetoresistive random-access memory (MRAM) architecture
US20140146589A1 (en) 2012-11-29 2014-05-29 Samsung Electronics Co., Ltd. Semiconductor memory device with cache function in dram
US8929146B1 (en) 2013-07-26 2015-01-06 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)
US9483379B2 (en) * 2013-10-15 2016-11-01 Advanced Micro Devices, Inc. Randomly branching using hardware watchpoints
JP2015095001A (ja) 2013-11-08 2015-05-18 キヤノン株式会社 情報処理装置、その制御方法とプログラム
US9801044B2 (en) 2014-05-13 2017-10-24 Samsung Electronics Co., Ltd. Apparatus and method for accessing wireless network
US9997225B2 (en) 2014-12-10 2018-06-12 Globalfoundries Singapore Pte. Ltd. System and method for modular simulation of spin transfer torque magnetic random access memory devices
US10157008B2 (en) 2015-04-29 2018-12-18 Qualcomm Incorporated Systems and methods for optimizing memory power consumption in a heterogeneous system memory
KR20170133072A (ko) * 2016-05-25 2017-12-05 삼성전자주식회사 저항성 메모리 장치 및 이를 포함하는 집적 회로
US20180136979A1 (en) * 2016-06-06 2018-05-17 Sitting Man, Llc Offer-based computing enviroments
JP2018049385A (ja) 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリシステムおよびプロセッサシステム
US10649665B2 (en) * 2016-11-08 2020-05-12 Micron Technology, Inc. Data relocation in hybrid memory
US10198354B2 (en) * 2017-03-21 2019-02-05 Intel Corporation Apparatus, system, and method to flush modified data from a volatile memory to a persistent second memory
JP2018197933A (ja) * 2017-05-23 2018-12-13 富士通株式会社 ストレージ制御装置、情報処理システムおよびプログラム
US10802713B2 (en) * 2017-09-29 2020-10-13 International Business Machines Corporation Requester-associated storage entity data
US10379784B1 (en) * 2018-05-03 2019-08-13 International Business Machines Corporation Write management for increasing non-volatile memory reliability

Also Published As

Publication number Publication date
US11227647B2 (en) 2022-01-18
US10878873B2 (en) 2020-12-29
US20210098043A1 (en) 2021-04-01
US20200126606A1 (en) 2020-04-23
CN111078599A (zh) 2020-04-28
TW202017214A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
JP7270082B2 (ja) 管理されたnvm適合キャッシュ管理
KR101870062B1 (ko) 적응적 버스트 모드를 위한 저장 모듈 및 방법
US10101947B2 (en) Storage device configured to manage plural data streams based on data amount
US10037160B2 (en) Storage device dynamically allocating program area and program method thereof
US9891838B2 (en) Method of operating a memory system having a meta data manager
US10860231B2 (en) Memory system for adjusting map segment based on pattern and operating method thereof
US10338826B2 (en) Managed-NAND with embedded random-access non-volatile memory
WO2019113729A1 (en) Scheme to improve efficiency of garbage collection in cached flash translation layer
WO2019089193A1 (en) Dynamic l2p cache
KR102140512B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 시스템 및 불휘발성 메모리 시스템의 동작 방법
US10902924B2 (en) Memory system varying pass voltage based on erase count of target memory block and operating method thereof
KR20190090635A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN105468569A (zh) 一种包含大容量非易失性存储器的嵌入式系统
US9785379B2 (en) Operating method of nonvolatile memory device and nonvolatile memory system
CN113396383A (zh) 存储装置中顺序数据优化的子区域
WO2019089195A1 (en) Common pool management
US20210390046A1 (en) Method of operating a memory with dynamically changeable attributes
US11526439B2 (en) Storage device and operating method thereof
US11227647B2 (en) Semiconductor device
TWI835893B (zh) 半導體器件
US11182329B2 (en) Data processing system and operating method thereof
KR20200071282A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US20230131466A1 (en) Storage device and operation method thereof
US11656996B2 (en) Controller for managing order information of data, operation method thereof, and memory system including the same
US20230126807A1 (en) Storage device and operation method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal