KR20200055132A - 메모리 시스템에서 채널 깊이 조절 - Google Patents
메모리 시스템에서 채널 깊이 조절 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
우선권 출원
본 출원은, 전체 내용이 본 명세서에 참조 문헌으로 병합된, 2011년 4월 19일에 출원된 미국 출원 번호 13/089,621의 우선권의 이익을 청구한다.
컴퓨터 메모리 동작은 종종 기술적 장애와의 경쟁을 처리한다. 고속 메모리 성능은 높은 대역폭을 갖는 디바이스를 설계하는 것에 의해 획득될 수 있다. 그러나, 높은 대역폭은 종종 동작하는데 많은 양의 전력을 요구한다. 전력 소비는 또한 낮은 것이 바람직하며, 이는 종종 더 빠른 메모리 동작에 대한 요구와 경쟁한다. 메모리 속도를 개선하고 또한 전력 소비를 개선하는 메모리 디바이스를 제공하는 것이 바람직하다.
도 1은 본 발명의 실시예에 따른 전자 시스템에 연결된 메모리 시스템을 포함하는 시스템을 도시한 도면;
도 2는 본 발명의 실시예에 따른 동작에서 메모리 시스템의 블록도를 도시한 도면;
도 3은 본 발명의 실시예에 따른 메모리 디바이스를 포함하는 정보 처리 시스템을 도시한 도면.
도 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 메모리 동작 동안 메모리 디바이스의 영역에 액세스하는 방법으로서, 상기 방법은,
상기 메모리 영역이 제2 메모리 동작에 할당된 것에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법. - 제1항에 있어서, 상기 제1 메모리 동작은 제1 가상 메모리 프로세스를 포함하고, 상기 제2 메모리 동작은 제2 가상 메모리 프로세스를 포함하는 것인 방법.
- 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 제2 메모리 동작 동안 상기 메모리 영역을 사용하여 소프트웨어의 능력(capability of software)에 기초하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
- 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 제2 메모리 동작 동안 상기 메모리 영역을 사용하여 하드웨어의 능력에 기초하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
- 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 하드웨어 마스터로부터 채널 깊이 선택 신호를 송신하는 단계를 포함하는 것인 방법.
- 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 상기 메모리 디바이스에 연결된 메모리 제어기 내 레지스터에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 것인 방법.
- 제1항에 있어서, 상기 채널 깊이는 마스터로부터 메모리 제어기로 가는 데이터에 영구적인 것인 방법.
- 제1항에 있어서, 상기 채널 깊이를 조절하는 단계는 메모리 요청에 응답하여 상기 채널 깊이를 조절하는 단계를 포함 하는 것인 방법.
- 채널 깊이를 사용해서 제1 메모리 요청에 응답하여 메모리 디바이스의 영역에 액세스하는 방법으로서, 상기 방법은,
제2 메모리 요청에서 채널 선택 비트에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법. - 제9항에 있어서, 상기 제2 메모리 요청은 행 선택 비트 및 뱅크 선택 비트를 더 포함하는 것인 방법.
- 제10항에 있어서, 상기 채널 선택 비트는 상기 뱅크 선택 비트 뒤에 있는 것은 방법.
- 제11항에 있어서, 상기 채널 선택 비트는 상기 열 선택 비트와 인터리빙된 것인 방법.
- 채널 깊이를 가지는 메모리 디바이스의 영역을 가상 메모리의 제1 페이지에 할당하는 방법으로서, 상기 방법은,
상기 영역을 상기 가상 메모리의 제2 페이지에 할당하는 것에 응답하여 상기 채널 깊이를 조절하는 단계를 포함하는 방법. - 제13항에 있어서, 상기 영역은 제1 영역을 포함하고, 상기 메모리 디바이스의 제2 영역의 채널 깊이는 상기 메모리 디바이스의 동작 동안 고정된 것인 방법.
- 제14항에 있어서, 상기 제2 영역은 커널 영역을 포함하는 것인 방법.
- 제15항에 있어서, 상기 제2 영역은 운영 시스템 영역을 포함하는 것인 방법.
- 제16항에 있어서, 상기 커널 영역의 고정된 채널 깊이는 상기 운영 시스템 영역의 고정된 채널 깊이와는 상이한 것인 방법.
- 시스템으로서,
가상 메모리 프로세스를 관리하기 위한 메모리 제어기;
다수의 메모리 영역;
상기 다수의 영역에 액세스하기 위해 구성가능한 채널 깊이를 구비하는 채널; 및
가상 메모리 동작 동안 상이한 시간에 주어진 메모리 영역에 대한 채널 깊이를 조절하기 위한 메모리 맵을 포함하는 시스템. - 제18항에 있어서, 선택된 채널 깊이를 저장하기 위한 레지스터를 더 포함하는 시스템.
- 제18항에 있어서, 상기 메모리 맵은 메모리 요청의 어드레스 내로부터 채널 깊이 요청을 해석(interpret)하도록 구성된 것인 시스템.
- 제18항에 있어서, 상기 메모리 맵은 다수의 상이한 하드웨어 마스터로부터 채널 깊이 요청을 해석하도록 구성된 것인 시스템.
- 제18항에 있어서, 커널 메모리 영역의 채널 깊이는 고정된 것인 시스템.
- 제18항에 있어서, 운영 시스템 메모리 영역의 채널 깊이는 고정된 것인 시스템.
- 시스템으로서,
다수의 메모리 영역을 포함하는 메모리 디바이스; 및
상기 다수의 영역에 액세스하도록 다수의 채널 부분을 포함하는 채널을 포함하되,
상기 채널 부분 중 적어도 하나는 조절가능한 깊이를 구비하는 것인 시스템. - 제24항에 있어서, 조절가능한 깊이를 구비하는 상기 채널 부분 중 상기 적어도 하나는 동적으로 조절가능한 깊이를 구비하는 채널 부분을 포함하는 것인 시스템.
- 제24항에 있어서, 메모리 맵을 더 포함하되, 상기 메모리 맵은 상기 채널 부분 중 상기 적어도 하나의 채널 부분의 상기 깊이를 조절하도록 변경될 수 있는 것인 시스템.
- 제26항에 있어서, 상기 메모리 맵은 상기 메모리 디바이스에 저장되는 것인 시스템.
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)
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)
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)
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 |
-
2011
- 2011-04-19 US US13/089,621 patent/US10838886B2/en active Active
-
2012
- 2012-04-18 KR KR1020207012840A patent/KR102267983B1/ko active IP Right Grant
- 2012-04-18 JP JP2014506522A patent/JP6259755B2/ja active Active
- 2012-04-18 WO PCT/US2012/034125 patent/WO2012145432A2/en active Application Filing
- 2012-04-18 KR KR1020137030191A patent/KR20140025462A/ko not_active Application Discontinuation
- 2012-04-18 CN CN201280019037.8A patent/CN103477330B/zh active Active
- 2012-04-18 EP EP12774647.7A patent/EP2700013B1/en active Active
- 2012-04-19 TW TW101114017A patent/TWI541648B/zh active
-
2020
- 2020-11-16 US US17/099,309 patent/US11580039B2/en active Active
Patent Citations (4)
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 |