KR102390156B1 - 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 - Google Patents
비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 Download PDFInfo
- Publication number
- KR102390156B1 KR102390156B1 KR1020180141256A KR20180141256A KR102390156B1 KR 102390156 B1 KR102390156 B1 KR 102390156B1 KR 1020180141256 A KR1020180141256 A KR 1020180141256A KR 20180141256 A KR20180141256 A KR 20180141256A KR 102390156 B1 KR102390156 B1 KR 102390156B1
- Authority
- KR
- South Korea
- Prior art keywords
- media page
- memory
- page size
- media
- memory controller
- 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/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- 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/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
페이지 크기 인식 스케줄링 방법 및 페이지 크기 인식 스케줄링 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시적인 컴퓨터 판독가능 기록매체가 제공된다. 본 방법은 매체 페이지 크기를 판단하는 단계; 매체 페이지의 오픈 또는 클로즈 여부를 판단하는 단계; 매체 페이지가 오픈된 것으로 판단되는 경우, 메모리 컨트롤러에 의해, 추측성 독출 동작을 수행하는 단계; 및 매체 페이지가 클로즈된 것으로 판단되는 경우, 메모리 컨트롤러에 의해, 일반 독출 동작을 수행하는 단계를 포함한다.
Description
본 개시는 일반적으로 매체 페이지 크기 판단 및 메모리 스케줄링을 위한 방법 및 장치에 관한 것으로, 보다 구체적으로는 비휘발성 듀얼 인-라인 메모리 모듈(Non-volatile Dual In-line Memory Module: NVDIMM)을 위한 매체 페이지 크기 판단 및 NVDIMM 스케줄링을 위한 방법 및 장치에 관한 것이다.
차세대 메모리 인터페이스 트렌드에는 메인 메모리로서 사용되는 비휘발성 메모리(Non-volatile Memory: NVM)를 위한 트랜잭션 기반 인터페이스, 가변 독출/기입(read/write) 타이밍 및 듀얼 인-라인 메모리 모듈(Dual In-line Memory Module: DIMM)로부터의 피드백 정보 등이 있다. 예를 들어, JEDEC 솔리드 스테이트 기술 협회(Joint Electron Device Engineering Council Solid State Technology Association)의 표준인 NVDIMM-P, 하이브리드 메모리 큐브(Hybrid Memory Cube: HMC), HP(Hewlett-Packard) 메모리 및 GenZ 컨소시엄 메모리가 필요할 수 있다.
차세대 메모리 시스템에서는, NVM(예: NVDIMM) 및 동적 랜덤액세스 메모리(Dynamic Random Access Memory: DRAM)(예: DIMM)가 계층적 메모리로서 동일한 트랜잭션 기반 메모리 채널에 공존할 수 있다(예: 동일한 랭크 또는 채널 내, 다른 채널 내 등).
그러나 더블데이터레이트(Double Data Rate: DDR) 랜덤 액세스 메모리(Random Access Memory: RAM)(예: DDR4)는 로우 및 어드레스 제한에 따라 고정된 페이지 크기를 갖는다. NVDIMM-P는 이러한 제한을 갖지는 않지만, 대신 기본 매체 페이지들 전체의 크기에 의존한다. 예를 들어, DDR은, x4 디바이스의 경우 512 byte 페이지 크기, x8 디바이스의 경우 1 Kbyte 페이지 크기, x16 디바이스의 경우 2 Kbyte 페이지 크기와 같이, 고정된 수의 컬럼 어드레스를 가질 수 있다.
NVDIMM-P에서는 로우 어드레스와 컬럼 어드레스의 개념이 없다. 따라서, 호스트는 데이터의 공간적 지역성(spatial locality)을 이용할 수 없다.
새로운 프로토콜들은 다양한 유형의 매체들(예: 백엔드 매체)을 지원한다. 그러나, 호스트와 메모리 컨트롤러는 매체의 실제 페이지 크기를 알 수 있는 방법이 없다. 이에 따라, 호스트와 메모리 컨트롤러는 매체 페이지 크기를 이용하여 페이지 인식 스케줄링, 최상의 버스 활용 등을 수행하는 이익을 얻을 수 없다.
따라서, NVDIMM으로 하여금 호스트 메모리 컨트롤러와 매체 페이지 크기를 공유하게 하는 매커니즘이 필요하다.
본 개시의 실시예들에 따른 과제는 매체 페이지 크기를 판단하여 메모리 스케줄링을 향상시키는 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체를 제공하는데 있다.
본 개시의 일 실시예에 따르면, 페이지 크기 인식 스케줄링 방법이 제공된다. 본 방법은 메모리의 크기 보다 작은 매체 페이지 크기를 판단하는 단계; 상기 매체 페이지 크기를 모드 레지스터의 RFU(Reserved for Future Use) 어드레스에 저장하는 단계; 메모리 컨트롤러에 의해, 상기 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에 상기 매체 페이지에 대한 추측성 독출 동작을 수행하는 단계; 및 상기 메모리 컨트롤러에 의해, 상기 매체 페이지가 소정의 임계 기간 동안 유휴 상태인 때 상기 매체 페이지에 대한 일반 독출 동작을 수행하는 단계를 포함하고, 상기 매체 페이지에 대한 상기 마지막 행동 및 상기 매체 페이지의 유휴 시간은 상기 매체 페이지로부터 판단될 수 있다.
본 개시의 일 실시예에 따르면, 상기 페이지 크기 인식 스케줄링 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시적인 컴퓨터 판독가능 기록매체가 제공된다.
본 개시의 실시예들에 따르면, 메모리 컨트롤러가 메모리의 매체 페이지 크기를 판단하고 이를 이용하여 페이지 크기 인식 메모리 스케줄링을 수행함으로써, 버스를 보다 잘 활용하고 이에 따라 시스템 성능을 향상시킬 수 있다.
본 개시에 따른 소정의 실시예들의 이러한 양상, 특징 및 이점과 그 밖의 양상, 특징 및 이점은 아래의 첨부도면들과 함께 후술하는 상세한 설명을 참조하여 보다 명확해질 것이다.
도 1은 본 개시의 일 실시예에 따라 DIMM에 저장된 페이지 크기를 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따라 모드 레지스터에 저장된 매체 페이지 크기의 예시도이다.
도 3은 본 개시의 일 실시예에 따라 메시지 데이터에 저장된 매체 페이지 크기의 예시도이다.
도 4 및 도 5는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링의 예시도이다.
도 6은 본 개시의 일 실시예에 따른 일반적인 독출 동작의 예시도이다.
도 7은 본 개시의 일 실시예에 따른 일반적인 독출 동작과 추측성 독출 동작의 예시도이다.
도 8은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 1은 본 개시의 일 실시예에 따라 DIMM에 저장된 페이지 크기를 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따라 모드 레지스터에 저장된 매체 페이지 크기의 예시도이다.
도 3은 본 개시의 일 실시예에 따라 메시지 데이터에 저장된 매체 페이지 크기의 예시도이다.
도 4 및 도 5는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링의 예시도이다.
도 6은 본 개시의 일 실시예에 따른 일반적인 독출 동작의 예시도이다.
도 7은 본 개시의 일 실시예에 따른 일반적인 독출 동작과 추측성 독출 동작의 예시도이다.
도 8은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
이하, 첨부도면들을 참조하여 본 개시의 실시예들에 대하여 구체적으로 설명한다. 다른 도면에 도시되었더라도 동일한 요소는 동일한 참조부호로 표시된다는 점에 유의해야 한다. 이하의 설명에서 구체적인 구성들 및 구성요소들과 같은 특정 세부사항들은 단지 본 개시에 따른 실시예들에 대한 전반적인 이해를 돕기 위해 제공되는 것이다. 그러므로 본 개시의 범위에서 벗어나지 않고 본 명세서에 설명된 실시예들에 대한 다양한 변형 및 수정이 이루어질 수 있음은 본 개시의 기술분야에 속한 통상의 기술자에게 명백할 것이다. 또한, 설명의 명확성 및 간결성을 위해 공지의 기능 및 구성에 대한 설명은 생략한다. 이하에서 설명되는 용어들은 본 개시의 기능을 고려하여 정의된 용어로서, 사용자, 사용자의 의도 또는 관습에 따라 달라질 수 있다. 따라서 용어들에 대한 정의는 본 명세서 전반에 걸친 내용에 기초하여 결정되어야 한다.
본 개시는 다양한 변형예 및 다양한 실시예를 가질 수 있으며, 그 중 일부에 대하여 이하에서 첨부도면들을 참조하여 구체적으로 설명한다. 그러나 본 개시는 설명된 실시예들로 한정되는 것이 아니고 본 개시의 범위 내에 속하는 모든 변형예, 균등예 및 대안예를 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같은 서수를 포함하는 용어들이 다양한 요소들을 설명하는데 사용되었더라도 어떠한 구조적인 요소들이 이러한 용어들에 의해 제한되는 것은 아니다. 이러한 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 본 개시의 범위로부터 벗어나지 않고 제1 구조적 요소는 제2 구조적 요소로 지칭될 수 있다. 이와 유사하게, 제2 구조적 요소 역시 제1 구조적 요소로 지칭될 수 있다. 본 명세서에서 사용되는 "및/또는"이라는 용어는 하나 이상의 관련 항목들의 임의의 조합 및 모든 조합들을 포함한다.
본 명세서에서 사용되는 용어들은 단지 본 개시의 다양한 실시예들을 설명하기 위해 사용되는 것으로, 본 개시를 한정하고자 하는 것이 아니다. 단수형태 용어는 문맥상 명백히 다르게 지시하지 않는 한 복수형태 용어도 포함한다. 본 개시에 있어서, "포함하다" 또는 "갖는다"라는 용어들은 소정의 특징, 숫자, 단계, 동작, 구조적 요소, 구성요소 또는 이들의 조합의 존재를 나타내는 것이며, 하나 이상의 다른 특징, 숫자, 단계, 동작, 구조적 요소, 구성요소 또는 이들의 조합의 존재나 부가 가능성을 배제하는 것이 아니다.
본 명세서에서 사용되는 모든 용어들은 달리 정의되지 않는 한, 본 개시가 속한 기술분야의 통상의 기술자가 일반적으로 이해하는 바와 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의된 것과 같은 용어들은 관련 기술분야의 맥락에 따른 의미와 동일한 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명확히 정의되지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되어서는 안 된다.
본 개시는 메모리 컨트롤러가 메모리(예: NVDIMM-P 메모리)의 기본 매체 페이지 크기를 판단하고, 판단된 매체 페이지 크기를 이용하여 메모리 스케줄링을 향상시키는 매커니즘에 관한 것이다.
메모리 채널을 통한 NVM(예: NVDIMM) 페이지 크기 동기화 매커니즘은 이하에서 설명하는 3가지 방법들 중 하나에 의해 NVM(예: NVDIMM)의 백엔드 매체의 페이지 크기를 식별하는 메모리 컨트롤러를 포함한다.
제1 방법은 메모리의 직렬 프레즌스 검출(Serial Presence Detect: SPD) 리드아웃(readout)을 통해 시스템 부팅 동안 매체 페이지 크기를 식별하는 것을 포함한다. 제2 방법은 모드 레지스터 독출 명령(mode register read command)을 통해 매체 페이지 크기를 식별하는 것을 포함하며, 제3 방법은 메시지 패킷 교환에 의해 매체 페이지 크기를 식별하는 것을 포함한다.
메모리 컨트롤러는 메모리 스케줄링 동안 매체 페이지 크기의 식별을 이용하여, 페이지 크기 인식 메모리 스케줄링을 수행하고 버스를 더 잘 활용함으로써 시스템 성능을 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따라 DIMM에 저장된 매체 페이지 크기를 나타내는 블록도이다.
도 1을 참조하면, 호스트(100)는 메모리 컨트롤러(101), 제1 DIMM(105)(예: DIMM0) 및 제2 DIMM(103)(예: DIMM 1)을 포함한다. 매체 페이지 크기는 SPD 데이터로서 제1 DIMM(105) 및 제2 DIMM(103)에 저장된다. 메모리 컨트롤러(101)는 제1 DIMM(105) 및 제2 DIMM(103)과 연결된다.
본 개시의 제1 방법은 시스템 부팅 동안 메모리 컨트롤러(101)가 SPD 리드아웃을 통해 매체 페이지 크기를 독출하는 것이다. 여기서, SPD 데이터는 매체 페이지 크기를 포함한다. 메모리 컨트롤러는 부팅 시간에 시스템 관리 버스(System Management Bus: SMBus)를 통해 NVDIMM 전기적-소거 및 프로그램 가능 메모리(Electrically-erasable Programmable Memory: EEPROM)로부터 매체 페이지 크기를 독출할 수 있다. 예를 들어, 메모리 컨트롤러(101)는 제1 DIMM(105) 및 제2 DIMM(103)에 각각 저장된 SPD 데이터를 독출함으로써 시스템 부팅 동안 제1 DIMM(105) 및 제2 DIMM(103)의 매체 페이지 크기들을 독출할 수 있다.
도 2는 본 개시의 일 실시예에 따라 모드 레지스터(mode register)에 저장된 매체 페이지 크기의 예시도이다.
도 2를 참조하면, 모드 레지스터는 DDR4 정적 동적 랜덤 액세스 메모리(Static Dynamic Random Access Memory: SDRAM)에 대한 JEDEC 표준 JESD79-4의 모드 레지스터일 수 있다.
본 개시의 제2 방법은 모드 레지스터(예: 모드 레지스터 1(MR1))에 매체 페이지 크기를 저장하는 것이다. 매체 페이지 크기는 RFU(Reserved for Future Use) 어드레스들(예: BG1, A17, A13, A5 및 A6) 중 임의의 어드레스의 모드 레지스터에 저장될 수 있다. 모드 레지스터에서 이용 가능한 제한된 비트 수를 고려하도록 코딩이 사용될 수 있다. 메모리 컨트롤러는 모드 레지스터에 저장된 매체 페이지 크기를 독출하기 위한 모드 레지스터 셋(Mode Register Set: MRS) 명령을 이용하여 매체 페이지 크기를 판단할 수 있다.
도 3은 본 개시의 일 실시예에 따라 메시지 데이터에 저장된 매체 페이지 크기의 예시도이다.
도 3을 참조하면, 메모리 컨트롤러에 대한 일반적인 READ 동작(예: XREAD 동작 등과 같은 일반 독출 동작)이 도시된다. 일반적인 READ 동작에는 메모리 컨트롤러가 메모리로 메시지 데이터 요청 신호(REQUEST MESSAGE DATA)(301)(예: 일반적인 독출 신호)를 전송하는 동작, 메모리 컨트롤러가 메모리로부터 DIMM에 메시지 데이터가 준비되었다는 신호(MESSAGE DATA READY ON DIMM)(303)(예: READY 신호)를 수신하는 동작, 메모리 컨트롤러가 메모리로 메시지 데이터 독출 신호(READ MESSAGE DATA)(305)(예: SEND 신호)를 전송하는 동작, 및 메모리 컨트롤러가 메모리로부터 메시지 데이터(MESSAGE DATA)(307)를 수신하는 동작을 포함한다. 여기서, MESSAGE DATA(307)는 메모리의 페이지 크기를 포함한다.
본 개시의 제3 방법은 메시지 패킷(예: NVDIMM-P 메시지 패킷)에 매체 페이지 크기 필드를 포함시키는 것이다. 메모리 컨트롤러는 메시지 패킷으로부터 매체 크기를 독출한다.
도 4 및 도 5는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링의 예시도이다.
도 4 및 도 5를 참조하면, 본 개시는 페이지 크기 인식 스케줄링 동작을 제공한다. 메모리 컨트롤러는 우선 전술한 3가지 방법들 중 하나를 이용하여 매체의 페이지 크기를 판단한다. 그런 다음, 메모리 컨트롤러는 매체 페이지(DRAM 페이지에 한정되지 않음)가 오픈(open)되었는지 아니면 클로즈(closed)되었는지를 추척한다. 매체 페이지의 오픈 또는 클로즈 여부가 식별되면, 메모리 컨트롤러는 채널 대역폭을 보다 잘 활용할 수 있다.
예를 들어, 메모리 컨트롤러는 여러 개의 트랜잭션들 및/또는 마지막 트랜잭션으로부터의 경과시간에 기초하여 매체 페이지의 오픈 상태 및 클로즈 상태를 추척하기 위해 매체 페이지 크기를 이용할 수 있다.
예를 들어, 일 실시예에 따르면, 매체 페이지는 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에서는 오픈된 것으로 판단될 수 있고, 매체 페이지가 일정 기간 동안 유휴 상태인 경우에는 클로즈된 것으로 판단될 수 있다.
도 4 및 도 5는 매체 페이지에 대한 독출 동작 및 기입 동작들이 수행되는 동안에는 해당 매체 페이지가 오픈된 것으로 판단되고, 매체 페이지에 대한 독출 동작이나 기입 동작이 더이상 존재하지 않는 때 이후부터는 해당 매체 페이지가 클로즈된 것으로 판단됨을 도시한다.
NVDIMM-P에서는 일반 독출 동작 및 추측성 독출 동작(speculative read operation)(예: SREAD 동작)의 2가지 독출 동작들이 가능하다.
일반 독출 동작은 핸드쉐이크 통신(handshake communication)을 필요로 하고, 비결정형 타이밍을 이용하며, 버스 활용도가 낮고, 독출 레이턴시가 높다.
추측성 독출 동작은 첫 응답을 위해 결정형 타이밍을 사용하고, 데이터가 유효하지 않은 경우(예: 적중실패(miss) 발생) 독출 준비 응답을 기다리며, 버스 활용도가 높고, 독출 레이턴시가 높을 수도 낮을 수도 있다.
메모리 컨트롤러는 페이지 오픈/클로즈 상태를 완벽하게 추척할 수도 있고 그렇지 않을 수도 있다. 메모리 컨트롤러가 NVDIMM 내 페이지 관리를 인식하는 경우에는 오픈/클로즈 상태를 완벽하게 추적하는 것이 가능하다. 그러나, 내부 DIMM 구성/메커니즘에 대한 정보는 획득 가능하지 않을 수 있다. 메모리 컨트롤러가 NVDIMM 내 페이지 관리를 인식하지 못하는 경우에는 액세스 패턴, 액세스 타이밍 정보 등과 같은 정보를 이용함으로써 페이지의 오픈/클로즈 상태를 예측할 수 있다. 즉, 메모리 컨트롤러는 매체 페이지의 오픈 또는 클로즈 여부를 추적하여 페이지 크기 인식 스케줄링을 수행하고, 스케줄링을 위해 매체 페이지의 오픈 또는 클로즈 상태를 이용함으로써 버스 활용도 및 시스템 성능을 향상시킬 수 있다. 예를 들어, 메모리 컨트롤러는 오픈된 매체 페이지의 데이터에 대해서는 추측성 독출 신호를 전송하고 클로즈된 매체 페이지의 데이터에 대해서는 일반 독출 신호를 전송할 수 있다. 추측성 독출 동작 및 일반 독출 동작은 NVDIMM-P 표준의 일부이나, 그들의 사용법은 메모리 페이지 크기 및 오픈/클로즈 상태에 맞게 조정되는 것이 아니다. 일 실시예에 따른 매체 페이지는 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에서 오픈된 것으로 판단된다. 일 실시예에 따른 매체 페이지는 매체 페이지가 일정 기간 동안 유휴 상태인 경우에 클로즈된 것으로 판단된다. 페이지 오픈/클로즈 상태가 잘못 추적되더라도 이는 호스트 상의 데이터의 정확성에 아무 영향도 미치지 않을 것이다. 단지 성능 상의 불이익이 있을 뿐이다. 그러나 전체 성능은 한번에 하나의 독출 동작만을 이용하는 경우보다는 우수하다.
도 6은 본 개시의 일 실시예에 따른 일반적인 독출 동작의 예시도이다.
도 6을 참조하면, 제1 일반 독출 신호(601)가 메모리 컨트롤러에 의해 메모리로 전송된다. 제1 일반 독출 신호(601)와 관련된 제1 READY 신호(603)가 메모리 컨트롤러에 의해 메모리로부터 수신된다. 그런 다음, 메모리 컨트롤러는 제1 READY 신호(603)와 관련된 제1 SEND 신호(605)를 메모리로 전송하고, 제1 SEND 신호(605)와 관련된 제1 DATA(607)를 메모리로부터 수신한다.
제2 일반 독출 신호(609)가 메모리 컨트롤러에 의해 메모리로 전송된다. 제2 일반 독출 신호(609)와 관련된 제2 READY 신호(611)가 메모리 컨트롤러에 의해 메모리로부터 수신된다. 그런 다음, 메모리 컨트롤러는 제2 READY 신호(611)와 관련된 제2 SEND 신호(613)를 메모리로 전송하고, 제2 SEND 신호(613)와 관련된 제2 DATA(615)를 메모리로부터 수신한다.
제3 일반 독출 신호(617)가 메모리 컨트롤러에 의해 메모리로 전송된다. 제3 일반 독출 신호(617)와 관련된 제3 READY 신호(619)가 메모리 컨트롤러에 의해 메모리로부터 수신된다. 그런 다음, 메모리 컨트롤러는 제3 READY 신호(619)와 관련된 제3 SEND 신호(621)를 메모리로 전송하고, 제3 SEND 신호(621)와 관련된 제3 DATA(623)를 메모리로부터 수신한다.
도 7은 본 개시의 일 실시예에 따른 일반적인 독출 동작과 추측성 독출 동작의 예시도이다.
도 7을 참조하면, 일반 독출 신호(701)가 메모리 컨트롤러에 의해 메모리로 전송된다. 일반 독출 신호(701)와 관련된 READY 신호(703)가 메모리 컨트롤러에 의해 메모리로부터 수신된다. 그런 다음, 메모리 컨트롤러는 READY 신호(703)와 관련된 SEND 신호(705)를 메모리로 전송하고, SEND 신호(705)와 관련된 제1 DATA(707)를 메모리로부터 수신한다.
제1 추측성 독출 신호(709)가 메모리 컨트롤러에 의해 메모리로 전송된다. 매체 페이지가 오픈된 것으로 판단되었기 때문에, 메모리 컨트롤러는 메모리로부터 READY 신호를 수신해야 하거나, 또는 메모리로부터 READY 신호를 수신한 후 SEND 신호를 메모리로 전송해야 할 것 없이, 메모리로부터 제2 DATA(711)를 수신한다. 따라서, 버스 활용도 및 시스템 성능이 향상된다.
제2 추측성 독출 신호(713)가 메모리 컨트롤러에 의해 메모리로 전송된다. 매체 페이지가 오픈된 것으로 판단되었기 때문에, 메모리 컨트롤러는 메모리로부터 READY 신호를 수신해야 하거나, 또는 메모리로부터 READY 신호를 수신한 후 SEND 신호를 메모리로 전송해야 할 것 없이, 메모리로부터 제3 DATA(715)를 수신한다. 따라서, 버스 활용도 및 시스템 성능이 향상된다.
도 8은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 8을 참조하면, 단계 801에서 매체 페이지 크기가 SPD 데이터로서 메모리에 저장된다.
단계 803에서, 메모리 컨트롤러에 의해 시스템 부팅 동안, 메모리에 저장된 SPD 데이터로부터 매체 페이지 크기가 독출된다.
단계 805에서, 매체 페이지의 오픈 또는 클로즈 여부가 판단된다.
매체 페이지가 오픈된 것으로 판단되는 경우, 단계 807에서 추측성 독출 동작이 수행된다.
매체 페이지가 클로즈된 것으로 판단되는 경우, 단계 809에서 일반 독출 동작이 수행된다.
일 실시예에 따르면, 도 8의 방법은 비일시적인 컴퓨터 판독가능 매체에 구현될 수 있다.
도 9는 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 9를 참조하면, 단계 901에서 매체 페이지 크기가 메모리 레지스터에 저장된다.
단계 903에서, 메모리 컨트롤러에 의해, 모드 레지스터 셋 명령을 이용하여 메모리 레지스터로부터 매체 페이지 크기가 독출된다.
단계 905에서, 매체 페이지의 오픈 또는 클로즈 여부가 판단된다.
매체 페이지가 오픈된 것으로 판단되는 경우, 단계 907에서 추측성 독출 동작이 수행된다.
매체 페이지가 클로즈된 것으로 판단되는 경우, 단계 909에서 일반 독출 동작이 수행된다.
일 실시예에 따르면, 도 9의 방법은 비-일시적인 컴퓨터-판독가능 매체에 구현될 수 있다.
도 10은 본 개시의 일 실시예에 따른 페이지 크기 인식 스케줄링 방법의 흐름도이다.
도 10을 참조하면, 단계 1001에서 매체 페이지 크기가 메시지 패킷에 포함된다.
단계 1003에서, 메모리 컨트롤러에 의해, 메시지 패킷으로부터 매체 페이지 크기가 독출된다.
단계 1005에서, 매체 페이지의 오픈 또는 클로즈 여부가 판단된다.
매체 페이지가 오픈된 것으로 판단되는 경우, 단계 1007에서 추측성 독출 동작이 수행된다.
매체 페이지가 클로즈된 것으로 판단되는 경우, 단계 1009에서 일반 독출 동작이 수행된다.
일 실시예에 따르면, 도 10의 방법은 비일시적인 컴퓨터 판독가능 매체에 구현될 수 있다.
본 개시의 특정 실시예들이 본 개시의 구체적인 설명에 기재되었으나, 본 개시는 본 개시의 범위로부터 벗어나지 않고 다양하게 변형될 수 있다. 따라서, 본 개시의 범위는 설명된 실시예들에 기초하여 단순하게 결정되는 것이 아니라, 청구범위 및 그의 균등범위에 기초하여 결정되어야 한다.
100: 호스트
101: 메모리 컨트롤러
103: 제2 DIMM
105: 제1 DIMM
101: 메모리 컨트롤러
103: 제2 DIMM
105: 제1 DIMM
Claims (20)
- 메모리의 크기 보다 작은 매체 페이지 크기를 판단하는 단계;
상기 매체 페이지 크기를 모드 레지스터의 RFU(Reserved for Future Use) 어드레스에 저장하는 단계;
메모리 컨트롤러에 의해, 상기 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에 상기 매체 페이지에 대한 추측성 독출 동작을 수행하는 단계; 및
상기 메모리 컨트롤러에 의해, 상기 매체 페이지가 소정의 임계 기간 동안 유휴 상태인 때 상기 매체 페이지에 대한 일반 독출 동작을 수행하는 단계를 포함하고
상기 매체 페이지에 대한 상기 마지막 행동 및 상기 매체 페이지의 유휴 시간은 상기 매체 페이지로부터 판단되는, 페이지 크기 인식 스케줄링 방법. - 제1항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 매체 페이지 크기를 직렬 프레즌스 검출(Serial Presence Detect: SPD) 데이터로 상기 메모리에 저장하는 단계; 및
상기 메모리 컨트롤러에 의해, 시스템 부팅 동안, 상기 메모리에 저장된 상기 SPD 데이터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법. - 제2항에 있어서,
상기 매체 페이지 크기를 독출하는 단계는,
상기 메모리 컨트롤러에 의해, 시스템 관리 버스(System Management Bus: SMBus)를 통해 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법. - 제1항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 메모리 컨트롤러에 의해, 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법. - 제4항에 있어서,
상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계는,
모드 레지스터 셋 명령을 이용하여 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법. - 제1항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 메모리에 의해, 상기 매체 페이지 크기를 메시지 패킷에 포함시키는 단계; 및
상기 메모리 컨트롤러에 의해, 상기 메시지 패킷으로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법. - 제1항에 있어서,
상기 메모리는 비휘발성 메모리(Non-volatile Memory: NVM)이고,
상기 NVM은 비휘발성 듀얼 인-라인 메모리 모듈(Non-volatile Dual In-line Memory Module: NVDIMM), JEDEC 솔리드 스테이트 기술 협회(Joint Electron Device Engineering Council Solid State Technology Association)의 NVDIMM-P 표준의 NVDIMM, 하이브리드 메모리 큐브(Hybrid Memory Cube: HMC), HP(Hewlett-Packard) 메모리, GenZ 컨소시엄 메모리, 및 NVDIMM 전기적-소거 및 프로그램 가능 롬(NVDIMM Electrically-erasable Programmable Read Only Memory: NVDIMM EEPROM) 중 하나인, 페이지 크기 인식 스케줄링 방법. - 페이지 크기 인식 스케줄링 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시적인 컴퓨터 판독가능 기록매체에 있어서,
상기 페이지 크기 인식 스케줄링 방법은,
메모리의 크기 보다 작은 매체 페이지 크기를 판단하는 단계;
상기 매체 페이지 크기를 모드 레지스터의 RFU(Reserved for Future Use) 어드레스에 저장하는 단계;
메모리 컨트롤러에 의해, 상기 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에 상기 매체 페이지에 대한 추측성 독출 동작을 수행하는 단계; 및
상기 메모리 컨트롤러에 의해, 상기 매체 페이지가 소정의 임계 기간 동안 유휴 상태인 때 상기 매체 페이지에 대한 일반 독출 동작을 수행하는 단계를 포함하고
상기 매체 페이지에 대한 상기 마지막 행동 및 상기 매체 페이지의 유휴 시간은 상기 매체 페이지로부터 판단되는, 비일시적인 컴퓨터 판독가능 기록매체. - 제8항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 매체 페이지 크기를 직렬 프레즌스 검출(Serial Presence Detect: SPD) 데이터로 상기 메모리에 저장하는 단계; 및
상기 메모리 컨트롤러에 의해, 시스템 부팅 동안, 상기 메모리에 저장된 상기 SPD 데이터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체. - 제9항에 있어서,
상기 매체 페이지 크기를 독출하는 단계는,
상기 메모리 컨트롤러에 의해, 시스템 관리 버스(System Management Bus: SMBus)를 통해 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체. - 제8항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 메모리 컨트롤러에 의해, 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체. - 제11항에 있어서,
상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계는,
모드 레지스터 셋 명령을 이용하여 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체. - 제8항에 있어서,
상기 매체 페이지 크기를 판단하는 단계는,
상기 메모리에 의해, 상기 매체 페이지 크기를 메시지 패킷에 포함시키는 단계; 및
상기 메모리 컨트롤러에 의해, 상기 메시지 패킷으로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체. - 제8항에 있어서,
상기 메모리는 비휘발성 메모리(Non-volatile Memory: NVM)이고,
상기 NVM은 비휘발성 듀얼 인-라인 메모리 모듈(Non-volatile Dual In-line Memory Module: NVDIMM), JEDEC 솔리드 스테이트 기술 협회(Joint Electron Device Engineering Council Solid State Technology Association)의 NVDIMM-P 표준의 NVDIMM, 하이브리드 메모리 큐브(Hybrid Memory Cube: HMC), HP(Hewlett-Packard) 메모리, GenZ 컨소시엄 메모리, 및 NVDIMM 전기적-소거 및 프로그램 가능 롬(NVDIMM Electrically-erasable Programmable Read Only Memory: NVDIMM EEPROM) 중 하나인, 비일시적인 컴퓨터 판독가능 기록매체. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862623295P | 2018-01-29 | 2018-01-29 | |
US62/623,295 | 2018-01-29 | ||
US15/949,934 US11029879B2 (en) | 2018-01-29 | 2018-04-10 | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel |
US15/949,934 | 2018-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190092239A KR20190092239A (ko) | 2019-08-07 |
KR102390156B1 true KR102390156B1 (ko) | 2022-04-25 |
Family
ID=67392159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180141256A KR102390156B1 (ko) | 2018-01-29 | 2018-11-16 | 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11029879B2 (ko) |
JP (1) | JP7420472B2 (ko) |
KR (1) | KR102390156B1 (ko) |
CN (1) | CN110097898B (ko) |
TW (1) | TWI761655B (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157412B2 (en) * | 2019-11-25 | 2021-10-26 | Micron Technology, Inc. | Read commands based on row status prediction |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030159008A1 (en) | 2002-02-21 | 2003-08-21 | Sprangle Eric A. | Method and apparatus to control memory accesses |
US20110191487A1 (en) | 2007-08-03 | 2011-08-04 | Wilfried Ziems | Method and Network Equipment for Maintaining a Media Stream Through Another Network Equipment While Suspending an Associated Media Stream Connection in a Communication Network |
US20110252184A1 (en) | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
US20140068154A1 (en) | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20140237157A1 (en) | 2011-02-08 | 2014-08-21 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244696A (ja) * | 1996-08-08 | 2006-09-14 | Ricoh Co Ltd | 光学式記録ディスクドライブ装置に用いるデータ処理装置 |
US5848025A (en) * | 1997-06-30 | 1998-12-08 | Motorola, Inc. | Method and apparatus for controlling a memory device in a page mode |
US6219765B1 (en) * | 1998-08-03 | 2001-04-17 | Micron Technology, Inc. | Memory paging control apparatus |
US6895475B2 (en) * | 2002-09-30 | 2005-05-17 | Analog Devices, Inc. | Prefetch buffer method and apparatus |
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
US7184327B2 (en) | 2005-04-14 | 2007-02-27 | Micron Technology, Inc. | System and method for enhanced mode register definitions |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
JP2007323113A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリ制御回路 |
US8116294B2 (en) | 2007-01-31 | 2012-02-14 | Broadcom Corporation | RF bus controller |
US7761656B2 (en) | 2007-08-22 | 2010-07-20 | Advanced Micro Devices, Inc. | Detection of speculative precharge |
US8484407B2 (en) | 2007-12-21 | 2013-07-09 | Rambus Inc. | Flash memory timing pre-characterization |
US8301912B2 (en) * | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
EP2200029A1 (en) * | 2008-12-22 | 2010-06-23 | ST-NXP Wireless France | Method and device for storing and transferring paged data, in particular paged code in a virtual memory mechanism |
JP5983019B2 (ja) * | 2012-05-17 | 2016-08-31 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
US8882229B2 (en) | 2013-02-28 | 2014-11-11 | Hewlett-Packard Development Company, L.P. | Media width-based calibration pattern placement |
US10102148B2 (en) * | 2013-06-13 | 2018-10-16 | Microsoft Technology Licensing, Llc | Page-based compressed storage management |
JP2015056171A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
US9763903B2 (en) * | 2013-10-22 | 2017-09-19 | Steven Hoffman | Compositions and methods for treating intestinal hyperpermeability |
US9582204B2 (en) | 2014-01-07 | 2017-02-28 | Apple Inc. | Speculative prefetching of data stored in flash memory |
US20150347151A1 (en) | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
JP2016143085A (ja) | 2015-01-29 | 2016-08-08 | 株式会社東芝 | 装置及び方法 |
KR102274038B1 (ko) | 2015-08-03 | 2021-07-09 | 삼성전자주식회사 | 백업 기능을 갖는 메모리 모듈 |
KR102430561B1 (ko) * | 2015-09-11 | 2022-08-09 | 삼성전자주식회사 | 듀얼 포트 디램을 포함하는 메모리 모듈 |
US10031674B2 (en) | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
CN108139902A (zh) * | 2015-10-16 | 2018-06-08 | 科内克斯实验室公司 | 用于提供混合模式来访问ssd驱动器的方法和装置 |
US10437486B2 (en) * | 2016-05-24 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for tenant-aware storage sharing platform |
US10101935B2 (en) * | 2016-06-03 | 2018-10-16 | Samsung Electronics Co., Ltd. | System and method for providing expandable and contractible memory overprovisioning |
US10810144B2 (en) | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
US10482043B2 (en) * | 2016-08-29 | 2019-11-19 | Advanced Micro Devices, Inc. | Nondeterministic memory access requests to non-volatile memory |
US10191689B2 (en) * | 2016-12-29 | 2019-01-29 | Intel Corporation | Systems and methods for page management using local page information |
US20180188988A1 (en) * | 2017-01-04 | 2018-07-05 | Qualcomm Incorporated | Partial page access in a low power memory system |
-
2018
- 2018-04-10 US US15/949,934 patent/US11029879B2/en active Active
- 2018-11-16 KR KR1020180141256A patent/KR102390156B1/ko active IP Right Grant
-
2019
- 2019-01-18 TW TW108102083A patent/TWI761655B/zh active
- 2019-01-18 CN CN201910049654.6A patent/CN110097898B/zh active Active
- 2019-01-24 JP JP2019010095A patent/JP7420472B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030159008A1 (en) | 2002-02-21 | 2003-08-21 | Sprangle Eric A. | Method and apparatus to control memory accesses |
US20110191487A1 (en) | 2007-08-03 | 2011-08-04 | Wilfried Ziems | Method and Network Equipment for Maintaining a Media Stream Through Another Network Equipment While Suspending an Associated Media Stream Connection in a Communication Network |
US20110252184A1 (en) | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
US20140237157A1 (en) | 2011-02-08 | 2014-08-21 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
US20140068154A1 (en) | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
US11029879B2 (en) | 2021-06-08 |
CN110097898B (zh) | 2022-10-18 |
CN110097898A (zh) | 2019-08-06 |
JP7420472B2 (ja) | 2024-01-23 |
US20190235788A1 (en) | 2019-08-01 |
TW201933118A (zh) | 2019-08-16 |
JP2019133657A (ja) | 2019-08-08 |
KR20190092239A (ko) | 2019-08-07 |
TWI761655B (zh) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740797B2 (en) | Non-deterministic memory protocol | |
US9978430B2 (en) | Memory devices providing a refresh request and memory controllers responsive to a refresh request | |
TW201743219A (zh) | Ddr相容非同步記憶體模組、系統與操作記憶體模組的方法 | |
US11256568B2 (en) | Memory management systems and methods | |
CN107257964B (zh) | Dram电路、计算机系统和访问dram电路的方法 | |
US10073744B2 (en) | Power-down interrupt of nonvolatile dual in-line memory system | |
US9972379B2 (en) | First data in response to second read request | |
KR102390156B1 (ko) | 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 | |
US11120887B2 (en) | Method for writing in a volatile memory and corresponding integrated circuit | |
US20210382662A1 (en) | Addressing in memory with a read identification (rid) number | |
EP3610379B1 (en) | Transaction identification | |
CN108027765B (zh) | 一种内存访问方法以及计算机系统 | |
US11226770B2 (en) | Memory protocol | |
CN113253910A (zh) | Nand丢弃的命令检测和恢复 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |