KR20200055132A - 메모리 시스템에서 채널 깊이 조절 - Google Patents

메모리 시스템에서 채널 깊이 조절 Download PDF

Info

Publication number
KR20200055132A
KR20200055132A KR1020207012840A KR20207012840A KR20200055132A KR 20200055132 A KR20200055132 A KR 20200055132A KR 1020207012840 A KR1020207012840 A KR 1020207012840A KR 20207012840 A KR20207012840 A KR 20207012840A KR 20200055132 A KR20200055132 A KR 20200055132A
Authority
KR
South Korea
Prior art keywords
memory
channel
channel depth
depth
area
Prior art date
Application number
KR1020207012840A
Other languages
English (en)
Other versions
KR102267983B1 (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 마이크론 테크놀로지, 인크.
Publication of KR20200055132A publication Critical patent/KR20200055132A/ko
Application granted granted Critical
Publication of KR102267983B1 publication Critical patent/KR102267983B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • 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
    • 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
    • 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/1016Performance improvement
    • 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/1028Power efficiency
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Semiconductor Memories (AREA)
  • Information Transfer Systems (AREA)

Abstract

동적으로 구성가능한 채널 깊이를 포함하는 메모리 디바이스, 시스템 및 방법이 개시된다. 하드웨어 및/또는 소프트웨어 요구조건에 기초하여 채널 깊이를 조절하는 디바이스, 시스템 및 방법이 기술된다. 하나의 이러한 디바이스는 상이한 메모리 프로세스의 요구조건에 응답하여 상기 동일한 물리적 메모리 영역에 대해 채널 깊이를 조절하는 가상 메모리 동작을 제공한다.

Description

메모리 시스템에서 채널 깊이 조절{CHANNEL DEPTH ADJUSTMENT IN MEMORY SYSTEMS}
우선권 출원
본 출원은, 전체 내용이 본 명세서에 참조 문헌으로 병합된, 2011년 4월 19일에 출원된 미국 출원 번호 13/089,621의 우선권의 이익을 청구한다.
컴퓨터 메모리 동작은 종종 기술적 장애와의 경쟁을 처리한다. 고속 메모리 성능은 높은 대역폭을 갖는 디바이스를 설계하는 것에 의해 획득될 수 있다. 그러나, 높은 대역폭은 종종 동작하는데 많은 양의 전력을 요구한다. 전력 소비는 또한 낮은 것이 바람직하며, 이는 종종 더 빠른 메모리 동작에 대한 요구와 경쟁한다. 메모리 속도를 개선하고 또한 전력 소비를 개선하는 메모리 디바이스를 제공하는 것이 바람직하다.
도 1은 본 발명의 실시예에 따른 전자 시스템에 연결된 메모리 시스템을 포함하는 시스템을 도시한 도면;
도 2는 본 발명의 실시예에 따른 동작에서 메모리 시스템의 블록도를 도시한 도면;
도 3은 본 발명의 실시예에 따른 메모리 디바이스를 포함하는 정보 처리 시스템을 도시한 도면.
본 발명의 이하 상세한 설명에서, 본 명세서의 일부를 형성하고 본 발명을 실시할 수 있는 특정 실시예를 예를 들어 도시하는 첨부 도면을 참조한다. 이들 실시예는 이 기술 분야에 통상의 지식을 가진 자가 본 발명을 실시할 수 있게 할만큼 충분히 상세히 설명된다. 다른 실시예도 사용될 수 있고 물질적, 구조적, 논리적, 전기적 변경 등이 이루어질 수 있다.
도 1은 전자 시스템(140)에 (예를 들어, 무선, 유선, 또는 광 인터페이스를 통해) 연결된 메모리 시스템(100)을 도시한다. 메모리 시스템(100)의 예는 서로 연결된 하나 이상의 개별 메모리 디바이스를 포함할 수 있다. 일례에서, 메모리 시스템(100) 및 전자 시스템(140)을 포함하는 시스템은 아래 도 3에 설명된 예시와 유사한 퍼스널 컴퓨터와 같은 정보 처리 시스템일 수 있다. 다른 이러한 시스템은 예를 들어, 뮤직 플레이어, 전화, 넷북(netbook) 등을 포함할 수 있다. 도 1에서 전자 시스템(140)은 다수의 마스터(master)(142)를 포함한다. 마스터(142)의 예는 프로세서, 그래픽 프로세서(GPU) 등과 같은 하드웨어 디바이스를 포함하거나, 또는 임의의 개수의 개별 소프트웨어 애플리케이션을 포함하나, 이들로 제한되지 않는다. 다수의 마스터(142)가 도 1에 도시되어 있으나, 본 발명은 이들로 제한되지 않는다. 다른 구성은 단 하나의 단일 마스터(142)를 포함한다.
도 1의 메모리 시스템(100)은 개념적으로 (예를 들어, 메모리 맵(map)(104)에 의해) 다수의 여러 메모리 영역(예를 들어, 부분)으로 분할될 수 있는 물리적 메모리의 모듈 또는 모듈들(시스템 전체에 걸쳐 중앙에 위치되었건 또는 분산 위치되었건 상관없이)과 같은 메모리 디바이스(102)를 포함한다. 메모리 시스템(100)은 동적 채널(110)을 사용하여 전자 시스템(140)에 연결되고 이 전자 시스템에 의해 액세스된다. 동적 채널(110)은 다수의 구성가능한 채널 부분(112)을 포함하는 것으로 도시된다.
메모리 동작에서, 구성가능한 채널 부분(112)은 동적으로 사용되거나, 또는 동적 채널(110)에 아이들(idle) 상태로 유지된다. 구성가능한 채널 부분(112)을 추가하는 것에 의해, 채널 폭이 증가되어 더 많은 데이터가 전자 시스템(140)으로부터 메모리 시스템(100)으로 병렬로 전달될 수 있다. 일례에서, 하나 이상의 채널 부분(112)은 구성가능한 깊이(configurable depth)를 포함한다. 채널 폭과는 대조적으로, 본 명세서에서는, 채널 부분의 깊이가 예를 들어, 바이트의 수로서 한정될 수 있고, 이는 메모리 동작 동안 그 다음 채널 부분(112)을 사용하기 전에 채널 부분(112)을 사용하여 액세스된다.
일례에서, 주어진 메모리 전달(transfer) 동안, 선택된 채널 깊이는 또한 채널 폭을 결정한다. 예를 들어, 8개의 이용가능한 채널 부분(112), 및 128B 전달(transfer)을 가지는 시스템에서, 채널 깊이가 16B로 선택된다면, 각 채널 부분은 그 다음 채널 부분(112)으로 증분(increment)하기 전에 16B를 전달할 수 있고, 8개의 채널 부분이 증분되었다면 128B가 전달될 수 있다. 대신에 채널 깊이가 32B로 선택된다면, 각 채널 부분은 그 다음 채널 부분(112)으로 증분하기 전에 32B를 전달할 수 있고, 4개의 채널 부분이 증분되었다면 128B가 전달될 수 있다.
선택된 메모리 동작에서는, 주어진 폭을 넘는 광폭(wide) 채널 또는 병렬 시스템(예를 들어, 높은 대역폭)은 필요치 않다. 예를 들어, 판독 동작에서, 데이터를 수신하는 마스터(142)가 주어진 속도보다 더 빨리 데이터를 처리할 수 없다면, 이 주어진 속도를 넘는 데이터 속도를 가능하게 하는 임의의 여분의 채널 폭은 필요치 않다. 일례에서, 동적 채널(110)은 주어진 마스터(142)에 최적화된 채널 깊이/폭을 제공하도록 구성된다. 미사용된 구성가능한 채널 부분(112), 및 연관된 메모리 어레이는 작동(예를 들어, 전력 투입)되지 않아서, 메모리 디바이스(100)는 더 에너지 효율적이다. 추가적인 채널 폭(대역폭)이 필요치 않는 메모리 동작의 일례는 그래픽 동작을 포함할 수 있다. 그래픽 마스터는 레이턴시에 더 민감하지 않을 수 있고, 데이터 트랜잭션에 드는 여분의 수 나노초 시간이 성능에 영향을 미쳐서는 안 된다.
도 1의 메모리 시스템(100)은 또한 데이터로 저장되고, 블록도 형태로 도 1에 도시된 메모리 맵(104)을 포함한다. 본 명세서에서, 메모리 맵은 메모리에 저장된 개념적 구조이고, 예시를 위하여 블록(104)으로 도시된다. 일례에서, 메모리 맵(104)은 비휘발성 메모리에 또는 드라이브에 저장되고 부트 시간(boot time)에 판독된다. 메모리 맵(104)은 메모리 펌웨어에 메모리 디바이스(100)의 저장 용량을 알려주고, 메모리의 상이한 영역의 사이즈, 및 메모리의 상이한 영역에 대한 동적 채널(110)의 특성과 같은 변수를 한정한다.
일례에서, 메모리 맵으로부터 데이터는 메모리 동작 동안 하나 이상의 구성가능한 채널 부분(112)의 채널 깊이를 업(up) 또는 다운(down)으로 동적으로 조절한다. 일례에서, 메모리 맵은 상이한 마스터(142)에 응답하여 동적 채널(110)의 구성가능한 채널 부분(112)의 채널 깊이를 조절하도록 변경된다. 일례에서, 메모리 맵은 상이한 소프트웨어 애플리케이션에 응답하여 구성가능한 채널 부분(112)의 채널 깊이를 조절하도록 변경된다. 상이한 소프트웨어 애플리케이션은 상이한 속도로 데이터를 사용할 수 있다. 소프트웨어 애플리케이션과 매칭하도록 동적 채널(110) 내의 채널 깊이를 최적화하는 것에 의해, 소프트웨어 애플리케이션의 능력(capability)에 따라 전력 절감이 실현되거나, 또는 개선된 애플리케이션 속도가 실현될 수 있다.
일례에서, 메모리 맵(104)은 메모리 요청으로부터 채널 깊이를 조절하기 위해 채널 깊이 선택 신호를 수신한다. 이러한 구성에서, 채널 깊이는 메모리 요청에서 데이터에 영구적(persistent)이다. 일례에서 채널 깊이는 메모리 요청에서 메모리 어드레스 비트(bit)에 포함된다. 일례 메모리 요청은 물리적 어드레스의 행(row) 선택, 뱅크(bank) 선택 및 열(column) 선택에 대응하는 비트를 포함한다. 이러한 어드레스 구성에서, 계층의 탑(top)은 행이고, 이후 뱅크이고, 이후 열일 수 있다. 채널 선택 비트가 위치된 어드레스의 최하위 비트(least significant bit)에 가까우면 가까울수록, 그 다음 채널로 이동하기 전에 채널마다 액세스될 수 있는 바이트의 수는 더 적어진다. 일례에서, 채널 선택 비트는 뱅크 선택 비트 후에 위치된다. 또 다른 예시에서, 채널 선택 비트는 열 선택 비트와 인터리빙(interleaved)된다.
일례에서, 메모리 시스템(100)은 동적 채널(110) 내 채널 깊이를 조절하기 위해 레지스터(106)를 포함한다. 레지스터(106)를 사용하는 예시적인 구성은 하드웨어 마스터(142)로부터 요청에 의하여 채널 깊이를 선택하는 것을 포함한다.
도 2는 제1 메모리 디바이스(200)를 포함하는 도 1의 메모리 시스템(100)과 같은 메모리 시스템을 도시한다. 제1 메모리 디바이스(200)(예를 들어, 메인 메모리 모듈 또는 모듈들)는 메모리 동작의 설명에서 아래에 사용되는 다수의 영역(A-E)으로 (예를 들어, 메모리 맵에 의해) 개념적으로 분할된 것으로 도시된다. 또한 커널 영역(Kernel region), 및 운영 시스템 영역(operating system region)(OS)이 도시된다. 영역(A-E), 커널, 및 OS가 제1 메모리 디바이스(200)의 공간 전부를 차지하는 것으로 도시되어 있으나, 도 2의 블록도는 단지 영역의 예시일 뿐이다. 메모리 시스템의 예를 들어, 물리적 메모리 및/또는 가상 메모리는 도 2에 도시된 예시보다 더 많거나 더 적을 수도 있다.
일례에서, 메모리 디바이스(200)는 도 1에 도시된 바와 같이 동적 채널(110)과 같은 동적 채널에 연결된다. 일례에서, 영역(A) 내지 (E)는 채널 깊이를 동적으로 선택하기 위하여 메모리 맵을 사용하여 모두 액세스될 수 있다. 일례에서, 커널 영역은 고정된 채널 깊이를 사용하여 액세스된다. 일례에서, OS 영역은 고정된 채널 깊이를 사용하여 액세스된다. 일례에서, 커널 영역 및 OS 영역 둘 모두는 고정된 채널 깊이를 구비한다. 커널 영역 및 OS 영역의 각 고정된 채널 깊이는 메모리 속도 및 전력 요구조건과 같은 요구조건에 따라 동일한 깊이이거나, 또는 상이한 고정된 채널 깊이를 구비할 수 있다.
2차 메모리 디바이스(260)(예를 들어 하드 디스크 드라이브 또는 솔리드 스테이트 드라이브(solid state drive: SSD))가 또한 도 2에 도시된다. 본 발명의 선택된 실시예에서, 페이징 구성과 같은 가상 메모리 구성은 2차 메모리 디바이스(260)를 사용하여 메모리 시스템의 메모리 능력을 확장한다.
제1 메모리 동작(예를 들어, 가상 메모리 프로세스(220)) 및 후속하는 제2 메모리 동작(예를 들어, 가상 메모리 프로세스(240))이 도 2에 도시된다. 일례에서, 제1 메모리 프로세스(220)의 요구조건(예를 들어 레이턴시, 대역폭, 전력)은 제2 메모리 프로세스(240)의 요구조건과 상이하다. 제1 프로세스(220)는 (예를 들어, 운영 시스템에 의해) 영역(C)에 할당된 데이터 파트(222)(예를 들어, 페이지), 영역(E)에 할당된 데이터 파트(226), 및 2차 메모리(260)에 할당된 데이터 파트(224 및 228)를 구비하는 것으로 도시된다. 제2 프로세스(240)는 운영 시스템이 제1 프로세스(220)가 완료된 후에 영역(C)을 제2 프로세스(240)에 재할당하는 경우와 같이, 상이한 시간에 영역(C)에 할당된 데이터 파트(242)를 구비하는 것으로 도시된다.
일 실시예에서, 가상 메모리의 페이지가 OS에 의해 할당될 때, 페이지의 채널 깊이는 이 시간에 선언(declared)된다. 일례에서, 선언된 채널 깊이는 페이지가 스왑 아웃(swapped out)되거나, 또는 주어진 프로세스가 완료될 때 재활용(reclaimed)될 때까지 영구적이다. 가상 메모리를 사용하는 상이한 프로세스는 레이턴시, 대역폭, 및 전력에 있어 상이한 요구조건을 구비할 수 있으므로, 상이한 시간에 상이한 깊이를 사용하여 메모리에 액세스하는 프로세스는 이 시간에 실행되는 특정 프로세스에 최적화된 메모리 액세스를 생성할 수 있다.
도 2의 제2 메모리 프로세스(240)에서, 제2 채널 깊이는 제2 메모리 프로세스(240)의 요구조건에 응답하여 (예를 들어, 이에 기초하여) 선언된다. 상기 실시예에서 설명된 바와 같이, 이 요구조건은 하드웨어 기반, 소프트웨어 기반, 또는 둘 모두에 기반할 수 있다. 도 2의 예시는, 2개 이상의 메모리 프로세스(220, 240)를 포함하는 선택된 메모리 동작에서, 채널 깊이는 비록 상이한 메모리 프로세스가 메모리의 동일한 물리적 영역(C)을 사용한다 하더라도, 시간에 따라 상이하게 구성될 수 있다는 것을 도시한다.
컴퓨터와 같은 정보 처리 시스템의 실시예는 본 발명의 더 높은 레벨의 디바이스 애플리케이션의 실시예를 보여주기 위해 도 3에 포함된다. 도 3은 전술된 바와 같이 본 발명의 동적 채널 메모리 디바이스를 포함하는 정보 처리 시스템(300)의 블록도이다. 정보 처리 시스템(300)은 본 발명의 동적 채널 메모리 디바이스가 사용될 수 있는 시스템의 단지 일 실시예일 뿐이다. 다른 예시에는 넷북, 카메라, 퍼스널 데이터 어시스턴트(personal data assistant: PDA), 셀룰러 전화, MP3 플레이어, 항공기, 위성, 군용 차량 등을 포함하나 이들로 제한되지 않는다.
이 예시에서, 정보 처리 시스템(300)은 시스템의 여러 성분에 연결하도록 시스템 버스(302)를 포함하는 데이터 프로세싱 시스템을 포함한다. 시스템 버스(302)는 정보 처리 시스템(300)의 여러 성분 중에서 통신 링크를 제공하고 단일 버스로, 버스의 조합으로, 또는 임의의 다른 적절한 방식으로 구현될 수 있다.
칩 조립체(304)는 시스템 버스(302)에 연결된다. 칩 조립체(304)는 임의의 회로 또는 회로의 동작가능하게 호환가능한 조합을 포함할 수 있다. 일 실시예에서, 칩 조립체(304)는 임의의 유형일 수 있는 프로세서(306)를 포함한다. 본 명세서에 사용된 바와 같이, "프로세서"란 마이크로프로세서, 마이크로제어기, 그래픽 프로세서, 디지털 신호 프로세서(DSP), 또는 임의의 다른 유형의 프로세서, 이들의 프로세싱 회로 또는 코어를 포함하나 이들로 제한되지 않는 임의의 유형의 연산(computational) 회로를 의미한다.
일 실시예에서, 메모리 디바이스(307)는 칩 조립체(304)에 포함된다. 일 실시예에서, 프로세서 칩이 아닌 추가적인 논리 칩(308)이 칩 조립체(304)에 포함된다. 프로세서가 아닌 논리 칩(308)의 예시는 메모리 제어기를 포함한다. 주문형 회로, 응용 특정집적 회로(ASIC) 등과 같은 논리 칩(308) 상에 다른 회로들이 또한 본 발명의 일 실시예에 포함된다.
정보 처리 시스템(300)은 또한 하나 이상의 하드 드라이브(312), 및/또는 콤팩트 디스크(CD), 플래시 드라이브, 디지털 비디오 디스크(DVD) 등과 같은 이동식 매체(313)를 처리하는 하나 이상의 드라이브와 같은, 특정 애플리케이션에 적절한 하나 이상의 메모리 요소를 포함할 수 있는 2차 메모리(311)를 포함할 수 있다.
정보 처리 시스템(300)은 또한 모니터와 같은 디스플레이 디바이스(309), 스피커 등 및 키보드와 같은 추가적인 주변 장치 성분(310) 및/또는 시스템 유저로 하여금 데이터를 정보 처리 시스템(300)에 입력할 수 있게 하고 이 정보 처리 시스템으로부터 데이터를 수신할 수 있게 하는 마우스, 트랙볼, 게임 제어기, 음성-인식 디바이스, 또는 임의의 다른 디바이스를 포함할 수 있는 제어기(314)를 포함할 수 있다.
본 발명의 다수의 실시예들이 설명되어 있으나, 상기 리스트는 배타적인 것으로 의도된 것이 아니다. 특정 실시예가 본 명세서에 도시되고 설명되었으나, 이 기술 분야에 통상의 지식을 가진 자라면 동일한 목적을 달성하도록 계산된 임의의 배열이 도시된 특정 실시예 대신에 사용될 수 있다는 것을 이해할 수 있을 것이다. 본 응용은 본 발명의 임의의 변경 또는 변형을 포함하도록 의도된 것이다. 상기 설명은 예시적일 것일 뿐 발명을 제한하려는 것이 아닌 것으로 이해된다. 상기 실시예의 조합 및, 다른 실시예들이 상기 상세한 설명을 연구하면 이 기술 분야에 통상의 지식을 가진 자에게는 명백할 것이다.

Claims (27)

  1. 채널 깊이를 사용해서 제1 메모리 동작 동안 메모리 디바이스의 영역에 액세스하는 방법으로서, 상기 방법은,
    상기 메모리 영역이 제2 메모리 동작에 할당된 것에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 메모리 동작은 제1 가상 메모리 프로세스를 포함하고, 상기 제2 메모리 동작은 제2 가상 메모리 프로세스를 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 제2 메모리 동작 동안 상기 메모리 영역을 사용하여 소프트웨어의 능력(capability of software)에 기초하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
  4. 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 제2 메모리 동작 동안 상기 메모리 영역을 사용하여 하드웨어의 능력에 기초하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
  5. 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 하드웨어 마스터로부터 채널 깊이 선택 신호를 송신하는 단계를 포함하는 것인 방법.
  6. 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 메모리 디바이스에 연결된 메모리 제어기 내 레지스터에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
  7. 제1항에 있어서, 상기 채널 깊이는 마스터로부터 메모리 제어기로 가는 데이터에 영구적인 것인 방법.
  8. 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 메모리 요청에 응답하여 상기 채널 깊이를 조절하는 단계를 포함 하는 것인 방법.
  9. 채널 깊이를 사용해서 제1 메모리 요청에 응답하여 메모리 디바이스의 영역에 액세스하는 방법으로서, 상기 방법은,
    제2 메모리 요청에서 채널 선택 비트에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 제2 메모리 요청은 행 선택 비트 및 뱅크 선택 비트를 더 포함하는 것인 방법.
  11. 제10항에 있어서, 상기 채널 선택 비트는 상기 뱅크 선택 비트 뒤에 있는 것은 방법.
  12. 제11항에 있어서, 상기 채널 선택 비트는 상기 열 선택 비트와 인터리빙된 것인 방법.
  13. 채널 깊이를 가지는 메모리 디바이스의 영역을 가상 메모리의 제1 페이지에 할당하는 방법으로서, 상기 방법은,
    상기 영역을 상기 가상 메모리의 제2 페이지에 할당하는 것에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법.
  14. 제13항에 있어서, 상기 영역은 제1 영역을 포함하고, 상기 메모리 디바이스의 제2 영역의 채널 깊이는 상기 메모리 디바이스의 동작 동안 고정된 것인 방법.
  15. 제14항에 있어서, 상기 제2 영역은 커널 영역을 포함하는 것인 방법.
  16. 제15항에 있어서, 상기 제2 영역은 운영 시스템 영역을 포함하는 것인 방법.
  17. 제16항에 있어서, 상기 커널 영역의 고정된 채널 깊이는 상기 운영 시스템 영역의 고정된 채널 깊이와는 상이한 것인 방법.
  18. 시스템으로서,
    가상 메모리 프로세스를 관리하기 위한 메모리 제어기;
    다수의 메모리 영역;
    상기 다수의 영역에 액세스하기 위해 구성가능한 채널 깊이를 구비하는 채널; 및
    가상 메모리 동작 동안 상이한 시간에 주어진 메모리 영역에 대한 채널 깊이를 조절하기 위한 메모리 맵을 포함하는 시스템.
  19. 제18항에 있어서, 선택된 채널 깊이를 저장하기 위한 레지스터를 더 포함하는 시스템.
  20. 제18항에 있어서, 상기 메모리 맵은 메모리 요청의 어드레스 내로부터 채널 깊이 요청을 해석(interpret)하도록 구성된 것인 시스템.
  21. 제18항에 있어서, 상기 메모리 맵은 다수의 상이한 하드웨어 마스터로부터 채널 깊이 요청을 해석하도록 구성된 것인 시스템.
  22. 제18항에 있어서, 커널 메모리 영역의 채널 깊이는 고정된 것인 시스템.
  23. 제18항에 있어서, 운영 시스템 메모리 영역의 채널 깊이는 고정된 것인 시스템.
  24. 시스템으로서,
    다수의 메모리 영역을 포함하는 메모리 디바이스; 및
    상기 다수의 영역에 액세스하도록 다수의 채널 부분을 포함하는 채널을 포함하되,
    상기 채널 부분 중 적어도 하나는 조절가능한 깊이를 구비하는 것인 시스템.
  25. 제24항에 있어서, 조절가능한 깊이를 구비하는 상기 채널 부분 중 상기 적어도 하나는 동적으로 조절가능한 깊이를 구비하는 채널 부분을 포함하는 것인 시스템.
  26. 제24항에 있어서, 메모리 맵을 더 포함하되, 상기 메모리 맵은 상기 채널 부분 중 상기 적어도 하나의 채널 부분의 상기 깊이를 조절하도록 변경될 수 있는 것인 시스템.
  27. 제26항에 있어서, 상기 메모리 맵은 상기 메모리 디바이스에 저장되는 것인 시스템.
KR1020207012840A 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절 KR102267983B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/089,621 2011-04-19
US13/089,621 US10838886B2 (en) 2011-04-19 2011-04-19 Channel depth adjustment in memory systems
PCT/US2012/034125 WO2012145432A2 (en) 2011-04-19 2012-04-18 Channel depth adjustment in memory systems
KR1020137030191A KR20140025462A (ko) 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137030191A Division KR20140025462A (ko) 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절

Publications (2)

Publication Number Publication Date
KR20200055132A true KR20200055132A (ko) 2020-05-20
KR102267983B1 KR102267983B1 (ko) 2021-06-23

Family

ID=47022175

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207012840A KR102267983B1 (ko) 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절
KR1020137030191A KR20140025462A (ko) 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020137030191A KR20140025462A (ko) 2011-04-19 2012-04-18 메모리 시스템에서 채널 깊이 조절

Country Status (7)

Country Link
US (2) US10838886B2 (ko)
EP (1) EP2700013B1 (ko)
JP (1) JP6259755B2 (ko)
KR (2) KR102267983B1 (ko)
CN (1) CN103477330B (ko)
TW (1) TWI541648B (ko)
WO (1) WO2012145432A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838886B2 (en) 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
KR20130109426A (ko) * 2012-03-27 2013-10-08 삼성전자주식회사 메모리 확장 장치 및 그것을 사용하는 휴대용 모바일 장치
US9430434B2 (en) * 2013-09-20 2016-08-30 Qualcomm Incorporated System and method for conserving memory power using dynamic memory I/O resizing
US9626286B2 (en) * 2014-10-03 2017-04-18 Sandisk Technologies Llc Hardware and firmware paths for performing memory read processes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100268321B1 (ko) * 1996-11-18 2000-10-16 가네꼬 히사시 가상 채널 메모리 시스템
KR20080014066A (ko) * 2005-06-23 2008-02-13 인텔 코포레이션 메모리 제어기, 데이터 반환 방법 및 시스템
WO2010111281A2 (en) * 2009-03-23 2010-09-30 Micron Technology, Inc. Configurable bandwidth memory devices and methods
US20110107054A1 (en) * 2009-11-03 2011-05-05 International Business Machines Corporation Expanding memory size

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) * 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
JPH02121042A (ja) * 1988-10-31 1990-05-08 Toshiba Corp メモリシステム
JPH0659972A (ja) * 1992-08-05 1994-03-04 Oki Electric Ind Co Ltd メモリ制御装置
US5465332A (en) 1992-09-21 1995-11-07 International Business Machines Corporation Selectable 8/16 bit DMA channels for "ISA" bus
JPH08278916A (ja) 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
DE69628326D1 (de) 1995-10-06 2003-06-26 Patriot Scient Corp Architektur für einen risc-mikroprozessor
US5761694A (en) 1995-11-30 1998-06-02 Cirrus Logic, Inc. Multi-bank memory system and method having addresses switched between the row and column decoders in different banks
JPH09259041A (ja) 1996-03-27 1997-10-03 Hitachi Ltd キャッシュメモリ制御方式
US6470409B1 (en) * 1996-11-26 2002-10-22 Xilinx Inc. Interface system having a programmable number of channels and methods of implementing same
JPH10232819A (ja) 1997-02-20 1998-09-02 Canon Inc メモリ制御装置およびメモリアクセス方法
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers
JP4388643B2 (ja) * 1999-10-15 2009-12-24 富士通株式会社 マルチチャンネル信号処理装置
US6708254B2 (en) * 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system
JP3546788B2 (ja) * 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
US6847650B1 (en) * 2000-06-29 2005-01-25 Sony Corporation System and method for utilizing a memory device to support isochronous processes
US6625685B1 (en) * 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6816165B1 (en) 2000-12-13 2004-11-09 Micron Technology, Inc. Memory system having multiple address allocation formats and method for use thereof
JP4156817B2 (ja) * 2001-07-27 2008-09-24 株式会社日立製作所 記憶装置システム
US6978259B1 (en) * 2001-10-23 2005-12-20 Hewlett-Packard Development Company, L.P. Automated system adaptation technique particularly for data storage systems
US7231484B2 (en) 2002-09-30 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
US7080229B2 (en) * 2002-10-28 2006-07-18 Network Appliance Inc. Method and system for strategy driven provisioning of storage in a storage area network
US7065126B2 (en) * 2003-02-25 2006-06-20 Interdigital Technology Corporation Components and methods for processing in wireless communication data in presence of format uncertainty
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
TWI299497B (en) * 2004-06-24 2008-08-01 Via Tech Inc Method and related apparatus for accessing memory apparatus
JP3955862B2 (ja) 2004-09-27 2007-08-08 株式会社ルネサステクノロジ データ処理装置、及びそれを用いたシステム
US8356127B2 (en) * 2004-12-09 2013-01-15 Rambus Inc. Memory interface with workload adaptive encode/decode
US7480761B2 (en) 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
US8387034B2 (en) 2005-12-21 2013-02-26 Management Services Group, Inc. System and method for the distribution of a program among cooperating processing elements
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US8255599B2 (en) * 2006-03-28 2012-08-28 Integrated Device Technology Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities
US7502908B2 (en) 2006-05-04 2009-03-10 International Business Machines Corporation Method for providing an address format compatible with different addressing formats used for addressing different sized address spaces
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
CN101681282A (zh) * 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US20080250212A1 (en) * 2007-04-09 2008-10-09 Ati Technologies Ulc Method and apparatus for accessing memory using programmable memory accessing interleaving ratio information
US9495290B2 (en) 2007-06-25 2016-11-15 Sonics, Inc. Various methods and apparatus to support outstanding requests to multiple targets while maintaining transaction ordering
JP5731730B2 (ja) 2008-01-11 2015-06-10 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体記憶装置及びその半導体記憶装置を含むデータ処理システム
US8352705B2 (en) 2008-01-15 2013-01-08 Vmware, Inc. Large-page optimization in virtual memory paging systems
US8225068B2 (en) 2008-06-09 2012-07-17 International Business Machines Corporation Virtual real memory exportation for logical partitions
US8812809B2 (en) * 2008-06-10 2014-08-19 Oracle America, Inc. Method and apparatus for allocating memory for immutable data on a computing device
KR100948158B1 (ko) 2008-06-16 2010-03-18 엘지전자 주식회사 그래픽 코어를 포함하는 멀티 프로세서, 이를 구비한컴퓨터 및 이의 메모리 운용방법
US8386750B2 (en) 2008-10-31 2013-02-26 Cray Inc. Multiprocessor system having processors with different address widths and method for operating the same
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
US8473691B2 (en) * 2009-02-27 2013-06-25 Ryosuke Ohgishi Memory management device, image forming apparatus, and image forming method
TW201110135A (en) 2009-09-02 2011-03-16 Silicon Motion Inc Method for establishing a communication channel between a host device and a memory device, associated memory device and controller thereof, and associated host device and host device application
EP2513802B1 (en) * 2009-12-14 2015-03-18 Rambus Inc. Expandable asymmetric-channel memory system
US8438341B2 (en) * 2010-06-16 2013-05-07 International Business Machines Corporation Common memory programming
US8892844B2 (en) 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US10838886B2 (en) 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
US10740270B2 (en) * 2015-06-26 2020-08-11 Hewlett Packard Enterprise Development Lp Self-tune controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100268321B1 (ko) * 1996-11-18 2000-10-16 가네꼬 히사시 가상 채널 메모리 시스템
KR20080014066A (ko) * 2005-06-23 2008-02-13 인텔 코포레이션 메모리 제어기, 데이터 반환 방법 및 시스템
WO2010111281A2 (en) * 2009-03-23 2010-09-30 Micron Technology, Inc. Configurable bandwidth memory devices and methods
US20110107054A1 (en) * 2009-11-03 2011-05-05 International Business Machines Corporation Expanding memory size

