KR20170131127A - 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템 - Google Patents

둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템 Download PDF

Info

Publication number
KR20170131127A
KR20170131127A KR1020160062392A KR20160062392A KR20170131127A KR 20170131127 A KR20170131127 A KR 20170131127A KR 1020160062392 A KR1020160062392 A KR 1020160062392A KR 20160062392 A KR20160062392 A KR 20160062392A KR 20170131127 A KR20170131127 A KR 20170131127A
Authority
KR
South Korea
Prior art keywords
memory
memory area
refresh
processor
shared
Prior art date
Application number
KR1020160062392A
Other languages
English (en)
Other versions
KR102650828B1 (ko
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 KR1020160062392A priority Critical patent/KR102650828B1/ko
Priority to US15/477,382 priority patent/US10373668B2/en
Priority to CN201710351716.XA priority patent/CN107402901B/zh
Publication of KR20170131127A publication Critical patent/KR20170131127A/ko
Priority to US16/504,821 priority patent/US10943635B2/en
Application granted granted Critical
Publication of KR102650828B1 publication Critical patent/KR102650828B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3271Power saving in keyboard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명의 공유 메모리 장치는 제1 및 제2 프로세서에 의해 공통으로 사용되는 공유 메모리 장치로서, 상기 제1 프로세서용으로 할당된 제1 메모리 영역과 상기 제2 프로세서용으로 할당된 제2 메모리 영역을 포함하는 메모리 셀 어레이, 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시 수행 여부를 나타내는 리프레시 마스킹 정보를 저장하는 리프레시 마스킹 정보 저장 회로; 및 상기 셀프 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역의 리프레시를 선택적으로 수행하는 리프레시 회로를 포함한다.

Description

둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템{MEMORY DEVICE SHARED BY TWO OR MORE PROCESSORS AND SU|YSTEM INCLUING THE SAME}
본 발명의 개념에 따른 실시 예는 메모리 장치에 관한 것으로, 특히 둘 이상의 프로세서에 의해 공유되는 메모리 장치와 이의 리프레시 방법에 관한 것이다.
통상의 모바일 기기(예컨대, 스마트폰, 태블릿 PC 등)에서는 어플리케이션 프로세서(AP: Application processor)와, 커넥티비티 프로세서(CP: connectivity processor)는 별도의 칩으로 구현되며, 이를 2-칩 구조라 칭한다. 2-칩 구조에서는 AP용 메모리 장치와 CP용 메모리 장치가 별도로 필요하다.
최근에는 AP와 CP가 하나의 칩으로 구현된 1-칩 구조가 제시되고 있다. 예컨대, 1-칩 구조는 AP 내에 CP를 내장하며, 메모리 장치 역시 AP와 CP에 의해 공유된다.
1-칩 구조는 면적 및 구성의 효율성 면에서는 2-칩 구조에 비하여 장점을 가지나, AP가 동작하지 않고, CP만 동작하는 경우에도 공유 메모리 전체의 관리가 필요하기에 2-칩 구조대비 상대적으로 전력 소모의 최적화 면에서는 취약하다.
본 발명이 이루고자 하는 기술적인 과제는 둘 이상의 프로세서에 의해 공유되는 메모리 장치의 전력 소모를 줄일 수 있는 리프레시 방법, 상기 방법을 수행하는 공유 메모리 장치 및 상기 메모리 장치를 포함하는 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른, 제1 및 제2 프로세서에 의해 공통으로 사용되는 공유 메모리 장치는 상기 제1 프로세서용으로 할당된 제1 메모리 영역과 상기 제2 프로세서용으로 할당된 제2 메모리 영역을 포함하는 메모리셀 어레이; 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시 수행 여부를 나타내는 리프레시 마스킹 정보를 저장하는 리프레시 마스킹 정보 저장 회로; 및 상기 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역의 리프레시를 선택적으로 수행하는 리프레시 회로를 포함한다.
실시예에 따라, 상기 리프레시 회로는 상기 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시는 수행하지 않고, 나머지 메모리 영역에 대해서만 리프레시를 수행한다.
실시예에 따라, 상기 제2 프로세서가 디스에이블되거나 슬립 모드인 경우, 상기 제2 메모리 영역의 리프레시는 마스킹된다.
실시예에 따라, 상기 리프레시 마스킹 정보 저장 회로는 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 사이즈 정보를 더 저장한다.
실시예에 따라, 상기 리프레시 마스킹 정보 저장 회로는 모드 레지스터 설정 명령에 응답하여 셀프 리프레시 마스킹 정보를 정보를 저장한다.
실시예에 따라, 상기 제1 메모리 영역의 사이즈는 복수의 사이즈 조합들 중 하나로 선택된다.
실시예에 따라, 상기 공유 메모리 장치는 상기 복수의 사이즈 조합들 중 하나를 선택하기 위한 적어도 하나의 핀을 더 포함한다.
실시예에 따라, 상기 제1 프로세서의 논리 주소 공간는 상기 제1 메모리 영역의 물리 주소 공간과 매핑되고, 상기 제2 프로세서의 논리 주소 공간는 상기 제2 메모리 영역의 물리 주소 공간과 매핑된다.
본 발명의 실시 예에 따른, 공유 메모리 시스템은, 제1 프로세서; 제2 프로세서; 및 상기 제1 및 제2 프로세서에 의해 공통으로 사용되는 공유 메모리 장치를 포함한다.
상기 공유 메모리 장치는 상기 제1 프로세서용으로 할당된 제1 메모리 영역과 상기 제2 프로세서용으로 할당된 제2 메모리 영역을 포함하는 메모리셀 어레이; 및 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시 수행 여부를 나타내는 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역에 대한 선택적인 리프레시를 수행하는 리프레시 회로를 포함한다.
실시예에 따라, 상기 제2 프로세서가 디스에이블되거나 슬립 모드인 경우 상기 제2 메모리 영역의 리프레시는 마스킹된다.
실시예에 따라, 상기 제1 프로세서 또는 상기 제2 프로세서는 미리 정의된 복수의 사이즈 조합 중에서 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나의 사이즈를 설정한다.
실시예에 따라, 상기 공유 메모리 장치는 상기 리프레시 마스킹 정보를 저장하는 마스킹 정보 저장 회로를 더 포함하고, 상기 제1 프로세서 또는 상기 제2 프로세서는 모드 레지스터 설정 명령을 이용하여 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나의 사이즈 정보를 설정한다.
실시예에 따라,, 상기 제1 프로세서 또는 상기 제2 프로세서는 상기 공유 메모리 장치의 적어도 하나의 핀을 이용하여 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나의 사이즈 정보를 설정한다.
본 발명의 실시예에 따르면, 둘 이상의 프로세서에 의해 공유되는 메모리 장치의 메모리 영역을 둘 이상의 메모리 영역으로 분할하고, 프로세서의 인에이블/디스에이블 여부에 따라, 적어도 하나의 메모리 영역에 대한 리프레시 동작을 수행하지 않음으로써(즉, 리프레시 동작을 마스킹함으로써), 전력 소모를 줄일 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 공유 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1에 도시된 공유 메모리 시스템의 구성을 보다 자세히 나타내는 구성 블록도이다.
도 3은 본 발명의 실시예에 따른 공유 메모리 장치의 구성 블록도이다.
도 4a 및 도 4b는 각각 본 발명의 실시예에 따른 공유 메모리 장치의 메모리 영역 분할을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 메모리 영역 크기를 설정하는 방법을 설명하기 위한 도면이다.
도 6a 및 도 6b는 각각 본 발명의 실시예에 따른 메모리 영역과 메모리 뱅크 간의 관계를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 공유 메모리 시스템의 동작 방법을 나타내는 플로우차트이다.
도 8은 본 발명의 다른 실시 예에 따른 전자 시스템의 구성 블록도이다.
도 9는 본 발명의 실시예에 따른 공유 메모리 장치를 포함하는 전자 시스템의 다른 실시 예를 나타낸다.
도 10은 본 발명의 실시예에 따른 공유 메모리 장치를 포함하는 전자 시스템의 또 다른 실시 예를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 공유 메모리 시스템을 개략적으로 나타내는 블록도이다. 도 2는 도 1에 도시된 공유 메모리 시스템의 구성을 보다 자세히 나타내는 구성 블록도이다. 도 1 및 도 2을 참조하면, 공유 메모리 시스템(10)은 둘 이상의 프로세서(20, 30) 및 둘 이상의 프로세서에 의해 공유되는 공유 메모리(100)를 포함한다. 설명의 편의상, 도 1 및 도 2에서는 두 개의 프로세서(20, 30)만이 도시되나, 실시예에 따라, 공유 메모리(100)를 공유하는 프로세서의 수는 달라질 수 있다.
둘 이상의 프로세서(20, 30)는 하나의 시스템 온 칩(SoC, 11)로 구현될 수 있다.
실시예에 따라, 시스템 온 칩(11)은 제1 프로세서(20), 제2 프로세서(30) 및 메모리 컨트롤러(memory controller)(60)를 포함한다.
제1 및 제2 프로세서(20, 30) 각각은 메모리 컨트롤러(60)를 통해 공유 메모리(100)에 억세스할 수 있다. 즉, 메모리 컨트롤러(60)는 공유 메모리(100)와 상기 제1 및 제2 프로세서(20, 30) 간의 인터페이스를 수행할 수 있다. 제1 및 제2 프로세서(110, 130) 각각은 하나 이상의 코어(core)를 포함할 수 있다.
공유 메모리(300)는 제1 및 제2 프로세서(20, 30)에 의해 공통으로 사용되는 메인 메모리이다. 공유 메모리(300)는 휘발성 메모리, 예컨대, DRAM(Dynamic random-access memory)일 수 있으나, 이에 한정되는 것은 아니다.
제1 프로세서(20) 또는 제2 프로세서(30)는 메모리 컨트롤러(60)로 메모리 억세스 요청, 즉, 데이터 라이트(write) 요청이나 리드(read) 요청을 할 수 있다. 제1 버스(40)는 제1 프로세서(20)와 메모리 컨트롤러(60) 사이에서, 제1 프로세서(20)와 메모리 컨트롤러(60)간의 데이터 전송을 지원할 수 있다.
제2 버스(50)는 제2 프로세서(30)와 메모리 컨트롤러(60) 사이에서, 제2 프로세서(130)와 메모리 컨트롤러(60) 간의 데이터 전송을 지원할 수 있다.
실시예에 따라, 제1 및 제2 버스(40, 50)는 각각 AMBA(Advanced Microcontroller Bus Architecture) 또는 AXI(Advanced eXtensible Interface) 규격에 따른 버스일 수 있으나, 이에 한정되는 것은 아니며, 다른 인터커넥트 규격(interconnect specification)에 따른 버스일 수도 있다.
제1 프로세서(20)는 무선 통신으로 수신된 신호(예컨대, 다운링크 신호)를 복조(demodulation)하고 디코딩(decoding)하여, 디코딩된 데이터를 메모리 컨트롤러(60)를 통해 공유 메모리(100)에 저장할 수 있다.
실시예에 따라, 제1 프로세서(20)는 디코딩된 데이터를 포함하는 미리 정해진 포맷의 패킷 데이터(예컨대, 인터넷 프로토콜(IP: Internet Protocol) 패킷 데이터)를 생성할 수 있다. 이 경우, 디코딩 데이터를 포함하는 패킷 데이터가 공유 메모리(300)에 저장될 수 있다.
제1 프로세서(20)는 또한, 무선 통신으로 전송할 데이터(예컨대, 업링크 데이터)를 인코딩 및 변조하여 무선 통신으로 전송하기에 적합한 무선 신호로 변환할 수 있다. 제1 프로세서(20)는 커넥티비티 프로세서(CP) 또는 베이스밴드(BB: BaseBand) 프로세서라 불릴 수 있다.
제2 프로세서(30)는 공유 메모리 시스템(10)의 동작을 전반적으로 제어하는 프로세서일 수 있다. 예컨대, 제2 프로세서(30)는 어플리케이션 프로세서(AP: application processor)일 수 있다.
제2 프로세서(30)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 상기 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 ('코어들(cores)'이라고 불림)을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 상기 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다.
제2 프로세서(30)는 공유 메모리(100)에 저장된 다운링크 데이터, 예컨대, 제1 프로세서(20)에 의해 생성된 패킷 데이터를 독출하여 처리할 수 있다.
제2 프로세서(30)는 또한 무선 통신을 통해 전송하기 위한 데이터(예컨대, 패킷 데이터)를 생성하여 공유 메모리(100)에 저장할 수 있다.
제1 및 제2 프로세서(30) 각각은 공유 메모리 시스템(10)의 동작 시나리오나 실행되는 프로그램에 따라, 비활성화되거나 슬립 모드(sleep mode)로 들어갈 수 있다.
도 3은 본 발명의 실시예에 따른 공유 메모리 장치의 구성 블록도이다.
도 3을 참조하면, 공유 메모리 장치(100a)는 어드레스 버퍼(address buffer, 110), 커맨드 디코더(command buffer, 120), 컨트롤 회로(control circuit, 130), 데이터 입출력 회로(data I/O circuit, 140) 및 메모리 코어(150)를 포함할 수 있다.
공유 메모리 장치(100a)는 복수(2이상)의 메모리 영역으로 분할될 수 있는 메모리셀 어레이 구조와 복수(2이상)의 메모리 영역이 서로 독립적으로 동작할 수 있도록 컨트롤하는 스킴을 가질 수 있다.
어드레스 버퍼(110)는 메모리 컨트롤러(60)로부터 어드레스 정보(ADD)를 입력받아 어드레스 정보(ADD)를 임시 저장하고, 어드레스 정보(ADD)를 컨트롤 회로(130)의 제어에 따라 메모리 코어(150)로 전송할 수 있다.
커맨드 디코더(120)는 메모리 컨트롤러(60)로부터 커맨드(CMD)를 입력받아 커맨드(CMD)를 디코딩하고, 디코딩된 커맨드(CMD)를 컨트롤 회로(130)로 제공할 수 있다.
컨트롤 회로(130)는 메모리 장치(100)의 전반적인 동작을 제어할 수 있다.
컨트롤 회로(130)는 복수(2이상)의 메모리 영역이 서로 독립적으로 동작하도록 제어할 수 있다. 예컨대, 각 메모리 영역에 대하여 별도의 어드레스 및 커맨드 동작이 수행될 수 있다.
컨트롤 회로(130)는 리프레시 마스킹 정보 저장 회로 및 리프레시 회로(133)를 포함할 수 있다.
일 실시예에서, 리프레시 마스킹 정보 저장 회로는 MRS 회로(Mode Register Set circuit)(131)일 수 있다.
MRS 회로(131)는 MRS 설정 명령에 응답하여 모드 레지스터를 설정할 수 있다. 예컨대, MRS 회로(131)는 MRS 설정 명령에 응답하여 적어도 하나의 메모리 영역에 대한 크기 정보를 저장할 수 있다. 또한, MRS 회로(131)는 MRS 설정 명령에 응답하여 적어도 하나의 메모리 영역에 대한 리프레시 마스킹 정보(에컨대, 셀프 리프레시 마스킹 정보)를 저장할 수 있다. 리프레시 마스킹 정보는 적어도 하나의 메모리 영역에 대한 리프레시 수행 여부를 나타내는 정보일 수 있다.
리프레시 회로(133)는 리프레시 마스킹 정보에 메모리 영역에 대한 리프레시 가 선택적으로 수행되도록 제어할 수 있다.
리프레시 회로(133)는 셀프(self) 또는 오토(auto) 등의 리프레시 명령에 응답하여 리프레시 동작을 수행할 수 있다. 여기서는 셀프 리프레시를 그 예로 하여 설명한다. 예컨대, 리프레시 회로(133)는 셀프 리프레시 마스킹 정보에 따라 적어도 하나의 메모리 영역에 대한 셀프 리프레시는 수행하지 않고, 나머지 메모리 영역에 대해서만 셀프 리프레시를 수행할 수 있다.
예컨대, 리프레시 회로(133)는 마스킹된 메모리 영역에 속하는 메모리 뱅크에 대해서는 셀프 리프레시를 수행하지 않고 마스킹되지 않은 메모리 영역에 속하는 메모리 뱅크에 대해서만 셀프 리프레시를 수행할 수 있다.
또는, 리프레시 회로(133)는 마스킹된 메모리 영역에 속하는 메모리 세그먼트에 대해서는 셀프 리프레시를 수행하지 않고 마스킹되지 않은 메모리 영역에 속하는 메모리 세그먼트에 대해서만 셀프 리프레시를 수행할 수 있다.
실시예에 따라, 리프레시 회로(133)는 복수(2이상)의 메모리 영역이 서로 독립적으로 리프레시되도록 제어하기 위하여, 각 메모리 영역에 대한 독립적인 리프레시 회로를 포함할 수 있다. 메모리 코어(150)는 하나 이상의 메모리 뱅크(150-1, 150-2, ..., 150-N, N은 1이상의 자연수)를 포함할 수 있다.
각 메모리 뱅크(150-1, 150-2, ..., 150-N)는 실질적으로 동일하게 구성되고, 동일한 방식으로 동작할 수 있다. 자세히 도시되지는 않았지만, 메모리 뱅크(150-1, 150-2, ..., 150-N)는 메모리 셀 어레이, 및 메모리 셀 어레이에 데이터를 라이트(write)하고 리드(read)하기 위한 인터페이스 회로(예컨대, 로우 디코더, 칼럼 디코더, 라이트 드라이버 및 센스 증폭기 회로 등)을 포함할 수 있다. 각 메모리 뱅크(150-1, 150-2, ..., 150-N)의 메모리셀 어레이는 복수의 메모리 블록들을 포함할 수 있다. 메모리 블록은 미리 정의된 사이즈를 갖는 메모리 셀들의 집합일 수 있다.
메모리 셀 어레이는 워드 라인들, 비트 라인들 및 각각이 워드 라인들 각각과 비트 라인들 각각에 접속된 메모리 셀들을 포함한다. 상기 메모리 셀들은 적어도 1 비트(bit) 이상의 데이터를 저장할 수 있다. 상기 메모리 셀들은 저장된 데이터를 유지하기 위하여 리프레시(refresh)를 필요로 하는 메모리 셀들일 수 있다.
예컨대, 상기 메모리 셀들은 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous Dynamic Random Access Memory)일 수 있으나, 이에 한정되는 것은 아니며, MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), TRAM(Thyristor RAM) 또는 저항 메모리(Resistive RAM: RRAM 또는 ReRAM)일 수 있다.
데이터 입출력 회로(140)는 컨트롤 회로(130)의 제어에 따라 메모리 컨트롤러(60)로부터 데이터(DQ)를 수신하여 메모리 코어(150)로 제공하고, 메모리 코어(150)로부터 출력된 데이터를 메모리 컨트롤러(60)로 전송할 수 있다.
메모리 컨트롤러(60)는 공유 메모리 장치(100)의 동작을 제어하기 위한 각종 커맨드(CMD)를 전송할 수 있고, 리드, 라이트 또는 리프레시 등을 수행할 메모리 뱅크 및 메모리 셀을 지정하기 위한 어드레스 정보(ADD)를 메모리 장치(100)에 전송할 수 있다.
또한, 메모리 컨트롤러(60)는 메모리 코어(150)에 라이트할 라이트 데이터를 메모리 장치(100)에 전송하고, 메모리 장치(100)로부터 리드 데이터를 수신할 수 있다.
도 4a 및 도 4b는 각각 본 발명의 실시예에 따른 공유 메모리 장치의 메모리 영역 분할을 설명하기 위한 도면이다.
도 4a 및 도 4b를 참조하면, 공유 메모리 장치(100)는 복수(둘 이상)의 메모리 영역으로 나뉘어질 수 있다. 도 4a를 참조하면, 공유 메모리의 메모리 영역(예컨대, 메모리 코어(150)의 모든 메모리 셀 어레이)(200a)은 제1 내지 제3 메모리 영역(210, 220, 230)으로 나뉘어질 수 있다.
제1 메모리 영역(210)은 제1 프로세서(20)의 독립된 메모리 영역이고, 제2 메모리 영역(220)은 제2 프로세서(30)의 독립된 메모리 영역일 수 있다.
제3 메모리 영역(230)은 제1 및 제2 프로세서(20, 30)의 공통 영역일 수도 있고, 제1 및 제2 프로세서(30)가 아닌 다른 프로세서(미도시)에 할당된 메모리 영역일 수도 있다.
분할된 메모리 영역은 프로세서의 수 등에 따라 달라질 수 있다.
도 4b는 공유 메모리 장치(100)의 메모리 영역(200b)을 제1 및 제2 메모리 영역(210, 220)으로 분할한 실시예를 나타낸다. 설명의 편의상, 제1 메모리 영역(210)을 제1 프로세서용 메모리 영역, 제2 메모리 영역(220)을 제2 프로세서용 메모리 영역이라 칭할 수 있다.
제1 메모리 영역(210)의 크기는 제2 메모리 영역(220)의 크기 보다 작을 수 있다.
제1 및 제2 메모리 영역(210, 220) 각각의 크기는 호스트에 의해 설정될 수 있다. 실시예에 따라, 호스트는 제1 프로세서(20) 또는 제2 프로세서(30)일 수 있다. 예컨대, 호스트는 제1 프로세서(20) 또는 제2 프로세서(30)의 OS일 수 있다.
제1 및 제2 메모리 영역(210, 220) 각각에 대해서는 독립적인 메모리 매핑(memory mapping)이 가능하다.
예컨대, 제1 프로세서(20)의 논리 주소 공간(예컨대, 0000 내지 FFFF)은 제1 메모리 영역(210)의 물리 주소 공간과 매핑되고, 제2 프로세서(30)의 논리 주소 공간(예컨대, 0000 내지 FFFF)은 제2 메모리 영역(220)의 물리 주소 공간과 매핑된다. 따라서, 각 프로세서(20, 30)는 해당 메모리 영역(210, 220)을 별도의 메모리 장치처럼 사용할 수 있다. 호스트는 또한, 제1 및 제2 메모리 영역(210, 220) 중 하나의 메모리 영역에 대한 셀프 리프레시 동작은 수행되지 않도록 마스킹하고, 나머지 메모리 영역에 대해서만 셀프 리프레시 동작이 수행되도록 제어할 수 있다.
도 5는 본 발명의 실시예에 따른 메모리 영역 크기를 설정하는 방법을 설명하기 위한 도면이다.
도 5의 실시예에서는, 제1 메모리 영역의 크기를 설정하는 방법만을 나타내지만, 유사한 방법으로 제1 메모리 영역의 크기 역시 설정될 수 있다.
제1 메모리 영역의 크기는 미리 정의된 복수의 사이즈 조합들 중 하나로 선택될 수 있다.
예컨대, 설정할 수 있는 복수의 제1 메모리 영역 크기가 미리 정의될 수 있다. 실시예에 따라, 미리 정의된 복수의 제1 메모리 영역 크기들 중 하나의 선택은 MRS 설정 명령을 이용하여 이루어질 수 있다.
예컨대, MRS 설정 명령을 이용하여 모드 레지스터의 미리 정해진 하나 이상의 비트(Op[n])를 특정 값으로 설정함으로써, 제1 메모리 영역 크기를 64MB, 128MB, 256MB, 또는 512MB 등으로 설정할 수 있다.
제1 메모리 영역의 크기가 설정되면, 제2 메모리 영역의 크기는 제1 메모리 영역을 제외한 나머지 영역의 크기로 자동으로 결정될 수 있다.
실시예에 따라, 미리 정의된 복수의 제1 메모리 영역 크기들 중 하나를 선택하는 방법은 공유 메모리 장치(100)의 복수의 핀들 중 하나 이상의 핀의 조합으로 이루어질 수 있다. 하나 이상의 핀은 어드레스 핀, 데이터 핀 및 커맨드 핀 중 선택될 수도 있고, 어드레스 핀, 데이터 핀 및 커맨드 핀이 아닌 별도의 핀일 수도 있다.
제1 메모리 영역 및 제2 메모리 영역의 크기가 설정되면, 제1 메모리 영역 및 제2 메모리 영역이 서로 독립적으로 동작하도록 제어될 수 있다. 도 6a 및 도 6b는 각각 본 발명의 실시예에 따른 메모리 영역과 메모리 뱅크 간의 관계를 설명하기 위한 도면이다.
도 6a를 참조하면, 복수의 메모리 뱅크들(Bank 1~Bank 4) 중에서 하나 이상의 메모리 뱅크(예컨대, Bank 1)는 제1 메모리 영역(210)에 속하고, 나머지 메모리 뱅크(예컨대, Bank 2, 3, 4)는 제2 메모리 영역(220)에 속하도록 제1 및 제2 메모리 영역(210, 220)이 설정될 수 있다.
도 6a의 실시예에서는 설정된 제1 메모리 영역의 크기에 따라 제1 메모리 영역(210)에 속하는 메모리 뱅크의 수가 달라질 수 있다.
각 메모리 뱅크(Bank 1, 2, 3, 4)는 별도의 로우 디코더, 칼럼 디코더, 라이트 드라이버 및 센스 증폭기 회로 등을 가지므로, 제1 메모리 영역(210)에 속하는 메모리 뱅크(예컨대, Bank 1)와 제2 메모리 영역(220)에 속하는 메모리 뱅크(예컨대, Bank 2, 3, 4)는 서로 독립적으로 동작할 수 있다. 예컨대, 제2 메모리 영역(220)에 대한 리프레시 동작이 마스킹된 경우, 제1 메모리 영역(210)에 속하는 메모리 뱅크(예컨대, Bank 1)만 리프레시 동작을 수행하도록 제어될 수 있다.
도 6b를 참조하면, 복수의 메모리 뱅크들(Bank 1~Bank 4) 각각에서 특정의 세그먼트는 제1 메모리 영역(210)에 속하고, 나머지 세그먼트는 제2 메모리 영역(220)에 속하도록 제1 및 제2 메모리 영역(210, 220)이 설정될 수 있다.
세그먼트는 하나 이상의 메모리 블록을 포함할 수 있다.
도 6b의 실시예에서는 설정된 제1 메모리 영역의 크기에 따라 복수의 메모리 뱅크들(Bank 1~Bank 4) 각각에서 제1 메모리 영역으로 할당되는 세그먼트의 크기(예컨대, 메모리 블록의 수)가 달라질 수 있다.
예컨대, 제2 메모리 영역(220)에 대한 리프레시 동작이 마스킹된 경우, 제1 메모리 영역(210)에 속하는 세그먼트에 대해서만 리프레시 동작을 수행하도록 제어될 수 있다.
도 7은 본 발명의 일 실시예에 따른 공유 메모리 시스템의 동작을 나타내는 플로우차트이다. 도 7의 공유 메모리 시스템의 동작 방법은 도 1 또는 도 2에 도시된 공유 메모리 시스템(10, 10a)에 의해 수행될 수 있다.
도 1, 도 2 및 도 7을 참조하면, 먼저 공유 메모리 시스템(10, 10a)이 파워-업(power-up)된다(S110). 공유 메모리 시스템(10, 10a)이 파워-업되면, 제2 프로세서(예컨대, AP)(30)는 제1 메모리 영역(210) 및 제2 메모리 영역(220) 중 적어도 하나의 메모리 영역의 크기를 설정한다(S120).
상술한 바와 같이, 제2 프로세서(30)는 MRS 설정 명령을 이용하여 미리 정의된 복수의 사이즈 조합들 중 하나를 선택할 수 있다. 예컨대, 제2 프로세서(30)는 메모리 컨트롤러(60)를 통하여, MRS 설정 명령을 공유 메모리 장치(100)로 인가할 수 있다.
그러면, 공유 메모리 장치(100)는 MRS 설정 명령에 응답하여, 모드 레지스터에 크기 정보를 저장할 수 있다.
실시예에 따라, 제2 프로세서(30)는 공유 메모리 장치(100)의 특정 핀을 이용하여 미리 정의된 복수의 사이즈 조합들 중 하나를 선택할 수 있다.
제1 메모리 영역(210) 및 제2 메모리 영역(220)의 크기가 설정되면, 설정된 크기에 따라 메모리 영역이 제1 메모리 영역(210) 및 제2 메모리 영역(220)으로 분할된다.
이와 같이 메모리 영역이 분할되면, 호스트는 제1 프로세서(20) 또는 제2 프로세서(30)의 활성화 여부에 따라, 공유 메모리 장치(100)에 셀프 리프레시 마스킹 정보를 설정할 수 있다(S130).
셀프 리프레시 마스킹 정보는 제1 메모리 영역(210) 및 제2 메모리 영역(220)에 대한 셀프 리프레시 수행 여부를 나타내는 정보이다.
셀프 리프레시 마스킹 정보는 모드 레지스터에 설정될 수 있다.
공유 메모리 장치(100)의 리프레시 회로(133)는 셀프 리프레시 마스킹 정보에 따라 마스킹된 메모리 영역에 대해서는 셀프 리프레시 동작을 수행하지 않고, 나머지 메모리 영역, 즉 마스킹되지 않은 메모리 영역에 대해서만 셀프 리프레시 동작을 수행한다(S140).
예컨대, 제2 프로세서(30)가 디스에이블되거나 슬립 모드인 경우, 제2 메모리 영역(220)의 셀프 리프레시는 수행되지 않도록 설정될 수 있다.
이에 따라, 제2 프로세서(30)가 디스에이블되고, 제1 프로세서(20)만 인에이블된 경우, 호스트의 제어에 따라, 공유 메모리 장치(100)의 전체 메모리 영역 중 제1 메모리 영역(210)에 대해서만 셀프 리프레시가 수행됨으로써, 공유 메모리 장치(100)의 전력 소모가 줄어든다.
도 8은 본 발명의 다른 실시 예에 따른 전자 시스템의 구성 블록도이다.
이를 참조하면, 전자 시스템(400)은 PC(personal computer), 데이터 서버, 랩탑(laptop) 컴퓨터 또는 휴대용 장치로 구현될 수 있다. 휴대용 장치는 이동 전화기, 스마트 폰(smart phone), 태블릿 (tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라 (digital still camera), 디지털 비디오 카메라 (digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book) 장치, 모바일 인터넷 장치(mobile internet device(MID)) 등으로 구현될 수 있으나, 이에 한정되는 것은 아니다.
전자 시스템(400)은 SOC(11), 파워 소스(410), 저장 장치(420), 공유 메모리(100), 입출력 포트들(440), 확장 카드(450), 네트워크 장치(460), 및 디스플레이(470)를 포함한다. 실시 예에 따라. 전자 시스템(400)은 카메라 모듈(480)을 더 포함할 수 있다.
SOC(11)는 구성 요소들(elements; 100, 410~480) 중에서 적어도 하나의 동작을 제어할 수 있다. SOC(10)는 도 2에 도시된 SOC(11)에 해당한다.
파워 소스(410)는 구성 요소들(100 및 420~480) 중에서 적어도 하나로 동작 전압을 공급할 수 있다.
저장 장치(420)는 하드디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
공유 메모리(100)는 휘발성 메모리로 구현될 수 있다.
입출력 포트들(440)은 전자 시스템(400)으로 데이터를 전송하거나 또는 전자 시스템(400)으로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들을 의미한다. 예컨대, 입출력 포트들(440)은 컴퓨터 마우스와 같은 포인팅 장치(pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB 드라이브를 접속하기 위한 포트일 수 있다.
확장 카드(450)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 확장 카드(450)는 SIM(Subscriber Identification Module) 카드 또는 USIM(Universal Subscriber Identity Module) 카드일 수 있다.
네트워크 장치(460)는 전자 시스템(400)을 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
디스플레이(470)는 저장 장치(420), 메모리(100), 입출력 포트들(440), 확장 카드(450), 또는 네트워크 장치(460)로부터 출력된 데이터를 디스플레이할 수 있다.
카메라 모듈(480)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈(480)로부터 출력된 전기적인 이미지는 저장 장치(420), 메모리(300), 또는 확장 카드(450)에 저장될 수 있다. 또한, 카메라 모듈 (480)로부터 출력된 전기적인 이미지는 디스플레이(420)를 통하여 디스플레이될 수 있다.
도 9는 본 발명의 실시예에 따른 공유 메모리 장치를 포함하는 전자 시스템의 다른 실시 예를 나타낸다.
도 9를 참조하면, 도 1에 도시된 반도체 메모리 장치(100)를 포함하는 전자 시스템(500)은 PC(personal computer), 네트워크 서버(Network Server), 태블릿 (tablet) PC, 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.
전자 시스템(500)은 호스트(510), 메모리 장치(100)와 반도체 메모리 장치(100)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(520), 디스플레이(530) 및 입력 장치(540)를 포함한다.
호스트(510)는 입력 장치(450)를 통하여 입력된 데이터에 따라 메모리 장치(420)에 저장된 데이터를 디스플레이(440)를 통하여 디스플레이할 수 있다. 예컨대, 입력 장치(450)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다. 호스트(510)는 전자 시스템(500)의 전반적인 동작을 제어할 수 있고 메모리 컨트롤러(520)의 동작을 제어할 수 있다. 호스트(510)는 공유 메모리 장치(100)를 공유하는 둘 이상의 프로세서를 포함할 수 있고, 메모리 컨트롤러(520)는 도 2에 도시된 메모리 컨트롤러(60)일 수 있다.
실시 예에 따라 반도체 메모리 장치(100)의 동작을 제어할 수 있는 메모리 컨트롤러(520)는 호스트(510)의 일부로서 구현될 수 있고 또한 호스트(510)와 별도의 칩으로 구현될 수 있다.
도 10는 본 발명의 실시예에 따른 공유 메모리 장치를 포함하는 전자 시스템의 또 다른 실시 예를 나타낸다.
도 10을 참조하면, 전자 시스템(600)은 이미지 처리 장치(Image Process Device), 예컨대 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기 또는 스마트 폰으로 구현될 수 있다.
전자 시스템(600)은 호스트(610), 공유 메모리 장치(100)와 공유 메모리 장치(100)의 데이터 처리 동작, 예컨대 라이트 동작 또는 리드 동작을 제어할 수 있는 메모리 컨트롤러(620)를 포함한다. 또한, 컴퓨터 시스템(600)은 이미지 센서(630) 및 디스플레이(640)를 더 포함한다.
전자 시스템(600)의 이미지 센서(630)는 광학 이미지를 디지털 신호들로 변환하고, 변환된 디지털 신호들은 호스트(610) 또는 메모리 컨트롤러(620)로 전송된다. 호스트(610)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(640)를 통하여 디스플레이되거나 또는 메모리 컨트롤러(620)를 통하여 반도체 메모리 장치(100)에 저장될 수 있다.
또한, 공유 메모리 장치(100)에 저장된 데이터는 호스트(610) 또는 메모리 컨트롤러(620)의 제어에 따라 디스플레이(640)를 통하여 디스플레이된다.
실시 예에 따라 공유 메모리 장치(100)의 동작을 제어할 수 있는 메모리 컨트롤러(620)는 호스트(610)의 일부로서 구현될 수 있고 또한 호스트(610)와 별개의 칩으로 구현될 수 있다. 호스트(610)는 공유 메모리 장치(100)를 공유하는 둘 이상의 프로세서를 포함할 수 있고, 메모리 컨트롤러(620)는 도 3에 도시된 메모리 컨트롤러(60)일 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 10a: 공유 메모리 시스템
11: SoC
20, 30: 프로세서
40, 50:버스
60: 메모리 컨트롤러
100, 100a: 공유 메모리
110: 어드레스 버퍼
120: 커맨드 디코더
130: 컨트롤 회로
140: 데이터 입출력 회로
150: 메모리 코어

Claims (10)

  1. 제1 및 제2 프로세서에 의해 공통으로 사용되는 공유 메모리 장치에 있어서,
    상기 제1 프로세서용으로 할당된 제1 메모리 영역과 상기 제2 프로세서용으로 할당된 제2 메모리 영역을 포함하는 메모리 셀 어레이;
    상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시 수행 여부를 나타내는 리프레시 마스킹 정보를 저장하는 리프레시 마스킹 정보 저장 회로; 및
    상기 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역의 리프레시를 선택적으로 수행하는 리프레시 회로를 포함하는 공유 메모리 장치.
  2. 제1항에 있어서, 상기 리프레시 회로는
    상기 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시는 수행하지 않고, 나머지 메모리 영역에 대해서만 리프레시를 수행하는 공유 메모리 장치.
  3. 제1항에 있어서, 상기 제2 프로세서가 디스에이블되거나 슬립 모드인 경우
    상기 제2 메모리 영역의 리프레시는 마스킹되는 공유 메모리 장치.
  4. 제1항에 있어서, 상기 리프레시 마스킹 정보 저장 회로는
    상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 사이즈 정보를 더 저장하는 공유 메모리 장치.
  5. 제1항에 있어서, 상기 리프레시 마스킹 정보 저장 회로는
    모드 레지스터 설정 명령에 응답하여 셀프 리프레시 마스킹 정보를 정보를 저장하는 공유 메모리 장치.
  6. 제1항에 있어서,
    상기 제1 메모리 영역의 사이즈는 복수의 사이즈 조합들 중 하나로 선택되는 것을 특징으로 하는 공유 메모리 장치.
  7. 제6항에 있어서, 상기 공유 메모리 장치는
    상기 복수의 사이즈 조합들 중 하나를 선택하기 위한 적어도 하나의 핀을 더 포함하는 공유 메모리 장치.
  8. 제6항에 있어서,
    상기 제1 프로세서의 논리 주소 공간는 상기 제1 메모리 영역의 물리 주소 공간과 매핑되고,
    상기 제2 프로세서의 논리 주소 공간는 상기 제2 메모리 영역의 물리 주소 공간과 매핑되는 공유 메모리 장치.
  9. 제1 프로세서;
    제2 프로세서; 및
    상기 제1 및 제2 프로세서에 의해 공통으로 사용되는 공유 메모리 장치를 포함하며,
    상기 공유 메모리 장치는
    상기 제1 프로세서용으로 할당된 제1 메모리 영역과 상기 제2 프로세서용으로 할당된 제2 메모리 영역을 포함하는 메모리셀 어레이; 및
    상기 제1 메모리 영역 및 상기 제2 메모리 영역 중 적어도 하나에 대한 리프레시 수행 여부를 나타내는 리프레시 마스킹 정보에 따라, 상기 제1 메모리 영역 및 상기 제2 메모리 영역에 대한 선택적인 리프레시를 수행하는 리프레시 회로를 포함하는 공유 메모리 시스템.
  10. 제9항에 있어서, 상기 제2 프로세서가 디스에이블되거나 슬립 모드인 경우
    상기 제2 메모리 영역의 리프레시는 마스킹되는 공유 메모리 시스템.
KR1020160062392A 2016-05-20 2016-05-20 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템 KR102650828B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160062392A KR102650828B1 (ko) 2016-05-20 2016-05-20 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템
US15/477,382 US10373668B2 (en) 2016-05-20 2017-04-03 Memory device shared by two or more processors and system including the same
CN201710351716.XA CN107402901B (zh) 2016-05-20 2017-05-18 由两个或更多处理器共享的存储设备和包括其的系统
US16/504,821 US10943635B2 (en) 2016-05-20 2019-07-08 Memory device shared by two or more processors and system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160062392A KR102650828B1 (ko) 2016-05-20 2016-05-20 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템

Publications (2)

Publication Number Publication Date
KR20170131127A true KR20170131127A (ko) 2017-11-29
KR102650828B1 KR102650828B1 (ko) 2024-03-26

Family

ID=60330364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160062392A KR102650828B1 (ko) 2016-05-20 2016-05-20 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템

Country Status (3)

Country Link
US (2) US10373668B2 (ko)
KR (1) KR102650828B1 (ko)
CN (1) CN107402901B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095840A (ko) * 2018-02-07 2019-08-16 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102407917B1 (ko) * 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
US10332582B2 (en) 2017-08-02 2019-06-25 Qualcomm Incorporated Partial refresh technique to save memory refresh power
US20190074051A1 (en) * 2017-09-07 2019-03-07 Mediatek Inc. Memory system and refresh control method thereof
US10990524B2 (en) * 2018-10-11 2021-04-27 Powerchip Semiconductor Manufacturing Corporation Memory with processing in memory architecture and operating method thereof
TWI749331B (zh) * 2018-10-11 2021-12-11 力晶積成電子製造股份有限公司 具有記憶體內運算架構的記憶體及其操作方法
US11422826B2 (en) * 2020-05-19 2022-08-23 Micron Technology, Inc. Operational code storage for an on-die microprocessor
US11662922B2 (en) * 2021-10-18 2023-05-30 Hewlett Packard Enterprise Development Lp Shared storage allocation among data services
US11790974B2 (en) * 2021-11-17 2023-10-17 Micron Technology, Inc. Apparatuses and methods for refresh compliance
CN116453560B (zh) * 2023-04-27 2023-12-15 北京和利时控制技术有限公司 一种应用于核电站dcs系统的数据采集方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496888B1 (en) * 1999-09-15 2002-12-17 Intel Corporation Incorporation of bus ratio strap options in chipset logic
US20100161929A1 (en) * 2008-12-18 2010-06-24 Lsi Corporation Flexible Memory Appliance and Methods for Using Such
US20130100755A1 (en) * 2011-10-21 2013-04-25 Samsung Electronics Co., Ltd. Semiconductor memory device implementing comprehensive partial array self refresh scheme
US20140196140A1 (en) * 2012-02-14 2014-07-10 Intel Corporation Peer to peer networking and sharing systems and methods

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173356B1 (en) 1998-02-20 2001-01-09 Silicon Aquarius, Inc. Multi-port DRAM with integrated SRAM and systems and methods using the same
US6590822B2 (en) 2001-05-07 2003-07-08 Samsung Electronics Co., Ltd. System and method for performing partial array self-refresh operation in a semiconductor memory device
KR100437610B1 (ko) 2001-09-20 2004-06-30 주식회사 하이닉스반도체 정상 모드와 부분 어레이 셀프 리프레쉬 모드를 갖는저전력 반도체 메모리 장치
US7290080B2 (en) 2002-06-27 2007-10-30 Nazomi Communications Inc. Application processors and memory architecture for wireless applications
US7725609B2 (en) 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port
KR100740635B1 (ko) 2005-12-26 2007-07-18 엠텍비젼 주식회사 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
US20090144509A1 (en) 2007-11-30 2009-06-04 Kean Wong Memeory sharing between two processors
US8489847B2 (en) 2009-03-20 2013-07-16 Hewlett-Packard Development Company, L.P. Inter operating system memory hotswap to support memory growth in a non-virtualized system
KR20100133649A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 링크 아키텍쳐에서 파워 오프 시 데이터 로스를 방지하는 기능을 갖는 멀티 프로세서 시스템
US8589650B2 (en) 2010-05-17 2013-11-19 Texas Instruments Incorporated Dynamically configurable memory system
KR20130044129A (ko) 2011-10-21 2013-05-02 삼성전자주식회사 종합적인 파아셜 어레이 셀프 리프레쉬 스킴을 구현하는 반도체 메모리 장치
US9191823B2 (en) 2012-06-29 2015-11-17 GSMK Gesellschaft für sichere mobile Kommunikation mbH Mobile device and method to monitor a baseband processor in relation to the actions on an applicaton processor
US9311011B2 (en) * 2013-08-07 2016-04-12 Qualcomm Incorporated Dynamic address negotiation for shared memory regions in heterogenous multiprocessor systems
US10762946B2 (en) * 2018-12-31 2020-09-01 Micron Technology, Inc. Memory with partial array refresh

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496888B1 (en) * 1999-09-15 2002-12-17 Intel Corporation Incorporation of bus ratio strap options in chipset logic
US20100161929A1 (en) * 2008-12-18 2010-06-24 Lsi Corporation Flexible Memory Appliance and Methods for Using Such
US20130100755A1 (en) * 2011-10-21 2013-04-25 Samsung Electronics Co., Ltd. Semiconductor memory device implementing comprehensive partial array self refresh scheme
US20140196140A1 (en) * 2012-02-14 2014-07-10 Intel Corporation Peer to peer networking and sharing systems and methods

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095840A (ko) * 2018-02-07 2019-08-16 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
US10831676B2 (en) 2018-02-07 2020-11-10 Electronics And Telecommunications Research Institute Apparatus and method for interfacing with common memory

Also Published As

Publication number Publication date
US20170337966A1 (en) 2017-11-23
US20190333570A1 (en) 2019-10-31
US10943635B2 (en) 2021-03-09
CN107402901B (zh) 2023-12-12
KR102650828B1 (ko) 2024-03-26
CN107402901A (zh) 2017-11-28
US10373668B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
KR102650828B1 (ko) 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템
US11631450B2 (en) Partial refresh technique to save memory refresh power
CN107533509B (zh) 存储器设备特定的自刷新进入和退出
US10490239B2 (en) Programmable data pattern for repeated writes to memory
US9558805B2 (en) Memory modules and memory systems
KR102282971B1 (ko) 반도체 메모리 장치, 및 상기 반도체 메모리 장치를 포함하는 메모리 시스템
KR20160056056A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR102223007B1 (ko) 반도체 메모리 장치, 이의 리프레쉬 방법 및 반도체 메모리 장치의 리프레쉬 카운터
CN104681071A (zh) 半导体存储器件和及其i/o控制电路
KR20130117198A (ko) 메모리 셀의 리프레쉬 방법 및 이를 이용한 반도체 메모리 장치
JP6408712B2 (ja) メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステム
US10599206B2 (en) Techniques to change a mode of operation for a memory device
JP2015521337A (ja) Dramにおける電力低減のための構成
WO2017165042A1 (en) Multi-level memory management
US10991418B2 (en) Semiconductor memory device comprising an interface conforming to JEDEC standard and control device therefor
US10846220B2 (en) Memory system and operation method thereof
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
KR101821633B1 (ko) 메모리 시스템
KR20170060739A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR20140088660A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US20190042095A1 (en) Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification
US10978131B2 (en) Mobile device and operation method thereof
US10528423B2 (en) Memory management systems and methods
US9281033B2 (en) Semiconductor devices and semiconductor systems including the same
US20210264962A1 (en) Data read/write method, device, and memory having the same

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant