KR102161448B1 - 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 - Google Patents

멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR102161448B1
KR102161448B1 KR1020140012165A KR20140012165A KR102161448B1 KR 102161448 B1 KR102161448 B1 KR 102161448B1 KR 1020140012165 A KR1020140012165 A KR 1020140012165A KR 20140012165 A KR20140012165 A KR 20140012165A KR 102161448 B1 KR102161448 B1 KR 102161448B1
Authority
KR
South Korea
Prior art keywords
memory
channel
bits
channels
channel memory
Prior art date
Application number
KR1020140012165A
Other languages
English (en)
Other versions
KR20150091663A (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 KR1020140012165A priority Critical patent/KR102161448B1/ko
Priority to US14/612,516 priority patent/US9811460B2/en
Publication of KR20150091663A publication Critical patent/KR20150091663A/ko
Application granted granted Critical
Publication of KR102161448B1 publication Critical patent/KR102161448B1/ko

Links

Images

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multimedia (AREA)

Abstract

멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법이 제공된다. 상기 멀티 채널 메모리를 포함하는 시스템의 동작 방법은 2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리에 대한 억세스 요청을 수신하고, 상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고, 상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함한다.

Description

멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법{SYSTEM COMPRISING MULTI CHANNEL MEMORY AND OPERATING METHOD FOR THE SAME}
본 발명은 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법에 관한 것이다.
멀티 채널 메모리는 다수의 채널을 갖는 메모리 시스템을 나타낸다. 채널은 데이터와 같은 각종 신호가 송수신되는 통로에 해당한다. 각각의 채널에는 적어도 하나의 메모리 장치가 연결될 수 있다. 마스터 장치(master device)는 다수의 채널 중 어느 하나의 채널을 할당받고, 할당받은 채널을 통해서 메모리 장치에 억세스(access)할 수 있다.
이러한 멀티 채널 메모리는 채널 인터리빙(channel interleaving) 방식으로 동작할 수 있다. 채널 인터리빙 방식은 연속하는 메모리 어드레스를 서로 다른 채널에 연결된 메모리 장치에 할당하여, 다수의 메모리 장치에 병렬적으로 억세스하는 것을 나타낸다. 예를 들어, 채널 인터리빙 방식을 이용하여, 마스터 장치는 제1 채널을 통해서 제1 메모리 장치에 억세스하는 동안, 제2 채널을 통해서 제2 메모리 장치에 억세스할 수도 있다. 채널 인터리빙 방식은 멀티 채널 메모리의 대역폭(bandwidth)을 증가시키기 위해서 널리 사용되고 있다.
그러나, 멀티 채널 메모리의 연속하는 메모리 어드레스를 억세스하지 않고, 멀티 채널 메모리의 다수의 채널 중 어느 하나의 또는 일부의 채널을 통한 억세스가 반복하여 발생하는 경우, 다수의 채널 중 어느 하나의 또는 일부의 채널에 병목 현상이 발생할 수 있다.
본 발명이 해결하려는 과제는, 하나의 또는 일부의 채널의 병목 현상을 방지할 수 있는, 멀티 채널 메모리를 포함하는 시스템을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 하나의 또는 일부의 채널의 병목 현상을 방지할 수 있는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 일 면(aspect)은 2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리에 대한 억세스 요청을 수신하고, 상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고, 상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함한다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트는 n개의 비트와 하나 이상의 상기 n개의 비트의 상위 비트를 포함할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 n개의 비트 중 최하위 비트는 상기 멀티 채널 메모리의 인터리브 유닛(interleave unit)에 대응할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 n개의 비트는 연속하는 비트일 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트를 이용하여 채널 어드레스를 생성하고, 상기 채널 어드레스에 따라 상기 2^n개의 채널 중 어느 하나의 채널을 할당할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 채널 어드레스는 n개의 비트를 포함할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 시스템의 버스 또는 메모리 컨트롤러에 의하여 수행될 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 억세스는 리드(read) 또는 라이트(write)를 포함할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 멀티 채널 메모리는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 다른 면은 다수의 채널을 갖는 멀티 채널 메모리에 대한 억세스 요청을 수신하고, 상기 억세스 요청의 메모리 어드레스를 참조하여 상기 다수의 채널 중 어느 하나의 채널을 할당하고, 상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함하되, 상기 다수의 채널 중 어느 하나의 채널을 할당하는 것은 상기 메모리 어드레스의, 상기 다수의 채널을 할당하기 위해 필요한 최소한의(minimum) 개수의 비트와 하나 이상의 추가적인 비트를 참조하여, 상기 메모리 어드레스의 제1 범위에서는 제1 순서에 따라 채널을 할당하고, 상기 메모리 어드레스의 상기 제1 범위와 다른 제2 범위에서는 상기 제1 순서와 다른 제2 순서에 따라 채널을 할당한다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 하나 이상의 추가적인 비트는 상기 다수의 채널을 할당하기 위해 필요한 최소한의 개수의 비트의 상위 비트일 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 멀티 채널 메모리가 2^n개의(단, n은 자연수) 채널을 갖는 때에, 상기 다수의 채널을 할당하기 위해 필요한 최소한의 개수의 비트는 n개의 비트일 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 어드레스의 상기 제1 범위와 상기 제2 범위는 상기 하나 이상의 추가적인 비트를 기초로 구분될 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 다수의 채널 중 어느 하나의 채널을 할당하는 것은 상기 메모리 어드레스의, 상기 다수의 채널을 할당하기 위해 필요한 상기 최소한의 개수의 비트와 상기 하나 이상의 추가적인 비트를 이용하여 채널 어드레스를 생성하고, 상기 채널 어드레스에 따라 상기 다수의 채널 중 어느 하나의 채널을 할당할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 동작 방법의 몇몇 실시예에서, 상기 채널 어드레스는 상기 다수의 채널을 할당하기 위해 필요한 최소한의 개수의 비트를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 멀티 채널 메모리를 포함하는 시스템의 일 면은 프로세서, 2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리, 및 상기 프로세서의 상기 멀티 채널 메모리에 대한 억세스 요청을 처리하는 버스를 포함하되, 상기 버스의 억세스 요청 처리는, 상기 프로세서로부터 상기 멀티 채널 메모리에 대한 억세스 요청을 수신하고, 상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고, 상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함한다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 몇몇 실시예에서, 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트는 n개의 비트와 하나 이상의 상기 n개의 비트의 상위 비트를 포함할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 몇몇 실시예에서, 상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트를 이용하여 채널 어드레스를 생성하고, 상기 채널 어드레스에 따라 상기 2^n개의 채널 중 어느 하나의 채널을 할당할 수 있다.
상기 과제를 해결하기 위한 본 발명의 멀티 채널 메모리를 포함하는 시스템의 다른 면은 프로세서, 2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리, 및 상기 프로세서의 상기 멀티 채널 메모리에 대한 억세스 요청을 처리하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러의 억세스 요청 처리는, 상기 프로세서로부터 상기 멀티 채널 메모리에 대한 억세스 요청을 수신하고, 상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고, 상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함한다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 몇몇 실시예에서, 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트는 n개의 비트와 하나 이상의 상기 n개의 비트의 상위 비트를 포함할 수 있다.
본 발명의 멀티 채널 메모리를 포함하는 시스템의 몇몇 실시예에서, 상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트를 이용하여 채널 어드레스를 생성하고, 상기 채널 어드레스에 따라 상기 2^n개의 채널 중 어느 하나의 채널을 할당할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템의 리드 동작 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템의 라이트 동작 방법을 설명하기 위한 흐름도이다.
도 4 내지 도 5는 도 2 내지 도 3의 채널 할당 단계를 세부적으로 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 멀티 채널 메모리를 포함하는 시스템을 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예에 따른 멀티 채널 메모리를 포함하는 사용자 시스템을 설명하기 위한 도면이다.
도 8은 도 7의 사용자 시스템이 적용되는 전자 장치의 예를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
하나의 소자(elements)가 다른 소자와 "연결된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 연결된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(1)은 마스터 장치(100; MASTER DEVICE), 버스(200; BUS), 멀티 채널 메모리(300; MULTI CHANNEL MEMORY)를 포함한다.
마스터 장치(100)는 버스(200)와 연결될 수 있다. 마스터 장치(100)는, 버스(200)를 통해서, 멀티 채널 메모리(300)에 억세스(access)할 수 있다. 멀티 채널 메모리(300)에 대한 억세스는 멀티 채널 메모리(300)로부터 데이터를 리드(read)하거나, 멀티 채널 메모리(300)에 데이터를 라이트(write)하는 것을 포함할 수 있다. 예를 들어, 마스터 장치(100)는 프로세서(processor)일 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 마스터 장치(100)는 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 엔진(graphic processing engine), 이미지 신호 처리 장치(Image Signal Processor; ISP) 등과 같이 데이터를 처리하는 IP 모듈(Intellectual Property module)일 수 있다.
멀티 채널 메모리(300)에 억세스하기 위해서, 마스터 장치(100)는 버스(200)에 멀티 채널 메모리(300)에 대한 억세스(access) 요청을 전송할 수 있다. 이러한 억세스 요청은 메모리 리드 요청 또는 메모리 라이트 요청을 포함할 수 있다. 멀티 채널 메모리(300)에 대한 억세스 요청은 메모리 어드레스(address) 또는 데이터(data) 등을 포함할 수 있다. 여기서, 메모리 어드레스는 논리 어드레스(logical address)(또는, 가상 어드레스(virtual address))일 수 있다.
버스(200)는 마스터 장치(100)와 멀티 채널 메모리(300)의 사이에서 각종 정보를 교환할 수 있다. 버스(200)는 채널 인터리빙 모듈(250; CHANNEL INTERLEAVING MODULE)을 포함할 수 있다. 채널 인터리빙 모듈(250)은 마스터 장치(100)로부터 멀티 채널 메모리(300)에 대한 억세스 요청을 수신하고, 이를 처리할 수 있다. 채널 인터리빙 모듈(250)은 마스터 장치(100)로부터 수신한 메모리 어드레스를 참조하여, 멀티 채널 메모리(300)의 다수의 채널 중 어느 하나의 채널을 할당할 수 있다. 그리고, 버스(200)는, 할당된 채널을 통해서, 마스터 장치(100)에게 멀티 채널 메모리(300)에 대한 억세스를 제공할 수 있다.
멀티 채널 메모리(300)는 다수의 채널(CH0~CH3)을 갖고, 다수의 채널(CH0~CH3)을 통해 버스(200)와 연결될 수 있다. 채널(CH0~CH3)은 데이터와 같은 각종 신호가 송수신되는 통로에 해당할 수 있다. 명확하게 도시하지 않았으나, 각각의 채널(CH0~CH3)은 데이터를 임시 저장하기 위한 버퍼를 포함할 수 있다.
도 1에서는 멀티 채널 메모리(300)가 네 개의 채널을 갖는 것으로 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 멀티 채널 메모리(300)는 2^n개의(단, n은 자연수) 채널을 가질 수 있다.
멀티 채널 메모리(300)는, 버스(200)를 통해서, 마스터 장치(100)에 리드된 데이터를 전송하거나, 마스터 장치(100)로부터 라이트하기 위한 데이터를 수신할 수 있다.
멀티 채널 메모리(300)는 다수의 메모리 컨트롤러(310, 320, 330, 340; MEMORY CONTROLLER)와 다수의 메모리 장치(315, 325, 335, 345; MEMORY DEVICE)를 포함할 수 있다. 각각의 메모리 컨트롤러(310, 320, 330, 340)는 각각의 채널(CH0~CH3)과 연결될 수 있다. 그리고, 각각의 메모리 장치(315, 325, 335, 345)는 각각의 메모리 컨트롤러(310, 320, 330, 340)와 연결될 수 있다. 각각의 메모리 장치(315, 325, 335, 345)는 적어도 하나의 메모리 칩을 포함할 수 있다.
멀티 채널 메모리(300)는 채널 인터리빙(channel interleaving) 방식으로 동작할 수 있다. 이에 따라, 마스터 장치(100)는 다수의 메모리 장치(315, 325, 335, 345)에 병렬적으로 억세스할 수 있다. 즉, 마스터 장치(100)는, 다수의 채널(CH0~CH3) 중 할당된 하나의 채널을 통해서, 상기 할당된 하나의 채널에 연결된 메모리 장치(315, 325, 335, 345)에 억세스하는 동안, 다수의 채널(CH0~CH3) 중 할당된 다른 하나의 채널을 통해서, 상기 할당된 다른 하나의 채널에 연결된 메모리 장치(315, 325, 335, 345)에 억세스할 수도 있다.
이하에서는 도 1을 참조하여 설명한 구성 요소를 참조하여, 멀티 채널 메모리를 포함하는 시스템의 동작 방법을 설명하기로 한다. 여기서, 멀티 채널 메모리(300)는 2^n개의(단, n은 자연수) 채널을 갖는 것으로 가정한다.
도 2는 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템의 리드 동작 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(1)의 리드 동작 방법에서는, 먼저 채널 인터리빙 모듈(250)이 마스터 장치(100)로부터 메모리 리드 요청을 수신할 수 있다(S410). 상술한 바와 같이, 메모리 리드 요청은, 멀티 채널 메모리(300)로부터 데이터를 리드하기 위한 정보로서, 메모리 어드레스를 포함할 수 있다.
이어서, 채널 인터리빙 모듈(250)은 메모리 리드 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여, 다수의 채널 중 어느 하나의 채널을 할당할 수 있다(S420). 도 1에 도시된 바와 같이, 멀티 채널 메모리(300)가 네 개의 채널(CH0~CH3)을 갖는 경우, 채널 인터리빙 모듈(250)은 메모리 리드 요청의 메모리 어드레스의 3개 이상의 비트를 참조하여, 네 개의 채널(CH0~CH3) 중 어느 하나의 채널을 할당할 수 있을 것이다.
채널 할당 방법에 관하여는 도 4 내지 도 5에서 보다 상세하게 설명하기로 한다.
이어서, 마스터 장치(100)는 할당된 채널을 통해 멀티 채널 메모리로(300)부터 데이터를 리드할 수 있다(S430). 구체적으로는, 할당된 채널에 연결된 메모리 컨트롤러가 상기 메모리 컨트롤러와 연결된 메모리 장치로부터 데이터를 리드하고, 리드된 데이터가 버스(200)를 통하여 마스터 장치(100)에 제공될 수 있다.
도 3은 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템의 라이트 동작 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(1)의 라이트 동작 방법에서는, 먼저 채널 인터리빙 모듈(250)이 마스터 장치(100)로부터 메모리 라이트 요청을 수신할 수 있다(S510). 상술한 바와 같이, 메모리 라이트 요청은, 멀티 채널 메모리(300)에 데이터를 라이트하기 위한 정보로서, 메모리 어드레스를 포함할 수 있다.
이어서, 채널 인터리빙 모듈(250)은 메모리 라이트 요청의 어드레스의 n+1개 이상의 비트를 참조하여, 다수의 채널 중 어느 하나의 채널을 할당할 수 있다(S520). 도 1에 도시된 바와 같이, 멀티 채널 메모리(300)가 네 개의 채널(CH0~CH3)을 갖는 경우, 채널 인터리빙 모듈(250)은 메모리 리드 요청의 메모리 어드레스의 3개 이상의 비트를 참조하여, 네 개의 채널(CH0~CH3) 중 어느 하나의 채널을 할당할 수 있을 것이다.
채널 할당 방법에 관하여는 도 4 내지 도 5에서 보다 상세하게 설명하기로 한다.
이어서, 마스터 장치(100)는 할당된 채널을 통해 멀티 채널 메모리에 데이터를 라이트할 수 있다(S530). 구체적으로는, 멀티 채널 메모리에 라이트하기 위한 데이터가 버스(200)를 통하여 할당된 채널에 연결된 메모리 컨트롤러에 제공되고, 상기 메모리 컨트롤러가 상기 메모리 컨트롤러와 연결된 메모리 장치에 데이터를 라이트할 수 있다.
도 4 내지 도 5는 도 2 내지 도 3의 채널 할당 단계를 세부적으로 설명하기 위한 도면이다.
도 4를 참조하면, 채널 분배부(255a; CHANNEL DISTRIBUTOR)는 메모리 어드레스(LA)를 이용하여 채널 어드레스(CHA)를 생성할 수 있다. 이러한 채널 분배부(255a)는 채널 인터리빙 모듈(250)의 내부 구성요소로 제공될 수 있다. 일 예로서, 채널 분배부(255a)는 다수의 채널을 할당하기 위하여 필요한 최소한의(minimum) 개수의 비트 외에도 하나의 추가적인 비트를 이용할 수 있다.
이하에서는 다수의 채널을 할당하기 위하여 필요한 최소한의 개수의 비트를 "필수적인 비트"라고 정의하여 사용하기로 한다. 일반적으로, 2^n개의(단, n은 자연수) 채널을 할당하기 위하여는, 최소한 n개의 비트가 필요하다. 즉, 2^n개의 채널을 할당하기 위한 필수적인 비트는 n개이다.
도 1에 도시된 바와 같이, 멀티 채널 메모리(300)가 네 개의 채널(CH0~CH3)을 갖는 경우, 채널을 할당하기 위한 필수적인 비트는 두 개가 될 것이다. 필수적인 비트 외에 하나의 추가적인 비트를 더 이용하는 것을 고려하면, 채널 분배부(255a)는 메모리 어드레스(LA)의 3개의 비트를 참조하여 채널 어드레스(CHA)를 생성할 수 있다.
이 때, 채널 분배부(255a)는 채널을 할당하기 위한 필수적인 비트로서, 메모리 어드레스(LA)의 연속하는 두 개의 비트 LA<i+1:i>를 이용할 수 있다. 필수적인 비트 LA<i+1:i> 중 최하위 비트인 LA<i>는 멀티 채널 메모리(300)의 인터리브 유닛(interleave unit)에 대응할 수 있다. 여기서, 인터리브 유닛은, 채널 인터리빙 방식에서, 서로 다른 메모리 장치로 분배되어 저장되는 데이터의 크기를 나타낼 수 있다.
채널 분배부(255a)는 채널을 할당하기 위한 추가적인 하나의 비트로서, 메모리 어드레스(LA)의 상기 필수적인 비트 LA<i+1:i>의 상위 비트 LA<j>를 이용할 수 있다.
추가적인 비트 LA<j>는 상기 필수적인 비트 LA<i+1:i>로부터 이격되는 비트일 수 있다. 또는, 추가적인 비트 LA<j>는 상기 필수적인 비트 LA<i+1:i>와 인접하는 비트일 수도 있다.
채널 분배부(255a)는 상기 필수적인 비트 LA<i+1:i>와 상기 추가적인 비트 LA<j>를 원소로 하는 함수의 결과 값을 통해서 채널 어드레스(CHA)를 생성할 수 있다.
도 5를 참조하면, 다른 예로서, 채널 분배부(255b; CHANNEL DISTRIBUTOR)는 다수의 채널을 할당하기 위하여 필요한 최소한의 개수의 비트 외에도 두 개의 추가적인 비트를 이용할 수 있다.
도 1에 도시된 바와 같이, 멀티 채널 메모리(300)가 네 개의 채널(CH0~CH3)을 갖는 경우, 채널을 할당하기 위한 필수적인 비트는 두 개가 될 것이다. 필수적인 비트 외에 두 개의 추가적인 비트를 더 이용하는 것을 고려하면, 채널 분배부(255b)는 메모리 어드레스(LA)의 네 개의 비트를 참조하여 채널 어드레스(CHA)를 생성할 수 있다.
채널 분배부(255b)는 채널을 할당하기 위한 추가적인 두 개의 비트로서, 메모리 어드레스(LA)의 상기 필수적인 비트 LA<i+1:i>의 상위 비트 LA<j> 및 LA<k>를 이용할 수 있다.
추가적인 비트 LA<j>는 상기 필수적인 비트 LA<i+1:i>로부터 이격되는 비트일 수 있다. 또는, 추가적인 비트 LA<j>는 상기 필수적인 비트 LA<i+1:i>와 인접하는 비트일 수도 있다.
또한, 추가적인 비트 LA<k>와 상기 추가적인 비트 LA<j>는 서로 이격되는 비트일 수 있다. 또는, 추가적인 비트 LA<k>와 상기 추가적인 비트 LA<j>는 서로 인접하는 비트일 수도 있다.
채널 분배부(255b)는 상기 필수적인 비트 LA<i+1:i>와 상기 추가적인 비트 LA<j> 및 LA<k>를 원소로 하는 함수의 결과 값을 통해서 채널 어드레스(CHA)를 생성할 수 있다.
한편, 도 4 내지 도 5에서는 다수의 채널을 할당하기 위한 추가적인 비트로서, 하나의 비트 또는 두 개의 비트를 이용하는 것을 도시하였으나, 본 발명이 이에 한정되는 것은 아니다. 채널 인터리빙 모듈(250)은 다수의 채널을 할당하기 위하여 필수적인 비트 외에, 하나 이상의 추가적인 비트를 이용할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 멀티 채널 메모리를 포함하는 시스템을 설명하기 위한 블록도이다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(2)은 마스터 장치(100; MASTER DEVICE), 버스(600; BUS), 멀티 채널 메모리(700; MULTI CHANNEL MEMORY)를 포함한다.
마스터 장치(100)는 버스(600)와 연결될 수 있다. 마스터 장치(100)는, 버스(600)를 통해서, 멀티 채널 메모리(700)에 억세스할 수 있다. 멀티 채널 메모리(700)에 대한 억세스는 멀티 채널 메모리(700)로부터 데이터를 리드하거나, 멀티 채널 메모리(700)에 데이터를 라이트하는 것을 포함할 수 있다.
멀티 채널 메모리(700)에 억세스하기 위해서, 마스터 장치(100)는 버스(200)에 멀티 채널 메모리(300)에 대한 억세스(access) 요청을 전송할 수 있다. 버스(200)는 상기 억세스 요청을 멀티 채널 메모리(300)에 전송할 수 있다. 이러한 억세스 요청은 메모리 리드 요청 또는 메모리 라이트 요청을 포함할 수 있다. 멀티 채널 메모리(700)에 대한 억세스 요청은 메모리 어드레스(address) 또는 데이터(data) 등을 포함할 수 있다. 여기서, 메모리 어드레스는 물리 어드레스(physical address)(또는, 실 어드레스(real address))일 수 있다.
버스(600)는 마스터 장치(100)와 멀티 채널 메모리(700)의 사이에서 각종 정보를 교환할 수 있다.
멀티 채널 메모리(700)는 버스(600)와 연결될 수 있다. 멀티 채널 메모리(700)는, 버스(600)를 통해서, 마스터 장치(100)에 리드된 데이터를 전송하거나, 마스터 장치(100)로부터 라이트하기 위한 데이터를 수신할 수 있다.
멀티 채널 메모리(700)는 다수의 채널(CH0~CH3)을 가질 수 있다. 채널(CH0~CH3)은 데이터와 같은 각종 신호가 송수신되는 통로에 해당할 수 있다. 명확하게 도시하지 않았으나, 각각의 채널(CH0~CH3)은 데이터를 임시 저장하기 위한 버퍼를 포함할 수 있다.
도 6에서는 멀티 채널 메모리(700)가 네 개의 채널을 갖는 것으로 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 멀티 채널 메모리(700)는 2^n개의(단, n은 자연수) 채널을 가질 수 있다.
멀티 채널 메모리(300)는 하나의 메모리 컨트롤러(710; MEMORY CONTROLLER)와 다수의 메모리 장치(720, 730, 740, 750; MEMORY DEVICE)를 포함할 수 있다. 각각의 메모리 장치(720, 730, 740, 750)는 각각의 채널(CH0~CH3)을 통해 메모리 컨트롤러(710)와 연결될 수 있다. 각각의 메모리 장치(720, 730, 740, 750)는 적어도 하나의 메모리 칩을 포함할 수 있다.
본 발명의 다른 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(2)에서는, 버스(600)가 아닌 메모리 컨트롤러(710)가 채널 인터리빙 모듈(715; CHANNEL INTERLEAVING MODULE)를 포함할 수 있다. 채널 인터리빙 모듈(715)은, 버스(600)을 통해, 마스터 장치(100)로부터 멀티 채널 메모리(700)에 대한 억세스 요청을 수신하고, 이를 처리할 수 있다. 채널 인터리빙 모듈(715)은 마스터 장치(100)로부터 수신한 메모리 어드레스를 참조하여, 멀티 채널 메모리(700)의 다수의 채널 중 어느 하나의 채널을 할당할 수 있다. 그리고, 메모리 컨트롤러(710)는, 할당된 채널을 통해서, 마스터 장치(100)에게 멀티 채널 메모리(300)에 대한 억세스를 제공할 수 있다.
멀티 채널 메모리(700)는 채널 인터리빙(channel interleaving) 방식으로 동작할 수 있다. 마스터 장치(100)는 다수의 메모리 장치(720, 730, 740, 750)에 병렬적으로 억세스할 수 있다.
본 발명의 다른 실시예에 따른 멀티 채널 메모리를 포함하는 시스템(2)도 도 2 및 도 3을 참조하여 설명한 리드 동작 방법 및 라이트 동작 방법과 실질적으로 동일하게 동작할 수 있다.
도 7은 본 발명의 몇몇 실시예에 따른 멀티 채널 메모리를 포함하는 사용자 시스템을 설명하기 위한 도면이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 멀티 채널 메모리를 포함하는 사용자 시스템(1000)은 코어 프로세서(1100; CORE), 디스플레이 컨트롤러(1200; DISPLAY CONTROLLER), 인터페이스 장치(1300; INTERFACE), 메모리 시스템(1400), 주변 장치(1500; PERIPHERAL), 버스(1600)를 포함할 수 있다.
코어 프로세서(1100), 디스플레이 컨트롤러(1200), 인터페이스 장치(1300), 메모리 시스템(1400), 주변 장치(1500)는 버스(1600)를 통하여 서로 연결될 수 있다. 버스(1600)는 데이터들이 이동되는 통로(path)에 해당할 수 있다.
코어 프로세서(1100)는 하나의 프로세서 코어(single-core)를 포함하거나, 다수의 프로세서 코어(multi-core)를 포함하여 데이터를 처리할 수 있다. 예를 들어, 코어 프로세서(1100)는 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등의 멀티 코어(multi-core)를 포함할 수 있다. 도 10에는 명확하게 도시하지 않았으나, 코어 프로세서(1100)는 내부 또는 외부에 위치하는 캐시 메모리를 더 포함할 수 있다.
디스플레이 컨트롤러(1200)는 디스플레이 장치를 제어하여, 디스플레이 장치가 화상 또는 영상을 디스플레이하도록 할 수 있다.
인터페이스 장치(1300)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 예를 들어, 인터페이스 장치(1300)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다.
메모리 시스템(1400)은 명령어 및/또는 데이터 등을 저장하도록 구성될 수 있다. 메모리 시스템(1400)은 하나의 메모리 컨트롤러(1410; MEMORY CONTROLLER)와 다수의 메모리 장치(1420; MEMORY DEVICE)를 포함할 수 있다. 각각의 메모리 장치(1420)는 각각의 채널을 통해서 메모리 컨트롤러(1410)과 연결될 수 있다. 각각의 메모리 장치(1420)는 적어도 하나의 메모리 칩을 포함할 수 있다. 메모리 컨트롤러(1410)는 도 6을 참조하여 설명한 인터리빙 모듈(715)을 포함할 수 있다.
주변 장치(1500)는 직렬 통신 장치, 메모리 관리 장치, 오디오 처리 장치 등의 장치를 포함할 수 있다.
본 발명의 몇몇 실시예에 따른 멀티 채널 메모리를 포함하는 사용자 시스템(1000)도 도 2 및 도 3을 참조하여 설명한 리드 동작 방법 및 라이트 동작 방법과 실질적으로 동일하게 동작할 수 있다.
도 7에서는 도 6의 멀티 채널 메모리(700)과 동일한 구성의 메모리 시스템(1400)을 도시하였으나, 메모리 시스템(1400)은 도 1의 멀티 채널 메모리(300)와 동일한 구성으로 변형될 수 있다. 이 경우, 버스(1600)가 도 1을 참조하여 설명한 채널 인터리빙 모듈(250)을 포함할 수 있다.
도 8은 도 7의 사용자 시스템이 적용되는 전자 장치의 예를 설명하기 위한 도면이다. 도 8은 스마트 폰(2000)을 도시한 것이다.
도 8을 참조하면, 도 7의 사용자 시스템(1000)이 스마트 폰(2000)에 적용되는 경우, 사용자 시스템(1000)의 적어도 일부는 시스템 온 칩(System On Chip; SOC)의 형태로 구성될 수 있다.
한편, 사용자 시스템(1000)은 예시되지 않은 다른 전자 장치에도 적용될 수 있다. 예를 들어, 사용자 시스템(1000)은 개인용 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다.
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명의 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 그 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 시스템
100: 마스터 장치
200: 버스
250: 채널 인터리빙 모듈
255a, 255b: 채널 분배부
300: 멀티 채널 메모리
310, 320, 330, 340: 메모리 컨트롤러
315, 325, 335, 345: 메모리 장치

Claims (10)

  1. 2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리에 대한 억세스 요청을 수신하고,
    상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고,
    상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하되,
    상기 메모리 어드레스의 상기 n+1개 이상의 비트는 연속적인 n개 비트 및 상기 n개 비트보다 상위 비트를 포함하고,
    상기 상위 비트는 상기 n개 비트와 인접한, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 n개의 비트 중 최하위 비트는 상기 멀티 채널 메모리의 인터리브 유닛(interleave unit)에 대응하는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 억세스 요청의 상기 메모리 어드레스의 상기 n+1개 이상의 비트를 이용하여 채널 어드레스를 생성하고, 상기 채널 어드레스에 따라 상기 2^n개의 채널 중 어느 하나의 채널을 할당하는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  6. 제5항에 있어서,
    상기 채널 어드레스는 n개의 비트를 포함하는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  7. 제1항에 있어서,
    상기 2^n개의 채널 중 어느 하나의 채널을 할당하는 것은 상기 시스템의 버스 또는 메모리 컨트롤러에 의하여 수행되는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  8. 다수의 채널을 갖는 멀티 채널 메모리에 대한 억세스 요청을 수신하고,
    상기 억세스 요청의 메모리 어드레스를 참조하여 상기 다수의 채널 중 어느 하나의 채널을 할당하고,
    상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함하되,
    상기 다수의 채널 중 어느 하나의 채널을 할당하는 것은 상기 메모리 어드레스의, 상기 다수의 채널을 할당하기 위해 필요한 최소한의(minimum) 개수의 비트와 하나 이상의 추가적인 비트를 참조하여, 상기 메모리 어드레스의 제1 범위에서는 제1 순서에 따라 채널을 할당하고, 상기 메모리 어드레스의 상기 제1 범위와 다른 제2 범위에서는 상기 제1 순서와 다른 제2 순서에 따라 채널을 할당하는, 멀티 채널 메모리를 포함하는 시스템의 동작 방법.
  9. 프로세서;
    2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리; 및
    상기 프로세서의 상기 멀티 채널 메모리에 대한 억세스 요청을 처리하는 버스를 포함하되,
    상기 버스의 억세스 요청 처리는,
    상기 프로세서로부터 상기 멀티 채널 메모리에 대한 억세스 요청을 수신하고,
    상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고,
    상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함하고,
    상기 메모리 어드레스의 상기 n+1개 이상의 비트는 연속적인 n개 비트 및 상기 n개 비트보다 상위 비트를 포함하고,
    상기 상위 비트는 상기 n개 비트와 인접한, 멀티 채널 메모리를 포함하는 시스템.
  10. 프로세서;
    2^n개의(단, n은 자연수) 채널을 갖는 멀티 채널 메모리; 및
    상기 프로세서의 상기 멀티 채널 메모리에 대한 억세스 요청을 처리하는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러의 억세스 요청 처리는,
    상기 프로세서로부터 상기 멀티 채널 메모리에 대한 억세스 요청을 수신하고,
    상기 억세스 요청의 메모리 어드레스의 n+1개 이상의 비트를 참조하여 상기 2^n개의 채널 중 어느 하나의 채널을 할당하고,
    상기 할당된 채널을 통해 상기 멀티 채널 메모리에 대한 억세스를 제공하는 것을 포함하고,
    상기 메모리 어드레스의 상기 n+1개 이상의 비트는 연속적인 n개 비트 및 상기 n개 비트보다 상위 비트를 포함하고,
    상기 상위 비트는 상기 n개 비트와 인접한, 멀티 채널 메모리를 포함하는 시스템.
KR1020140012165A 2014-02-03 2014-02-03 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 KR102161448B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140012165A KR102161448B1 (ko) 2014-02-03 2014-02-03 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
US14/612,516 US9811460B2 (en) 2014-02-03 2015-02-03 System including multi channel memory and operating method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140012165A KR102161448B1 (ko) 2014-02-03 2014-02-03 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20150091663A KR20150091663A (ko) 2015-08-12
KR102161448B1 true KR102161448B1 (ko) 2020-10-05

Family

ID=53755369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140012165A KR102161448B1 (ko) 2014-02-03 2014-02-03 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법

Country Status (2)

Country Link
US (1) US9811460B2 (ko)
KR (1) KR102161448B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310503A1 (en) * 2013-04-12 2014-10-16 Texas Instruments Incorporated Memory interleaving on memory channels
KR20180118329A (ko) 2017-04-21 2018-10-31 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법
KR102244921B1 (ko) * 2017-09-07 2021-04-27 삼성전자주식회사 저장 장치 및 그 리프레쉬 방법
KR102387977B1 (ko) 2017-11-29 2022-04-19 삼성전자주식회사 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
CN111143235A (zh) 2018-11-06 2020-05-12 爱思开海力士有限公司 多内核存储器***中的逻辑地址分配
KR20210026832A (ko) * 2019-09-02 2021-03-10 에스케이하이닉스 주식회사 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US20210382992A1 (en) * 2019-11-22 2021-12-09 Pure Storage, Inc. Remote Analysis of Potentially Corrupt Data Written to a Storage System
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11520907B1 (en) * 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11500788B2 (en) * 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
TWI736155B (zh) * 2020-02-27 2021-08-11 瑞昱半導體股份有限公司 用於多個記憶裝置的控制方法及相關的記憶體系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139290A1 (en) * 2003-01-10 2004-07-15 Gilbert Wolrich Memory interleaving
US20120054455A1 (en) * 2010-08-31 2012-03-01 Qualcomm Incorporated Non-Uniform Interleaving Scheme In Multiple Channel DRAM System

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3546788B2 (ja) 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
JP2009223433A (ja) 2008-03-13 2009-10-01 Toshiba Corp データ転送装置
US8086783B2 (en) 2009-02-23 2011-12-27 International Business Machines Corporation High availability memory system
KR101543246B1 (ko) 2009-04-24 2015-08-11 삼성전자주식회사 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치
JP2011013835A (ja) 2009-06-30 2011-01-20 Canon Inc メモリシステム、メモリアクセス方法、及びプログラム
KR101581857B1 (ko) 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
US8375173B2 (en) 2009-10-09 2013-02-12 Qualcomm Incorporated Accessing a multi-channel memory system having non-uniform page sizes
US8285946B2 (en) 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
JP5800347B2 (ja) 2010-03-31 2015-10-28 日本電気株式会社 情報処理装置及びデータアクセス方法
US20110320751A1 (en) 2010-06-25 2011-12-29 Qualcomm Incorporated Dynamic Interleaving Of Multi-Channel Memory
TWI434175B (zh) 2010-09-27 2014-04-11 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139290A1 (en) * 2003-01-10 2004-07-15 Gilbert Wolrich Memory interleaving
US20120054455A1 (en) * 2010-08-31 2012-03-01 Qualcomm Incorporated Non-Uniform Interleaving Scheme In Multiple Channel DRAM System

Also Published As

Publication number Publication date
KR20150091663A (ko) 2015-08-12
US9811460B2 (en) 2017-11-07
US20150221349A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
KR102161448B1 (ko) 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
US10552935B2 (en) Direct communication between GPU and FPGA components
KR102363526B1 (ko) 복수의 엑세스 모드를 지원하는 불휘발성 메모리를 포함하는 시스템 및 그것의 엑세스 방법
KR102317657B1 (ko) Nvdimm을 포함하는 장치 및 그것의 엑세스 방법
KR101973732B1 (ko) 가상화 컴퓨팅 환경내 직접 메모리 액세스 요청들 라우팅
EP3214553A1 (en) Storage resource access method supporting sr-iov, storage controller and storage device
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
US10452604B2 (en) Method and bus for accessing dynamic random access memory
US20150058597A1 (en) Splitting direct memory access windows
US9626285B2 (en) Storage resource allocation to dataflows based on data requirements and attributes
US9852107B2 (en) Techniques for scalable endpoint addressing for parallel applications
CN110187832B (zh) 一种数据操作的方法、设备和***
KR102594657B1 (ko) 비순차적 리소스 할당을 구현하는 방법 및 장치
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
JP2016505946A (ja) 複数のバーチャルマシーンをマッピングする方法及びシステム並びにクライアント装置
EP3159802A1 (en) Sharing method and device for pcie i/o device and interconnection system
US9229891B2 (en) Determining a direct memory access data transfer mode
US9710381B2 (en) Method and apparatus for cache memory data processing
US9104600B2 (en) Merging direct memory access windows
CN113254073A (zh) 数据处理方法及装置
US8364879B2 (en) Hierarchical to physical memory mapped input/output translation
CN104216834A (zh) 一种内存访问的方法、缓冲调度器和内存模块
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
US8938561B2 (en) Time-sharing buffer access system
US10481951B2 (en) Multi-queue device assignment for application groups

Legal Events

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