Also Published As

Publication number Publication date
US20120272031A1 (en) 2012-10-25
EP2700013A2 (en) 2014-02-26
KR102267983B1 (ko) 2021-06-23
JP2014516444A (ja) 2014-07-10
EP2700013A4 (en) 2015-05-13
EP2700013B1 (en) 2018-12-26
TW201250472A (en) 2012-12-16
KR20140025462A (ko) 2014-03-04
CN103477330B (zh) 2017-05-03
US10838886B2 (en) 2020-11-17
US20210081338A1 (en) 2021-03-18
CN103477330A (zh) 2013-12-25
US11580039B2 (en) 2023-02-14
JP6259755B2 (ja) 2018-01-10
WO2012145432A3 (en) 2013-01-17
WO2012145432A2 (en) 2012-10-26
TWI541648B (zh) 2016-07-11

Similar Documents

Publication Publication Date Title
US11580039B2 (en) Channel depth adjustment in memory systems
KR102410924B1 (ko) 해머 리프레쉬 동작을 수행하는 리프레쉬 제어 회로, 메모리 장치 및 메모리 장치의 동작 방법
KR102329673B1 (ko) 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
CN109508152B (zh) 一种用于逻辑存储管理的多级方案
CN107466418B (zh) 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器
US10248328B2 (en) Direct data move between DRAM and storage on a memory module
KR101692417B1 (ko) 다이렉트 액세스를 갖는 다중-레벨 메모리
US7730261B1 (en) Multicore memory management system
US20170285968A1 (en) Flash-based accelerator and computing device including the same
KR102569545B1 (ko) 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
US9864526B2 (en) Wear leveling using multiple activity counters
JP2018501598A (ja) 3dメモリに対するアクセス動作のための階層モード
KR102276350B1 (ko) Nand 버퍼를 갖는 nand 플래시 저장 디바이스
US11409440B2 (en) Systems, methods and apparatus for memory access and scheduling
CN104375895A (zh) 用于多种存储器间的数据存储调度方法以及装置
JP2017528813A (ja) システムオンチップ用のメモリを拡張するためのシステムおよび方法
CN112997161A (zh) 将储存系统用作主存储器的方法和装置
US8977800B2 (en) Multi-port cache memory apparatus and method
EP3166019B1 (en) Memory devices and methods
EP2393011A1 (en) Controller for solid state disk, which controls simultaneous switching of pads
US10664396B2 (en) Systems, methods and apparatus for fabric delta merge operations to enhance NVMeoF stream writes
KR20240076574A (ko) 메모리 컨트롤러, 이를 포함하는 전자 시스템 및 메모리 액세스 제어 방법
CN118069037A (zh) 存储器控制器、电子系统和控制存储器访问的方法

Legal Events

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