KR20130021704A - 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템 - Google Patents

멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템 Download PDF

Info

Publication number
KR20130021704A
KR20130021704A KR1020110084135A KR20110084135A KR20130021704A KR 20130021704 A KR20130021704 A KR 20130021704A KR 1020110084135 A KR1020110084135 A KR 1020110084135A KR 20110084135 A KR20110084135 A KR 20110084135A KR 20130021704 A KR20130021704 A KR 20130021704A
Authority
KR
South Korea
Prior art keywords
memory
port
processor
memory controller
memory device
Prior art date
Application number
KR1020110084135A
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 KR1020110084135A priority Critical patent/KR20130021704A/ko
Priority to CN201210249331XA priority patent/CN102955756A/zh
Priority to DE102012107577A priority patent/DE102012107577A1/de
Priority to US13/590,780 priority patent/US20130054885A1/en
Publication of KR20130021704A publication Critical patent/KR20130021704A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Non-Volatile Memory (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

반도체 장치가 제공된다. 반도체 장치는 적어도 하나의 비휘발성 메모리 소자, 적어도 하나의 비휘발성 메모리 소자의 동작을 제어하는 메모리 컨트롤러, 및 제1 포트와, 제1 포트와 다른 제2 포트와, 제1 포트와 커플링되는 메모리 컨트롤러가 억세스하는 제1 메모리 영역과, 제2 포트와 커플링되는 프로세서가 억세스하는 제2 메모리 영역과, 메모리 컨트롤러와 프로세서가 공통으로 억세스하는 공통 메모리 영역을 포함하는 멀티 포트 메모리 소자를 포함하되, 공통 메모리 영역은 둘 이상의 뱅크를 포함하고, 메모리 컨트롤러가 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 프로세서가 둘 이상의 뱅크 중 제2 뱅크를 억세스한다.

Description

멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템{Multi-port memory element, semiconductor device and system comprising the same}
본 발명은 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템에 관한 것이다.
최근, 휴대용 멀티미디어 플레이어(PMP), 모바일 폰, 스마트 폰, GPS 내비게이션 장치, 디지털 카메라, 디지털 비디오 카메라 또는 PDA 등의 휴대용 전자기기에서는 기능이나 동작 수행의 고속화 및 원활화를 도모하기 위하여 하나의 시스템 내에 다수의 프로세서를 채용한 멀티 프로세서 시스템이 선호된다. 예를 들어, 모바일 폰에는 사용자의 컨버젼스 요구에 따라, 기본적인 전화 기능 이외에 음악, 게임, 카메라, 결제기능, 또는 동영상 기능 등이 추가적으로 구현될 수 있다. 따라서, 통신 변복조 기능을 수행하는 통신 프로세서와, 통신 기능을 제외한 어플리케이션 기능을 수행하는 미디어 프로세서가 함께 채용될 수 있다.
멀티 프로세서 시스템에서 프로세싱 데이터를 저장하기 위해 채용되는 반도체 메모리는, 동작이나 기능면에서 다양하게 변화될 수 있다. 예컨대, 다수의 억세스 포트를 가지고, 억세스 포트 각각을 통해 동시에 데이터를 입출력할 수 있다. 예컨대, 삼성전자의 등록상표 원디램(OneDRAM)과 같은 멀티포트 반도체 메모리 장치는, 모바일 디바이스 내에서 통신 프로세서와 미디어 프로세서 간의 데이터 처리 속도를 현저히 증가시킬 수 있는 퓨전(fusion) 메모리 칩이다. 통상적으로, 2개의 프로세서가 있는 경우에 2개의 메모리가 요구된다. 그렇지만, 원디램은, 다수의 프로세서간의 데이터를 단일 칩을 통하여 라우팅할 수 있기 때문에, 다수의 메모리가 필요치 않다.
본 발명이 해결하고자 하는 기술적 과제는, 동작 속도가 향상되고 연산 효율이 증대된 멀티포트 메모리 소자를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 멀티포트 메모리 소자를 채용한 반도체 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 상기 반도체 장치를 채용한 반도체 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 멀티포트 메모리 소자는, 제1 포트, 제1 포트와 다른 제2 포트, 제1 포트와 커플링되는 제1 프로세서가 억세스하는 제1 메모리 영역, 제2 포트와 커플링되는 제2 프로세서가 억세스하는 제2 메모리 영역, 및 제1 프로세서와 제2 프로세서가 공통으로 억세스하고, 둘 이상의 뱅크를 포함하는 공통 메모리 영역을 포함하되, 제1 프로세서가 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 제2 프로세서가 둘 이상의 뱅크 중 제2 뱅크를 억세스한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 반도체 장치의 일 태양은, 적어도 하나의 비휘발성 메모리 소자, 적어도 하나의 비휘발성 메모리 소자의 동작을 제어하는 메모리 컨트롤러, 및 제1 포트와, 제1 포트와 다른 제2 포트와, 제1 포트와 커플링되는 메모리 컨트롤러가 억세스하는 제1 메모리 영역과, 제2 포트와 커플링되는 프로세서가 억세스하는 제2 메모리 영역과, 메모리 컨트롤러와 프로세서가 공통으로 억세스하는 공통 메모리 영역을 포함하는 멀티 포트 메모리 소자를 포함하되, 공통 메모리 영역은 둘 이상의 뱅크를 포함하고, 메모리 컨트롤러가 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 프로세서가 둘 이상의 뱅크 중 제2 뱅크를 억세스한다.
상기 또 다른 기술적 과제를 달성하기 위한 본 발명의 반도체 시스템의 일 태양은, 적어도 하나의 비휘발성 메모리 소자, 적어도 하나의 비휘발성 메모리 소자의 동작을 제어하는 메모리 컨트롤러, 연산 처리를 수행하는 프로세서, 및 제1 포트와, 제1 포트와 다른 제2 포트와, 제1 포트와 커플링되는 메모리 컨트롤러가 억세스하고 적어도 하나의 비휘발성 메모리 소자에 대한 페이지 맵 데이터가 저장된 제1 메모리 영역과, 제2 포트와 커플링되는 프로세서가 억세스하고 시스템 메인 메모리 영역으로 사용되는 제2 메모리 영역과, 메모리 컨트롤러와 프로세서가 공통으로 억세스하는 공통 메모리 영역을 포함하는 멀티 포트 메모리 소자를 포함하되, 공통 메모리 영역은 둘 이상의 뱅크를 포함하고, 메모리 컨트롤러가 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 프로세서가 둘 이상의 뱅크 중 제2 뱅크를 억세스한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 시스템을 설명하기 위한 블록도이다.
도 2는 도 1에 도시된 공통 메모리 영역을 설명하기 위한 블록도이다.
도 3은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 적용예를 도시한 도면이다.
도 4 및 도 5는 도 3의 메모리 링크 아키텍쳐(MLA)를 메모리 모듈(memory module)로 구현한 도면들이다.
도 6은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 적용예를 도시한 도면이다.
도 7 및 도 8은 도 6의 메모리 링크 아키텍쳐(MLA)를 메모리 모듈(memory module)로 구현한 도면들이다.
도 9 및 도 10은 도 6의 메모리 링크 아키텍쳐(MLA)를 적층 패키지(stack package)로 구현한 도면들이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 시스템은, 멀티포트 메모리 소자(300), 메모리 컨트롤러(100), 프로세서(200), 다수의 비휘발성 메모리 소자(410_1~410_n)를 포함한다.
먼저, 메모리 컨트롤러(100)는 다수의 비휘발성 메모리 소자(410_1~410_n)의 동작을 제어하는 역할을 할 수 있으며, 이 때 메모리 컨트롤러(100)는 그 동작에 필요한 소정의 프로세서(미도시)(예를 들어, 제1 프로세서)를 포함할 수 있다. 프로세서(200)(예를 들어, 제2 프로세서)는 시스템의 호스트 프로세서 역할을 수행할 수 있다. 그리고, 멀티포트 메모리 소자(300)는 예를 들어, 원디램(oneDRAM) 일 수 있으나, 이에 한정되는 것은 아니다.
여기서, 메모리 컨트롤러(100), 멀티포트 메모리 소자(300), 다수의 플래시 메모리(410_1~410_n)는 메모리 링크 아키텍쳐(MLA, Memory Linked Architecture: 500)를 구성한다.
프로세서(200)는 호스트 프로세서로서의 기능과 동작을 기본적으로 담당할 수 있다. 구체적으로, 프로세서(200)는 예를 들어, 시스템의 운영 체제(OS; Operating System) 등을 구동하는데 필요한 연산 등을 담당할 수 있다.
메모리 컨트롤러(100)는 프로세서(200)의 연산에 필요한 데이터(이하, 로우(raw) 데이터)를 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 리드(read)하거나, 프로세서(200)가 연산을 끝낸 데이터(이하, 연산 데이터)를 다수의 비휘발성 메모리 소자(410_1~410_n)에 라이트(write)하는 등의 역할을 담당할 수 있다. 하지만, 본 발명이 이에 한정되는 것은 아니며, 메모리 컨트롤러 및 프로세서(100, 200)의 기능은 필요에 따라 더 추가될 수 있다.
메모리 컨트롤러(100)는 제1 데이터 버스(B10)를 통해 멀티포트 메모리 소자(300)와 연결되고, 프로세서(200)는 제2 데이터 버스(B20)를 통해 멀티포트 메모리 소자(300)와 연결된다. 즉, 메모리 컨트롤러 및 프로세서(100, 200)는 멀티포트 메모리 소자(300)를 공유하여 사용한다. 따라서, 본 발명의 몇몇 실시예에 따른 반도체 시스템에서, 메모리 컨트롤러 및 프로세서(100, 200)의 동작에 필요한 2개의 메모리 소자가 별도로 채용될 필요가 없다. 따라서, 시스템 구현 비용이 저렴하고 시스템 사이즈가 콤팩트해진다.
적어도 하나의 비휘발성 메모리 소자(410_1~410_n)는 제3 데이터 버스(B30)를 통해 메모리 컨트롤러(100)와 연결된다. 여기서, 제1 및 제2 데이터 버스(B10, B20)의 대역폭(bandwidth)(예를 들어, 10.8 GB/s)은 제3 데이터 버스(B30)의 대역폭(예를 들어, 3.2 GB/s)보다 크다. 따라서, 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 리드된 대용량의 로우 데이터가 병목 현상(bottle neck) 없이 프로세서(200)에 제공될 수 있고, 프로세서(200)로부터 제공된 대용량의 연산 데이터가 병목 현상 없이 다수의 비휘발성 메모리 소자(410_1~410_n)에 라이트될 수 있다. 따라서, 시스템의 동작 속도가 향상되고 및 시스템의 연산 효율이 증대될 수 있다.
비휘발성 메모리 소자(410_1~410_n)는 플래시 메모리 소자일 수 있으나, 이에 한정되는 것은 아니다. 비휘발성 메모리 소자(410_1~410_n)는 노어(NOR) 또는 낸드(NAND) 구조를 가질 수 있다. 각 비휘발성 메모리 소자(410_1~410_n)는 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 모바일 디바이스(mobile device)의 부트 코드, 프로그램, 통신 데이터, 또는 보존용 데이터 등이 저장될 수 있다.
멀티포트 메모리 소자(300)는 메모리 컨트롤러 및 프로세서(100, 200)의 동작에 필요한 메인 메모리로서 기능한다. 또한, 이러한 멀티포트 메모리 소자(300)는 멀티포트 억세스를 허용하기 위해, 제1 및 제2 포트(P1, P2)와 다수의 메모리 영역(310, 320, 330)를 가진다.
멀티포트 메모리 소자(300)의 제1 포트(P1)는 제1 데이터 버스(B10)를 통해 메모리 컨트롤러(100)와 연결되고, 제2 포트(P2)는 제2 데이터 버스(B20)를 통해 프로세서(200)와 연결된다. 즉, 메모리 컨트롤러 및 프로세서(100, 200)는 서로 다른 2개의 억세스 패쓰(path)를 통하여, 멀티포트 메모리 소자(300)의 메모리 영역(310, 320, 330)을 억세스할 수 있다.
다수의 메모리 영역(310, 320, 330)은 메모리 컨트롤러(100)가 전용으로 억세스하는 제1 메모리 영역(310), 프로세서(200)가 전용으로 억세스하는 제2 메모리 영역(320), 제1 및 프로세서(100, 200)가 공통으로 억세스하는 공통 메모리 영역(330)으로 구분할 수 있다. 이러한 제1 메모리 영역(310), 제2 메모리 영역(320), 공통 메모리 영역(330)은 DRAM 셀을 포함할 수 있다.
특히, 본 발명의 몇몇 실시예에 따른 반도체 메모리 시스템에서, 제1 메모리 영역(310)에는 메모리 컨트롤러(100)가 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 로우 데이터를 리드하거나, 다수의 비휘발성 메모리 소자(410_1~410_n)에 연산 데이터를 라이트할 때, 이용하는 페이지 맵(page map) 데이터가 저장될 수 있다. 즉, 메모리 컨트롤러(100)는 제1 메모리 영역(310)에 저장된 페이지 맵 데이터를 참조하여, 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 로우 데이터를 리드하거나, 다수의 비휘발성 메모리 소자(410_1~410_n)에 연산 데이터를 라이트하게 된다.
한편, 제2 메모리 영역(320)은 시스템의 메인(main) 메모리 영역으로 사용될 수 있다. 즉, 제2 메모리 영역(320)은 프로세서(200)의 연산과 관련된 데이터가 저장되는 영역으로 사용될 수 있다.
공통 메모리 영역(330)은 둘 이상의 뱅크(330_1, 330_2)를 포함할 수 있다. 도면에서는 공통 메모리 영역(330)이 2개의 뱅크(330_1, 330_2)를 갖는 것으로 도시하였으나, 본 발명이 이에 한정되는 것은 아니다. 즉, 공통 메모리 영역(330)은 그 필요에 따라 3개, 4개 등 얼마든지 추가적인 뱅크(미도시)를 더 포함할 수 있다. 이러한 공통 메모리 영역(330)의 구조에 대해서는 도 2를 이용하여 자세히 후술한다.
메모리 컨트롤러(100)가 둘 이상의 뱅크(330_1, 330_2) 중 제1 뱅크(예를 들어, 330_1)를 억세스하는 동안, 프로세서(200)가 둘 이상의 뱅크(330_1, 330_2) 중 제2 뱅크(예를 들어, 330_2)를 억세스할 수 있다. 예를 들어, 메모리 컨트롤러(100)가 제1 뱅크(330_1)에 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 리드한 로우 데이터를 라이트하는 동안, 프로세서(200)는 이미 메모리 컨트롤러(100)가 라이트한 로우 데이터를 제2 뱅크(330_2)로부터 리드할 수 있다.
즉, 메모리 컨트롤러(100)와 프로세서(200)가 공통 메모리 영역(330)을 동시에 억세스할 수 있다. 따라서, 프로세서(200)가 공통 메모리 영역(330)을 억세스하고 있는 동안, 메모리 컨트롤러(100)가 공통 메모리 영역(330)에 억세스하지 못하고 기다리기 때문에 발생할 수 있는 태스크 수행 지연(delay)이 발생하지 않는다. 따라서, 본 발명의 몇몇 실시예에 따른 반도체 메모리 시스템은 동작 속도가 빨라질 수 있다.
물론, 메모리 컨트롤러(100)와 프로세서(200)가 동시에 하나의 뱅크(예를 들어, 330_1)를 억세스하지는 않는다. 예를 들어, 메모리 컨트롤러(100)가 제1 뱅크(330_1)에 억세스한 후, 프로세서(200)가 제1 뱅크(330_1)에 억세스할 수 있다.
도 2는 도 1에 도시된 공통 메모리 영역을 설명하기 위한 블록도이다.
도 2를 참조하면, 공통 메모리 영역(330)의 제1 및 제2 영역(330_1, 330_2)은, 각각 세머포어(semaphore, 356_1, 356_2), 제1 메일박스(352_1, 352_2), 제2 메일박스(354_1, 354_2), 제1 버퍼(357_1, 357_2), 제2 버퍼(358_1, 358_2) 등을 포함한다.
세머포어(356_1, 356_2)에는 공통 메모리 영역(330)에 대한 억세스 권한 정보가 저장된다. 제1 메일박스(352_1, 352_2), 및 제2 메일박스(354_1, 354_2)에는 메모리 컨트롤러 및 프로세서(100, 200)가 서로 상대방에게 전송하는 메시지(권한 요청, 어드레스, 데이터 사이즈, 데이터가 저장된 공유 메모리의 어드레스를 가리키는 전송 데이터, 명령어 등)가 라이트 된다. 예를 들어, 제1 메일박스(352_1, 352_2)에는 메모리 컨트롤러(100)가 프로세서(200)로 전송하는 메시지가 라이트 된다. 또한, 제2 메일박스(354_1, 354_2)에는 프로세서(200)가 메모리 컨트롤러(100)로 전송하는 메시지가 라이트 된다. 예를 들어, 세머포어(356_1, 356_2)는 최소한 1비트 할당될 수 있고, 제1 메일박스(352_1, 352_2), 및 제2 메일박스(354_1, 354_2)은 각기 4바이트로서 할당될 수 있다.
제1 버퍼(357_1, 357_2) 및 제2 버퍼(358_1, 358_2)에는 프로세서(200)와 메모리 컨트롤러(100)가 서로 주고 받는 데이터(예를 들어, 로우 데이터 또는 연산 데이터)가 저장된다.
메모리 컨트롤러 및 프로세서(100, 200)간의 데이터 인터페이스가 멀티 포트 메모리 소자(300)을 통해 구현될 경우에, 메모리 컨트롤러 및 프로세서(100, 200)는 제1 및 제2 메일 박스(352, 354)를 각기 활용하여 상대방(100, 200)에게 전송될 메시지를 라이트할 수 있다. 라이트된 메시지를 리드한 수신측에서는 전송측의 메시지를 인식하고 그에 응답한 동작을 수행한다.
구체적으로, 메모리 컨트롤러(100)가 프로세서(200)에게 공통 메모리 영역(330) 중 제1 뱅크(330_1)에 대한 억세스 권한을 이양하고, 프로세서(200)가 메모리 컨트롤러(100)에게 공통 메모리 영역(330) 중 제2 뱅크(330_2)에 대한 억세스 권한을 이양하는 경우를 예로 들어 설명한다.
먼저, 메모리 컨트롤러(100)가 다수의 비휘발성 메모리 소자(410_1~410_n)로부터 리드한 로우 데이터를 제1 뱅크(330_1)(예를 들어, 제1 버퍼(357_1) 및 제2 버퍼(358_1))에 라이트한다. 본 발명의 몇몇 실시예에서, 메모리 컨트롤러(100)가 제1 뱅크(330_1)에 로우 데이터를 라이트하는 동안, 프로세서(200)는 제2 뱅크(330_2)(예를 들어, 제1 버퍼(357_2) 및 제2 버퍼(358_2))로부터 로우 데이터를 리드할 수 있다. 즉, 메모리 컨트롤러(100)가 제1 뱅크(330_1)에 로우 데이터를 라이트하는 동작과, 프로세서(200)가 제2 뱅크(330_2)로부터 로우 데이터를 리드하는 동작은 동시에 수행될 수 있다.
제1 뱅크(330_1)에 로우 데이터를 라이트한 후, 메모리 컨트롤러(100)는 세머포어(356_1)의 플래그 데이터를 변경한 다음, 제1 메일박스(352_1)에 억세스 권한을 변경한다는 것을 알리는 메시지를 라이트한다. 이에 따라, 제1 뱅크(330_1)에 대한 억세스 권한은 프로세서(200)에게로 넘어가게 된다.
한편, 제2 뱅크(330_2)로부터 로우 데이터를 리드한 프로세서(200)는 세머포어(356_2)의 플래그 데이터를 변경한 다음, 제2 메일박스(354_2)에 억세스 권한을 변경한다는 것을 알리는 메시지를 라이트한다. 이에 따라, 제2 뱅크(330_2)에 대한 억세스 권한은 메모리 컨트롤러(100)에게로 넘어가게 된다.
제1 메일박스(352_1)의 메시지를 리드한 프로세서(200)는 억세스 권한 이양에 대한 메시지를 리드하고, 세머포어(356_1)의 플래그 데이터가 변경되었는지를 확인한다. 그 후, 프로세서(200)는 제2 메일박스(354_1)에 억세스 권한을 접수하였다는 것을 알리는 응답 메시지를 라이트한다. 이후 프로세서(200)는 제1 뱅크(330_1)에 대한 억세스 권한을 독점적으로 갖는다.
한편, 제2 메일박스(354_2)의 메시지를 리드한 메모리 컨트롤러(100)는 억세스 권한 이양에 대한 메시지를 리드하고, 세머포어(356_2)의 플래그 데이터가 변경되었는지를 확인한다. 그 후, 메모리 컨트롤러(100)는 제1 메일박스(352_2)에 억세스 권한을 접수하였다는 것을 알리는 응답 메시지를 라이트한다. 이후 메모리 컨트롤러(100)는 제2 뱅크(330_2)에 대한 억세스 권한을 독점적으로 갖는다.
이후, 메모리 컨트롤러(100)가 제2 뱅크(330_2)에 로우 데이터를 라이트하는 동안 프로세서(200)는 제1 뱅크(330_1)로부터 로우 데이터를 리드하게 되며, 리드 및 라이트 동작이 끝나면 다시 동일한 권한 이양과정을 거치게 된다.
한편, 프로세서(200)에 의해 연산이 완료된 연산 데이터가 다수의 비휘발성 메모리 소자(410_1~410_n)에 저장되는 과정은 상기 과정의 역순으로 진행되게 된다. 즉, 프로세서(200)가 제1 뱅크(330_1)에 연산 데이터를 라이트하는 동안, 메모리 컨트롤러(100)는 제2 뱅크(330_2)로부터 로우 데이터를 리드하여 이를 제1 메모리 영역(310)에 저장된 페이지 맵 데이터를 참조하여 다수의 비휘발성 메모리 소자(410_1~410_n)에 라이트한다.
이러한 리드 및 라이트 동작이 종료되면, 프로세서(200)는 제1 뱅크(330_1)의 권한을 메모리 컨트롤러(100)에게 이양하게 되고, 메모리 컨트롤러(100)는 제2 뱅크(330_2)의 권한을 프로세서(100)에게 이양하게 된다. 그 후, 프로세서(200)는 제2 뱅크(330_2)에 연산 데이터를 라이트하고, 메모리 컨트롤러(100)는 제1 뱅크(330_1)로부터 로우 데이터를 리드하여 이를 제1 메모리 영역(310)에 저장된 페이지 맵 데이터를 참조하여 다수의 비휘발성 메모리 소자(410_1~410_n)에 라이트하게 된다.
이와 같은 리드 및 라이트 동작이 지속적으로 반복됨으로써, 다수의 비휘발성 메모리 소자(410_1~410_n)에 저장된 로우 데이터가 대역폭의 제약을 받지 않으며 신속하게 프로세서(200)에 전달되며, 프로세서(200)에 의해 연산이 완료된 연산 데이터가 대역폭의 제약을 받지 않으며 신속하게 다수의 비휘발성 메모리 소자(410_1~410_n)에 저장되게 된다.
도 3은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 적용예를 도시한 것이다. 도 4 및 도 5는 도 3의 메모리 링크 아키텍쳐(MLA)를 메모리 모듈(memory module)로 구현한 것이다.
도 3에 도시된 적용예는, 본 발명의 몇몇 실시예에 따른 반도체 시스템을 예를 들어, PC(personal computer)(더 자세하게, Note PC)에 적용한 것이다.
메모리 컨트롤러(100)의 I/O는 ×64로 동작하고, 프로세서(200)의 I/O도 ×64로 동작하는 것을 예시한다. 따라서, I/O가 ×16인 멀티포트 메모리 소자(300_1~300_4)라면, 멀티포트 메모리 소자(300_1~300_4)는 4개가 필요하고, I/O가 ×32인 멀티포트 메모리 소자라면, 멀티포트 메모리 소자는 2개가 필요하다. 즉, 멀티포트 메모리 소자(300_1~300_4)의 I/O에 따라서, 멀티포트 메모리 소자(300_1~300_4)의 사용 개수가 달라질 수 있다.
또한, 메모리 컨트롤러(100)는 8개의 채널(Ch0~Ch7)을 사용할 수 있다. 이러한 경우, 각 채널(Ch0~Ch7)의 I/O는 ×8이 된다. 각 채널(Ch0~Ch7)에는 4개의 비휘발성 메모리 소자(410_1~410_n)가 연결될 수 있다. 따라서, 전체적으로 32개의 비휘발성 메모리 소자(410_1~410_n)가 사용될 수 있다.
도 4 및 도 5를 참조하면, 도 4는 메모리 모듈의 앞면(front side)을 도시하고, 도 5는 메모리 모듈의 뒷면(back side)를 도시한 것이다.
메모리 모듈의 회로 기판(510)의 앞면, 뒷면에 멀티포트 메모리 소자(300_1~300_4), 메모리 컨트롤러(100), 다수의 비휘발성 메모리 소자(410_1~410_n)를 배치한다.
예시적으로, 앞면에는, 멀티포트 메모리 소자(300_1~300_4)가 4개 배치되고, 비휘발성 메모리 소자(410_1~410_n)가 16개 배치된다. 뒷면에는, 메모리 컨트롤러(100)가 배치되고, 비휘발성 메모리 소자(410_1~410_n)가 16개 배치될 수 있다.
도 6은 본 발명의 몇몇 실시예에 따른 반도체 시스템의 적용예를 도시한 것이다. 도 7 및 도 8은 도 6의 메모리 링크 아키텍쳐(MLA)를 메모리 모듈(memory module)로 구현한 것이다. 도 9 및 도 10은 도 6의 메모리 링크 아키텍쳐(MLA)를 적층 패키지(stack package)로 구현한 것이다.
도 6에 도시된 적용예는, 본 발명의 몇몇 실시예에 따른 반도체 시스템을 예를 들어, 암 베이스 서버(Arm Base Server)에 사용되는 형태일 수 있다.
메모리 컨트롤러(100)의 I/O는 ×32로 동작하고, 프로세서(200)의 I/O는 ×64로 동작하는 것을 예시한다. 여기서, 제1 포트(P1)의 I/O는 ×16이고, 제2 포트(P2)의 I/O는 ×32인 멀티포트 메모리 소자(300_1~300_2)를 사용한다. 이러한 멀티포트 메모리 소자(300_1~300_2)를 2개 사용하는 것으로 예시한다.
또한, 메모리 컨트롤러(100)는 4개의 채널(Ch0~Ch3)을 사용할 수 있다. 이러한 경우, 각 채널(Ch0~Ch3)의 I/O는 ×8이 된다. 각 채널(Ch0~Ch3)에는 4개의 비휘발성 메모리 소자(410_1~410_n)가 연결될 수 있다. 따라서, 전체적으로 16개의 비휘발성 메모리 소자(410_1~410_n)가 사용될 수 있다.
도 7 및 도 8를 참조하면, 도 7는 메모리 모듈의 앞면(front side)을 도시하고, 도 8는 메모리 모듈의 뒷면(back side)를 도시한 것이다.
메모리 모듈의 회로 기판(510)의 뒷면에 멀티포트 메모리 소자(300_1~300_2), 메모리 컨트롤러(100), 다수의 비휘발성 메모리 소자(410_1~410_n)를 배치한다. 앞면에는 추가로 ECC(Error Correcting Code)(360), 휘발성 메모리 소자(350)을 배치할 수 있다. 예시적으로, 앞면에는, ECC(360) 1개와, 휘발성 메모리 소자(350) 4개가 배치된다. 뒷면에는, 메모리 컨트롤러(100), 멀티포트 메모리 소자(300_1~300_2) 2개, 비휘발성 메모리 소자(410_1~410_n)가 16개 배치될 수 있다.
도 9 및 도 10을 참조하면, 상측 회로 기판(550)에는 메모리 컨트롤러(100), 멀티포트 메모리 소자(300_1~300_2) 2개, 비휘발성 메모리 소자(410_1~410_n)가 16개가 배치될 수 있다. 그리고 하측 회로 기판(560)에는 4개의 휘발성 메모리 소자(350)가 배치될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 메모리 컨트롤러 200: 프로세서
300: 멀티포트 메모리 소자 410: 비휘발성 메모리 소자
500: 메모리 링크 아키텍쳐

Claims (10)

  1. 제1 포트;
    상기 제1 포트와 다른 제2 포트;
    상기 제1 포트와 커플링되는 제1 프로세서가 억세스하는 제1 메모리 영역;
    상기 제2 포트와 커플링되는 제2 프로세서가 억세스하는 제2 메모리 영역; 및
    상기 제1 프로세서와 상기 제2 프로세서가 공통으로 억세스하고, 둘 이상의 뱅크를 포함하는 공통 메모리 영역을 포함하되,
    상기 제1 프로세서가 상기 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 상기 제2 프로세서가 상기 둘 이상의 뱅크 중 제2 뱅크를 억세스하는 멀티 포트 메모리 소자.
  2. 적어도 하나의 비휘발성 메모리 소자;
    상기 적어도 하나의 비휘발성 메모리 소자의 동작을 제어하는 메모리 컨트롤러; 및
    제1 포트와, 상기 제1 포트와 다른 제2 포트와, 상기 제1 포트와 커플링되는 상기 메모리 컨트롤러가 억세스하는 제1 메모리 영역과, 상기 제2 포트와 커플링되는 프로세서가 억세스하는 제2 메모리 영역과, 상기 메모리 컨트롤러와 상기 프로세서가 공통으로 억세스하는 공통 메모리 영역을 포함하는 멀티 포트 메모리 소자를 포함하되,
    상기 공통 메모리 영역은 둘 이상의 뱅크를 포함하고, 상기 메모리 컨트롤러가 상기 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 상기 프로세서가 상기 둘 이상의 뱅크 중 제2 뱅크를 억세스하는 반도체 장치.
  3. 제 2항에 있어서,
    상기 제1 메모리 영역에는 상기 적어도 하나의 비휘발성 메모리 소자에 대한 페이지 맵(page map) 데이터가 저장되고,
    상기 제2 메모리 영역은 상기 프로세서의 시스템 메인 메모리로 사용되는 반도체 장치.
  4. 제 3항에 있어서,
    상기 프로세서가 데이터를 상기 제2 뱅크에 라이트하는 동안, 상기 메모리 컨트롤러는 상기 제1 뱅크로부터 데이터를 리드하여 이를 상기 적어도 하나의 비휘발성 메모리 소자에 라이트하는 반도체 장치.
  5. 제 3항에 있어서,
    상기 프로세서가 상기 제2 뱅크로부터 데이터를 리드하는 동안, 상기 메모리 컨트롤러는 상기 적어도 하나의 비휘발성 메모리 소자로부터 데이터를 리드하고 이를 상기 제1 뱅크에 라이트하는 반도체 장치.
  6. 제 2항에 있어서,
    상기 메모리 컨트롤러와 상기 멀티 포트 메모리 소자를 연결하는 제1 데이터 버스;
    상기 프로세서와 상기 멀티 포트 메모리 소자를 연결하는 제2 데이터 버스;
    상기 적어도 하나의 비휘발성 메모리 소자와 상기 메모리 컨트롤러를 연결하는 제3 데이터 버스를 더 포함하되,
    상기 제1 및 제2 데이터 버스의 대역폭(bandwidth)은 상기 제3 데이터 버스의 대역폭보다 큰 반도체 장치.
  7. 제 2항에 있어서,
    회로 기판을 더 포함하되,
    상기 회로 기판의 제1 면 상에는 상기 멀티 포트 메모리 소자가 배치되고,
    상기 회로 기판의 제2 면 상에는 상기 비휘발성 메모리 소자 중 적어도 어느 하나와, 상기 메모리 컨트롤러가 배치되는 반도체 장치.
  8. 제 2항에 있어서,
    회로 기판을 더 포함하되,
    상기 회로 기판의 제1 면 상에는 휘발성 메모리 소자가 배치되고,
    상기 회로 기판의 제2 면 상에는 상기 비휘발성 메모리 소자 중 적어도 어느 하나와, 상기 멀티 포트 메모리 소자와, 상기 메모리 컨트롤러가 배치되는 반도체 장치.
  9. 제 2항에 있어서,
    순차적으로 적층된 제1 및 제2 회로 기판을 더 포함하되,
    상기 제1 회로 기판 상에는 휘발성 메모리 소자가 배치되고,
    상기 제2 회로 기판 상에는 상기 비휘발성 메모리 소자 중 적어도 어느 하나와, 상기 멀티 포트 메모리 소자와, 상기 메모리 컨트롤러가 배치되는 반도체 장치.
  10. 적어도 하나의 비휘발성 메모리 소자;
    상기 적어도 하나의 비휘발성 메모리 소자의 동작을 제어하는 메모리 컨트롤러;
    연산 처리를 수행하는 프로세서; 및
    제1 포트와, 상기 제1 포트와 다른 제2 포트와, 상기 제1 포트와 커플링되는 메모리 컨트롤러가 억세스하고 상기 적어도 하나의 비휘발성 메모리 소자에 대한 페이지 맵 데이터가 저장된 제1 메모리 영역과, 상기 제2 포트와 커플링되는 프로세서가 억세스하고 시스템 메인 메모리 영역으로 사용되는 제2 메모리 영역과, 상기 메모리 컨트롤러와 상기 프로세서가 공통으로 억세스하는 공통 메모리 영역을 포함하는 멀티 포트 메모리 소자를 포함하되,
    상기 공통 메모리 영역은 둘 이상의 뱅크를 포함하고, 상기 메모리 컨트롤러가 상기 둘 이상의 뱅크 중 제1 뱅크를 억세스하는 동안, 상기 프로세서가 상기 둘 이상의 뱅크 중 제2 뱅크를 억세스하는 반도체 시스템.
KR1020110084135A 2011-08-23 2011-08-23 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템 KR20130021704A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110084135A KR20130021704A (ko) 2011-08-23 2011-08-23 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템
CN201210249331XA CN102955756A (zh) 2011-08-23 2012-07-18 多端口存储元件和包括其的半导体设备及系统
DE102012107577A DE102012107577A1 (de) 2011-08-23 2012-08-17 Multiport-Speicherelement sowie Halbleitervorrichtung und System mit demselben
US13/590,780 US20130054885A1 (en) 2011-08-23 2012-08-21 Multiport memory element and semiconductor device and system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110084135A KR20130021704A (ko) 2011-08-23 2011-08-23 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR20130021704A true KR20130021704A (ko) 2013-03-06

Family

ID=47665352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110084135A KR20130021704A (ko) 2011-08-23 2011-08-23 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템

Country Status (4)

Country Link
US (1) US20130054885A1 (ko)
KR (1) KR20130021704A (ko)
CN (1) CN102955756A (ko)
DE (1) DE102012107577A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104718578A (zh) * 2012-12-21 2015-06-17 惠普发展公司,有限责任合伙企业 具有错误校正逻辑的存储模块
US10254967B2 (en) 2016-01-13 2019-04-09 Sandisk Technologies Llc Data path control for non-volatile memory
US10528267B2 (en) 2016-11-11 2020-01-07 Sandisk Technologies Llc Command queue for storage operations
US10528286B2 (en) * 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10528255B2 (en) * 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10360952B2 (en) 2016-12-20 2019-07-23 Omnivision Technologies, Inc. Multiport memory architecture for simultaneous transfer
KR20220161852A (ko) * 2021-05-31 2022-12-07 삼성전자주식회사 복수의 버스들로 정보를 송수신하는 컴퓨팅 장치 및 이의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883044B1 (en) * 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
US7774758B2 (en) * 2005-05-16 2010-08-10 Texas Instruments Incorporated Systems and methods for secure debugging and profiling of a computer system
KR20090032415A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 프로세서 웨이크 업 기능을 갖는 멀티포트 반도체 메모리장치 및 이를 채용한 멀티 프로세서 시스템 그리고 멀티프로세서 시스템에서의 프로세서 웨이크 업 방법
KR101168134B1 (ko) 2011-06-21 2012-07-24 김용현 고준위 환원 중성수 제조방법

Also Published As

Publication number Publication date
DE102012107577A1 (de) 2013-02-28
US20130054885A1 (en) 2013-02-28
CN102955756A (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
KR102491651B1 (ko) 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
KR20130021704A (ko) 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템
CN104115129B (zh) 用于从处理器到存储器子系统智能刷新数据的系统和方法
CN103946826B (zh) 用于在公共存储器通道上实现多级存储器层级的设备和方法
US7730268B2 (en) Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory
US20100318725A1 (en) Multi-Processor System Having Function of Preventing Data Loss During Power-Off in Memory Link Architecture
US9123409B2 (en) Memory device for a hierarchical memory architecture
US11287978B2 (en) Data storage devices, having scale-out devices to map and control groups on non-volatile memory devices
CN108572933A (zh) 用于直接存储器存取的数据缓冲器指针找取
WO2017210144A1 (en) Method and apparatus for remote prefetches of variable size
CN106294194A (zh) 数据存储装置和具有该数据存储装置的数据处理系统
US11671522B2 (en) System and method for memory access in server communications
US8122199B2 (en) Multi port memory device with shared memory area using latch type memory cells and driving method
US20110035537A1 (en) Multiprocessor system having multi-command set operation and priority command operation
CN105408875A (zh) 在存储器接口上的分布式过程执行和文件系统
KR20100085564A (ko) 데이터 처리 시스템과 데이터 처리 방법
CN109891397A (zh) 用于固态装置中的操作系统高速缓冲存储器的设备及方法
KR20090008519A (ko) 공유 레지스터를 갖는 멀티패쓰 억세스블 반도체 메모리장치 및 그에 따른 공유 레지스터 운영방법
EP4202704A1 (en) Interleaving of heterogeneous memory targets
CN105264342A (zh) 嵌入的ecc地址映射
KR20200081045A (ko) 3차원 적층 메모리 장치 및 그 동작 방법
CN114296638A (zh) 存算一体化固态硬盘控制器、固态硬盘、数据存储系统及方法
CN102930898B (zh) 一种构建多端口异步存储模块的方法
US20090216961A1 (en) Multi-port semiconductor memory device for reducing data transfer event and access method therefor
CN116360672A (zh) 访问存储器的方法、装置和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application