KR102390156B1 - 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 - Google Patents

비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 Download PDF

Info

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
Application number
KR1020180141256A
Other languages
English (en)
Other versions
KR20190092239A (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 KR20190092239A publication Critical patent/KR20190092239A/ko
Application granted granted Critical
Publication of KR102390156B1 publication Critical patent/KR102390156B1/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/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple 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

비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체{PAGE SIZE AWARE SCHEDULING METHOD FOR NON-VOLATILE DUAL IN-LINE MEMORY MODULE AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM}
본 개시는 일반적으로 매체 페이지 크기 판단 및 메모리 스케줄링을 위한 방법 및 장치에 관한 것으로, 보다 구체적으로는 비휘발성 듀얼 인-라인 메모리 모듈(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, 제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

Claims (20)

  1. 메모리의 크기 보다 작은 매체 페이지 크기를 판단하는 단계;
    상기 매체 페이지 크기를 모드 레지스터의 RFU(Reserved for Future Use) 어드레스에 저장하는 단계;
    메모리 컨트롤러에 의해, 상기 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에 상기 매체 페이지에 대한 추측성 독출 동작을 수행하는 단계; 및
    상기 메모리 컨트롤러에 의해, 상기 매체 페이지가 소정의 임계 기간 동안 유휴 상태인 때 상기 매체 페이지에 대한 일반 독출 동작을 수행하는 단계를 포함하고
    상기 매체 페이지에 대한 상기 마지막 행동 및 상기 매체 페이지의 유휴 시간은 상기 매체 페이지로부터 판단되는, 페이지 크기 인식 스케줄링 방법.
  2. 제1항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 매체 페이지 크기를 직렬 프레즌스 검출(Serial Presence Detect: SPD) 데이터로 상기 메모리에 저장하는 단계; 및
    상기 메모리 컨트롤러에 의해, 시스템 부팅 동안, 상기 메모리에 저장된 상기 SPD 데이터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법.
  3. 제2항에 있어서,
    상기 매체 페이지 크기를 독출하는 단계는,
    상기 메모리 컨트롤러에 의해, 시스템 관리 버스(System Management Bus: SMBus)를 통해 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법.
  4. 제1항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 메모리 컨트롤러에 의해, 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법.
  5. 제4항에 있어서,
    상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계는,
    모드 레지스터 셋 명령을 이용하여 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법.
  6. 제1항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 메모리에 의해, 상기 매체 페이지 크기를 메시지 패킷에 포함시키는 단계; 및
    상기 메모리 컨트롤러에 의해, 상기 메시지 패킷으로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 페이지 크기 인식 스케줄링 방법.
  7. 제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) 중 하나인, 페이지 크기 인식 스케줄링 방법.
  8. 페이지 크기 인식 스케줄링 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시적인 컴퓨터 판독가능 기록매체에 있어서,
    상기 페이지 크기 인식 스케줄링 방법은,
    메모리의 크기 보다 작은 매체 페이지 크기를 판단하는 단계;
    상기 매체 페이지 크기를 모드 레지스터의 RFU(Reserved for Future Use) 어드레스에 저장하는 단계;
    메모리 컨트롤러에 의해, 상기 매체 페이지의 마지막 활동으로부터 소정의 시간 프레임 내에 상기 매체 페이지에 대한 추측성 독출 동작을 수행하는 단계; 및
    상기 메모리 컨트롤러에 의해, 상기 매체 페이지가 소정의 임계 기간 동안 유휴 상태인 때 상기 매체 페이지에 대한 일반 독출 동작을 수행하는 단계를 포함하고
    상기 매체 페이지에 대한 상기 마지막 행동 및 상기 매체 페이지의 유휴 시간은 상기 매체 페이지로부터 판단되는, 비일시적인 컴퓨터 판독가능 기록매체.
  9. 제8항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 매체 페이지 크기를 직렬 프레즌스 검출(Serial Presence Detect: SPD) 데이터로 상기 메모리에 저장하는 단계; 및
    상기 메모리 컨트롤러에 의해, 시스템 부팅 동안, 상기 메모리에 저장된 상기 SPD 데이터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체.
  10. 제9항에 있어서,
    상기 매체 페이지 크기를 독출하는 단계는,
    상기 메모리 컨트롤러에 의해, 시스템 관리 버스(System Management Bus: SMBus)를 통해 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체.
  11. 제8항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 메모리 컨트롤러에 의해, 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체.
  12. 제11항에 있어서,
    상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계는,
    모드 레지스터 셋 명령을 이용하여 상기 모드 레지스터로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체.
  13. 제8항에 있어서,
    상기 매체 페이지 크기를 판단하는 단계는,
    상기 메모리에 의해, 상기 매체 페이지 크기를 메시지 패킷에 포함시키는 단계; 및
    상기 메모리 컨트롤러에 의해, 상기 메시지 패킷으로부터 상기 매체 페이지 크기를 독출하는 단계를 포함하는, 비일시적인 컴퓨터 판독가능 기록매체.
  14. 제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) 중 하나인, 비일시적인 컴퓨터 판독가능 기록매체.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180141256A 2018-01-29 2018-11-16 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체 KR102390156B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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