KR20110007571A - 듀얼 인라인 메모리 모듈의 상변화 메모리 - Google Patents

듀얼 인라인 메모리 모듈의 상변화 메모리 Download PDF

Info

Publication number
KR20110007571A
KR20110007571A KR20100051646A KR20100051646A KR20110007571A KR 20110007571 A KR20110007571 A KR 20110007571A KR 20100051646 A KR20100051646 A KR 20100051646A KR 20100051646 A KR20100051646 A KR 20100051646A KR 20110007571 A KR20110007571 A KR 20110007571A
Authority
KR
South Korea
Prior art keywords
memory
pcm
modules
dimm
dram
Prior art date
Application number
KR20100051646A
Other languages
English (en)
Other versions
KR101504781B1 (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 KR20110007571A publication Critical patent/KR20110007571A/ko
Application granted granted Critical
Publication of KR101504781B1 publication Critical patent/KR101504781B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40607Refresh operations in memory devices with an internal cache or data buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory

Abstract

본 발명은 메모리 장치의 관리(management)에 관한 것이다. 본 발명의 일 태양에 따른 시스템은 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈); 상기 시스템에 전자적으로 연결되며, 상기 PCM 모듈들이 평행하게 전자적으로 연결되는 메모리 버스(memory bus); 및 상기 PCM 모듈들에 대응하는 파라미터들을 포함하는 BIOS(Basic Input/Output System: 기본 입출력 시스템)를 포함한다.

Description

듀얼 인라인 메모리 모듈의 상변화 메모리{Phase Change Memory in a Dual Inline Memory Module}
본 발명은 메모리 장치의 관리(management)에 관한 것으로서, 더욱 상세하게는 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 갖는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)을 포함하는 시스템에 관한 것이다.
메모리 장치는 예를 들어, 컴퓨터, 휴대폰, PDA, 데이터이력기록기(data logger), 게임기, 항법장치 등과 같은 많은 유형의 전자 장치들에 적용된다. 전술한 전자 장치들 가운데, 다양한 유형의 메모리 장치들, 예를 들어, NAND 플래시 메모리나 NOR 플래시 메모리, SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory), PCM(Phase Change Memory: 상변화 메모리) 등이 적용된다. 동작 속도 및 캐시 라인 사이즈(cache line size)의 증가에 상응하여, 메모리 장치들은 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)속에 패키징될 수 있다. 예를 들어, 컴퓨팅 플랫폼(computing platform)에서 메인 메모리로 이용될 수 있는 전술한 DIMM은 상기 DIMM에 평행하게 장착되는 다수의 DRAM 메모리를 포함할 수 있다. 따라서, 상기 DIMM으로의 읽기/쓰기 요청(read/write request)은 평행한 DRAM 모듈들의 전역으로 분할될 수 있고, 그에 따라 개개의 DRAM 모듈은 총 캐시 라인 요청(total cache line request)의 하위 집합(subset)을 제공할 수 있다. 전술한 DRAM 장치들은 일반적으로 예를 들면, 읽기/쓰기 타이밍(read/write timing), 메모리 페이지 사이즈(memory page size), 및/또는 어드레싱 프로토콜(addressing protocol)과 연관된 특정한 고유 파라미터들(intrinsic parameters)을 갖는다.
일반적으로, 쓰기 프로세스나 프로그래밍 프로세스는 메모리 장치들에 정보를 저장하기 위해 이용되는 반면, 읽기 프로세스는 저장된 정보를 검색(retrieve)하기 위해 이용된다. 저장된 정보는 메모리 장치의 일부 또는 모두로부터 삭제될 수 있으며, 새로운 정보가 메모리 장치의 일부 또는 모두에 쓰여질 수 있다. 상대적으로 많은 수의 프로그램-삭제(program-erase) 및/또는 프로그램-재프로그램 사이클들(program-re-program cycles)은 PCM의 물리적 무결성(physical integrity)을 떨어뜨릴 수 있다. 예를 들어, PCM을 통합한 DIMM에 부과된 수천 개의 프로그램-삭제 사이클들은 상기 DIMM의 신뢰성을 감소시킬 수 있다.
본 발명은 전술한 종래 기술이 갖는 문제점을 해소하기 위한 것이다.
본 발명의 일 태양에 따른 시스템은 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈); 상기 시스템에 전자적으로 연결되며, 상기 PCM 모듈들이 평행하게 전자적으로 연결되는 메모리 버스(memory bus); 및 상기 PCM 모듈들에 대응하는 파라미터들을 포함하는 BIOS(Basic Input/Output System: 기본 입출력 시스템)를 포함한다.
상기 파라미터들은 상기 PCM 모듈들의 애디티브 레이턴시(additive latency)를 위한 값(value) 또는 CAS(Column Address Strobe) 레이턴시를 위한 값을 포함할 수 있다.
상기 PCM 모듈들은, 상기 DIMM으로 로우 어드레스(row address)가 제공된 후 곧바로, 상기 DIMM으로 컬럼 어드레스(column address)가 제공될 수 있게 하는 애디티브 레이턴시(additive latency)와 연관된다.
상기 시스템은 상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 저장(cache)하는 DRAM 캐시 메모리(DRAM cache memory)를 더 포함할 수 있다.
상기 시스템의 뱅크 어드레스 비트들(bank address bits)은 다중의 상기 하나 또는 그 이상의 PCM 모듈들에 걸친 다중 메모리 뱅크들(multiple memory banks)에 대응한다.
상기 DIMM은 상기 시스템의 주 메모리(main memory)를 포함할 수 있다.
상기 하나 또는 그 이상의 PCM 모듈들은 DRAM 모드 레지스터들(DRAM mode registers) 및/또는 DRAM 인터페이스(DRAM interface)를 포함할 수 있다.
본 발명의 일 태양에 따른 방법은 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)에 활성화 명령(activate instruction)을 제공하는 단계; 상기 PCM 모듈들에 로우 어드레스(row address)를 제공하는 단계; 및 상기 PCM 모듈들에 다음번 로우 어드레스(subsequent row address)를 제공하기에 앞서, 다중 컬럼 어드레스들(multiple column addresses)을 제공하는 단계를 포함한다.
상기 방법은 상기 DIMM에 로우 어드레스를 제공한 후 곧바로, 상기 다중 컬럼 어드레스들 중 하나를 상기 DIMM에 제공하는 단계를 더 포함할 수 있다.
상기 방법은 상기 PCM 모듈들에 대응하는 파라미터들을 컴퓨팅 플랫폼(computing platform)의 BIOS(Basic Input/Output System: 기본 입출력 시스템)에 보전(maintaining)하는 단계를 더 포함할 수 있다.
상기 파라미터들은 상기 PCM 모듈들의 애디티브 레이턴시(additive latency)를 위한 값(value)을 포함할 수 있다.
상기 방법은 상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 DRAM 캐시 메모리(DRAM cache memory)에 저장(caching)하는 것에 의해, 상기 PCM 모듈들의 사이클링 한도(cycling limit)를 관리(managing)하는 단계를 더 포함할 수 있다.
상기 방법은 적어도 부분적으로 상기 PCM 모듈들의 특성들을 기초로 상기 DRAM 캐시 메모리를 위한 메모리 사이즈를 선택하는 단계를 더 포함할 수 있다.
상기 방법은 뱅크 어드레스 비트들(bank address bits)을 이용하여 상기 하나 또는 그 이상의 PCM 모듈들에 걸친 다중 메모리 뱅크들(multiple memory banks)을 액세스(accessing)하는 단계를 더 포함할 수 있다.
전술한 바와 같은 본 발명에 따르면, 프로그램-삭제 사이클들(program-erase cycles) 또는 "사이클링"의 발생 개수를 제한하거나 줄이는데 유익하기 때문에, DIMM의 신뢰성을 향상시켜 상대적으로 신뢰성이 덜한 기술들을 수반하는 저장 장치들의 성공적인 이용을 제공할 수 있는 이점이 있다.
또한, 메모리 프로세스 스케쥴링(memory process scheduling)을 향상시키기 위해 애디티브 레이턴시(additive latency)가 이용될 수 있고, 로우 어드레스와 컬럼 어드레스가 연달아 발행(issue)될 수 있어, 출력 데이터에 있어서의 타이밍 갭(timing gap)을 피할 수 있는 이점이 있다.
또한, 활성화 명령과 읽기 명령 사이에 예를 들어, 하나 또는 그 이상의 클락 사이클들(clock cycles)이 있을 수 있고, CAS 레이턴시(Column Address Strobe latency) 및/또는 애디티브 레이턴시를 이용하여, 활성화 명령 후, 곧바로 읽기 명령이 발행될 수 있어, 읽기 명령은 실행되기 전, 미리 결정된 개수의 클락 사이클들에 의해 내부적으로 지연될 필요가 없다. 또한, 타이밍 프로세스가 추가적인 명령에 대한 요구 없이 수행되기 때문에, 메모리 명령들(memory instructions) 사이의 충돌을 피할 수 있는 이점이 있다.
전술한 구성적 특징 및 그에 따른 작용효과나 그 이외의 본 발명의 다른 특징들 및 이점들은 첨부된 도면들을 참조로 한 이하의 설명을 통해 더욱 명확해질 것이다.
이하, 첨부된 도면들에 대해 간략히 설명하며, 따로 명기하지 않는 한, 도면들 전체에 걸쳐 동일 도면부호들은 동일 요소들을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 구성의 개략도이다.
도 2는 본 발명의 다른 실시예에 따른 메모리 구성의 개략도이다.
도 3은 본 발명의 일 실시예에 따른 메모리 제어 프로세스의 타이밍 다이어그램(timing diagram)이다.
도 4는 본 발명의 일 실시예에 따른 메모리 제어 프로세스의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 시스템(computing system) 및 메모리 장치의 개략도이다.
일 실시예에 있어서, 메모리 장치는 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)을 포함할 수 있다. 상기 PCM 모듈들은 상기 DIMM에 평행하게 전자적으로 연결되도록 장착될 수 있다. 일 실행에 있어서, 예를 들어 컴퓨팅 시스템(computing system)의 주 메모리(main memory)의 적어도 일부를 포함할 수 있는 전술한 DIMM은 메모리 컨트롤러와 통신할 수 있는 메모리 버스(memory bus)를 포함할 수 있다. 전술한 메모리 버스를 통해, 컴퓨팅 시스템은 메모리 컨트롤러를 경유하여 상기 DIMM에 있는 PCM 모듈들을 액세스(access)할 수 있다.
일 실시예에 있어서, 상기 DIMM은 적어도 부분적으로 DRAM 모듈들을 기반으로 전자적으로 작동하도록 구성될 수 있다. 예를 들어, 상기 DIMM은 하나 또는 그 이상의 PCM 모듈들을 받기 위한 하나 또는 그 이상의 DRAM 소켓들(DRAM sockets)을 포함할 수 있으나, 본 발명이 전술한 예로 제한되는 것은 아니다. 다른 예의 경우, 상기 하나 또는 그 이상의 PCM 모듈들은 DRAM을 위해 적용된 연결들을 포함하는 DRAM 모드 레지스터들(DRAM mode registers) 및/또는 DRAM 인터페이스(DRAM interface)를 포함할 수 있다. 상기 PCM 모듈들은 후술되는 바와 같이, 적절한 메모리-레벨 및/또는 시스템-레벨의 프로세스들 및/또는 파라미터들을 이용함으로써, 전술한 바와 같은 DIMM에 통합될 수 있다. 예를 들어, 컴퓨팅 시스템은 PCM 모듈들에 대응하는 파라미터들을 보전(maintain)하는 BIOS(Basic Input/Output System: 기본 입출력 시스템)를 포함할 수 있다. 전술한 파라미터들은 예를 들어, 타이밍(timing), 레이턴시들(latencies) 및/또는 PCM 모듈들의 사이즈를 위한 값들을 포함할 수 있다. 특정 실행에 있어서, BIOS는 시스템 부팅시 PCM 모듈들을 테스트할 필요 없다. 전술한 바와 같은 BIOS는 PCM 모듈들을 작동시키도록 구성된 로우-레벨 드라이버(low-level driver)를 포함할 수 있다. 또한, 전술한 바와 같은 BIOS는 PCM 모듈 구성에 빠르게 반응하며, PCM 모듈 ID를 읽기 위한 실행가능한 코드를 포함할 수 있다. 다른 예의 경우, 상기 PCM 모듈들은, 상기 DIMM이 로우 어드레스(row address)를 수신한 후 곧바로, (예를 들어, 메모리 컨트롤러에 의해 생성된) 컬럼 어드레스(column address)가 상기 DIMM으로 제공될 수 있게 하는 애디티브 레이턴시(additive latency)와 연관될 수 있다. 전술한 애디티브 레이턴시는, 예를 들어, 지연 없이, 출력 데이터에 타이밍 갭들(timing gaps)을 도입(introducing)하는 일 없이, PCM으로 보내지는 연속적인 읽기 명령들(read commands)이 즉각적으로 뒤따르도록, 상기 PCM 모듈들의 타이밍 계획(timing scheme)에 도입될 수 있다.
일반적으로, 쓰기 프로세스나 프로그래밍 프로세스는 메모리 장치들에 정보를 저장하기 위해 이용되는 반면, 읽기 프로세스는 저장된 정보를 검색(retrieve)하기 위해 이용된다. 저장된 정보는 메모리 장치의 일부 또는 모두로부터 삭제될 수 있으며, 새로운 정보가 메모리 장치의 일부 또는 모두에 쓰여질 수 있다. 상대적으로 많은 수의 프로그램-삭제(program-erase) 및/또는 프로그램-재프로그램 사이클들(program-re-program cycles)은 PCM의 물리적 무결성(physical integrity)을 떨어뜨릴 수 있다. 예를 들어, PCM을 통합한 DIMM에 부과된 수천 개의 프로그램-삭제 사이클들은 상기 DIMM의 신뢰성을 감소시킬 수 있다. 전술한 PCM 메모리를 이용할 경우, 프로그램-삭제 사이클들 또는 "사이클링"의 발생 개수를 제한하거나 줄이는데 유익할 수 있다. 따라서, 일 실시예에 있어서, DIMM에 있는 PCM 모듈들의 사이클링을 관리하는 기술은 쓰기 데이터(write data)의 저장(caching)을 포함할 수 있다. 특히, DRAM 캐시 메모리(DRAM cache memory)와 같은 메모리 장치는 PCM DIMM의 특정 어드레스들에 대응하는 쓰기 데이터를 저장하는데 이용될 수 있다. 전술한 바와 같은 DRAM 캐시 메모리의 메모리 사이즈는 적어도 부분적으로 PCM DIMM을 포함하는 PCM 모듈들의 특성들에 기초하여 선택될 수 있다. 전술한 특성들은 예를 들면, PCM DIMM 사이즈를 포함할 수 있다. 전술한 특성들은 예를 들면, PCM의 사이클링 설계사항(cycling specifications), PCM 실패율(PCM failure rate), PCM 쓰기 속도(PCM write speed), PCM DIMM을 통합하는 시스템의 쓰기 용법 모델(write usage model), 및/또는 이용되는 PCM 쓰기 웨어 레벨링 기술들(PCM write wear leveling techniques)을 포함할 수 있다. 특정 예에서, 상기 DRAM 캐시 메모리의 사이즈는 약 100 킬로바이트 내지 수십 메가바이트의 RAM 범위를 가질 수 있으나, 본 발명이 전술한 예로 제한되는 것은 아니다.
일 실행에 있어서, PCM DIMM은 패키지마다 다중 메모리 다이스(multiple memory dice)를 갖는 패키지에 적층된 PCM 모듈들을 포함할 수 있다. 예를 들어, 전술한 패키지는 패키지마다 1, 2, 4 또는 8개의 입/출력 핀들을 각각 제공하는 2, 4 또는 8개의 다이스(dice)를 포함할 수 있다. 전술한 실행의 결과로, 예를 들어, 추가적인 PCM이 출력 드라이버들(output drivers)에 추가 로딩(extra loading)을 제공하는 일 없이 이용될 수 있다. 또한, DIMM에 이용된 PCM이 DRAM 보다 더 적은 수의 뱅크들(banks)을 갖는 경우, 후술되는 바와 같이, 다중 PCM 장치들에 걸친 다중 뱅크들(multiple banks)을 액세스(access)하기 위해 뱅크 어드레스 비트들(bank address bits)이 이용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 DRAM 듀얼 인라인 메모리 모듈(DRAM DIMM: 100, 이하 'DRAM DIMM'으로 약칭)의 개략도이며, 상기 DRAM DIMM(100)은, 도 1에 도시된 바와 같이, DRAM(110), DRAM(120), DRAM(130)을 갖는 다중 DRAM 모듈(multiple DRAM module)을 포함한다. 비록, 8개의 DRAM 모듈들이 특정 실시예에 포함될 수 있지만, 상기 DRAM DIMM(100)은 다른 개수의 DRAM 모듈들을 포함할 수 있다. 예를 들어, 9번째 DRAM 모듈이 에러 정정(error correction)을 위해 제공될 수 있으나, 그러한 실시예로 본 발명이 제한되는 것은 아니다.
개개의 DRAM 모듈은, 컬럼 어드레스(column address)가 지정된 후, 로우 어드레스(row address)를 먼저 지정하는 것에 의해 액세스되는 어드레서블 메모리 셀들(addressable memory cells)의 매트릭스(matrix)를 포함할 수 있다. 화살표(150)는 어드레스 버스(address bus)를 나타내며, 상기 어드레스 버스를 통해 메모리 컨트롤러(미도시)는 읽기/쓰기 어드레스(read/write address)를 상기 DRAM DIMM(100)으로 제공할 수 있다. 특정 실행에 있어서, 전술한 바와 같은 어드레스 버스는 16비트 와이드(16 bits wide)일 수 있다. 화살표(160)는 데이터 버스(data bus)를 나타내며, 상기 데이터 버스를 통해 DRAM 모듈들은 읽기 데이터(read data)를 상기 메모리 컨트롤러 및/또는 컴퓨팅 시스템(computing system)(미도시)의 다른 부분으로 제공하거나 또는 쓰기 데이터(write data)를 상기 메모리 컨트롤러 및/또는 컴퓨팅 시스템의 다른 부분으로부터 받을 수 있다. 특정 실행에 있어서, 전술한 바와 같은 데이터 버스는 평행하게 연결된 8개의 8비트 DRAM 모듈들을 어카운트(account)하기 위한 64비트 와이드(64 bits wide)일 수 있으나, 전술한 예들로 제한되는 것은 아니다. 상기 DRAM DIMM(100)에 특정 위치(particular location)를 어드레스(address)하도록, 후술되는 바와 같은 활성화 명령(activate command)은 예를 들어, 화살표(140)에 의해 대표되는 버스에 있는 메모리 컨트롤러에 의해 DRAM 모듈들(110, 120, 130)로 제공되는 로우 어드레스(row address)에 의해 수반될 수 있다. 전술한 바와 같은 로우 어드레스 버스(row address bus: 140)는 개개의 DRAM 모듈들에 평행하게 연결될 수 있다. 로우 어드레스를 제공한 다음, 메모리 컨트롤러는 화살표(170)에 의해 대표되는 버스를 통해 개개의 DRAM 모듈들로 제공되는 컬럼 어드레스에 의해 수반되는 읽기/쓰기 명령(read/write command)을 생성할 수 있다. 물론, 전술한 바와 같은 DRAM DIMM의 특징들 및 세부 내용들은 단지 예들에 불과하며, 본 발명의 특허청구범위를 제한하는 것은 아니다.
도 2는 본 발명의 다른 실시예에 따른 PCM(Phase Change Memory: 상변화 메모리) 듀얼 인라인 메모리 모듈(PCM DIMM: 200)의 개략도이며, 상기 PCM DIMM(200)은 PCM(214), PCM(218), PCM(224), PCM(228)을 갖는 다중 PCM 모듈(multiple PCM module)을 포함한다. 상기 PCM DIMM(200)은 적어도 부분적으로 DRAM 모듈들을 기반으로 전자적으로 작동하도록 구성될 수 있다. 그와 같은 경우, 적어도 부분적으로 개개의 PCM 모듈들에 있는 메모리 뱅크(memory bank)의 개수에 따라, 하나의 DRAM 모듈 대신 하나 이상의 PCM 모듈이 사용될 수 있다. 따라서, 상기 PCM DIMM(200)은 하나의 DRAM 모듈 대신 PCM(214) 및/또는 PCM(218)이 사용되는 메모리 사이트(memory site: 210) 및 또 하나의 DRAM 모듈 대신 PCM(224) 및/또는 PCM(228)이 사용되는 메모리 사이트(220)를 포함할 수 있다. 여기서, 메모리 사이트는 상기 PCM DIMM(200)과 DRAM 또는 PCM 모듈들 사이의 전자적 연결이 이루어질 수 있는 PCM DIMM(200)의 위치를 가리킨다. 특정 실행에 있어서, PCM 모듈은 DRAM 모듈보다 더 많은 전자적 연결들을 포함한다. 예를 들면, 상기 PCM DIMM(200)은 4개의 뱅크들(banks)과 (8개의 뱅크들까지 어드레싱할 수 있는) 3비트 뱅크(3-bit bank)를 갖는 PCM 모듈들을 포함할 수 있다. 각각 4개의 뱅크 어드레스들(4 bank addresses)을 갖는 2개의 PCM 장치들이 나중에 액세스될 수 있다. 따라서, 특정 실행에 있어서, PCM DIMM에는 다중 메모리 뱅크들(multiple memory banks)에 대응하는 뱅크 어드레스 비트들(bank address bits)이 마련될 수 있다. 물론, 전술한 바와 같은 메모리 사이트들은 전술한 실시예에서 설명한 PCM 모듈들보다 많거나 또는 적은 개수의 PCM 모듈들을 포함할 수 있다. 마찬가지로, 상기 PCM DIMM(200)은 전술한 실시예에서 설명한 메모리 사이트들보다 많거나 또는 적은 개수의 메모리 사이트들을 포함할 수 있다.
전술한 DRAM 모듈들과 마찬가지로, 개개의 PCM 모듈들은 컬럼 어드레스(column address)가 지정된 후, 로우 어드레스(row address)를 먼저 지정하는 것에 의해 액세스될 수 있는 어드레서블 메모리 셀들(addressable memory cells)의 매트릭스(matrix)를 포함할 수 있다. 화살표(240)는 어드레스 버스(address bus)를 나타내며, 상기 어드레스 버스를 통해 메모리 컨트롤러(미도시)는 읽기/쓰기 어드레스(read/write address)를 상기 PCM DIMM(200)으로 제공할 수 있다. 특정 실행에 있어서, 전술한 바와 같은 어드레스 버스는 예를 들어, 16비트 와이드(16 bits wide)일 수 있다. 화살표(250)는 데이터 버스(data bus)를 나타내며, 상기 데이터 버스를 통해 PCM 모듈들은 읽기 데이터(read data)를 상기 메모리 컨트롤러 및/또는 컴퓨팅 시스템(computing system)(미도시)의 다른 부분으로 제공하거나 또는 쓰기 데이터(write data)를 상기 메모리 컨트롤러 및/또는 컴퓨팅 시스템의 다른 부분으로부터 받을 수 있다. 특정 실행에 있어서, 전술한 바와 같은 데이터 버스는 평행하게 연결된 8비트를 갖는 8개의 평행한 PCM 모듈 그룹들을 어카운트(account)하기 위한 64비트 와이드(64 bits wide)일 수 있으나, 전술한 예들로 제한되는 것은 아니다. 상기 PCM DIMM(200)에 특정 위치(particular location)를 어드레스(address)하도록, 후술되는 바와 같은 활성화 명령(activate command)은 예를 들어, 화살표(230)에 의해 대표되는 버스에 있는 메모리 컨트롤러에 의해 PCM 모듈들(214, 218, 224, 228)로 제공되는 로우 어드레스(row address)에 의해 수반될 수 있다. 전술한 바와 같은 어드레스 버스(address bus: 230)는 개개의 PCM 모듈들에 평행하게 연결될 수 있다. 로우 어드레스를 제공한 다음, 메모리 컨트롤러는 버스(230)를 통해 개개의 메모리 사이트들(210, 220)로 제공되는 컬럼 어드레스에 의해 수반되는 읽기/쓰기 명령(read/write command)을 생성할 수 있다. 읽기/쓰기 명령을 수반하는 전술한 바와 같은 컬럼 어드레스는 또한 화살표(260)에 의해 대표되는 버스를 통해 개개의 PCM 모듈들(214, 218, 224, 228)로 제공될 수 있다. 물론, 전술한 바와 같은 PCM DIMM의 특징들 및 세부 내용들은 단지 예들에 불과하며, 본 발명의 특허청구범위를 제한하는 것은 아니다.
도 3은 본 발명의 일 실시예에 따른 메모리 제어 프로세스(300)의 타이밍 다이어그램(timing diagram)이고, 도 4는 본 발명의 일 실시예에 따른 메모리 제어 프로세스(400)의 흐름도이다. 후술되는 실시예는 상기 메모리 제어 프로세스(300) 및 그와 동일한 프로세스를 포함하는 메모리 제어 프로세스(400)에 기초한 것이나, 본 발명의 특허청구범위가 그것들로 제한되는 것은 아니다. 도 3에 도시된 바와 같이, 클락 신호(clock signal: 305)는 메모리 프로세스들의 타이밍을 수립할 수 있다. 단계 410에서, 메모리 컨트롤러는 예를 들어, 도 2에 도시된 PCM 모듈(214)과 같은 PCM 모듈의 페이지나 메모리 뱅크(memory bank)를 열게 하는 활성화 명령(activate command: 310)을 낼 수 있다. 그와 같은 활성화 단계(activate phase) 동안, PCM 모듈은 단계 420에서와 같이, 메모리 컨트롤러로부터 로우 어드레스(row address: 315)를 수신할 수 있다. 단계 430 및 단계 440에서, 메모리 컨트롤러는 읽기 명령(read instruction: 320)과 컬럼 어드레스(325)를 발행(issue)하여, 데이터가 읽혀지게 될 하나 또는 그 이상의 메모리 셀들의 메모리 어드레스(로우 및 컬럼 어드레스)를 제공할 수 있다. 특정 실행에 있어서, 메모리 프로세스 스케쥴링(memory process scheduling)을 향상시키기 위해 애디티브 레이턴시(additive latency)가 이용될 수 있다. 로우 어드레스와 컬럼 어드레스가 연달아 발행(issue)될 수 있고, 그에 따라 예를 들어, 출력 데이터에 있어서의 타이밍 갭(timing gap)을 피할 수 있다. 그러나, 전술한 타이밍 갭은 몇몇 애플리케이션들(applications)에 있어서는 바람직할 수 있으나, 본 발명의 특허청구범위가 그와 같이 제한되는 것은 아니다. 도 3에 도시되어 있지는 않지만, 상기 활성화 명령(310)과 읽기 명령(320) 사이에 예를 들어, 하나 또는 그 이상의 클락 사이클들(clock cycles)이 있을 수 있다. 상세하게는, CAS 레이턴시(Column Address Strobe latency) 및/또는 애디티브 레이턴시를 이용하여, 활성화 명령 후, 곧바로 읽기 명령이 발행될 수 있다. 전술한 바와 같은 읽기 명령은 실행되기 전, 미리 결정된 개수의 클락 사이클들에 의해 내부적으로 지연될 필요가 없다. 전술한 바와 같은 타이밍 프로세스는 추가적인 명령에 대한 요구 없이 수행되기 때문에, 메모리 명령들(memory instructions) 사이의 충돌을 피할 수 있다.
비록, 여기에서 설명되는 하나 또는 그 이상의 실시예들을 위해 요구되는 것은 아니지만, 애디티브 레이턴시를 위한 값(value)이 PCM 모듈의 모드 레지스터(mode register)에 보전될 수 있다. 따라서, 단계 450에서, tCCD(칼럼 어드레스가 인가된 후 지연되는 시간)이 경과한 후, 단계 460에서, 또 하나의 읽기 명령이 발행된다. 동시에, 단계 470에서, 또 하나의 칼럼 어드레스가 발행될 수 있다. 하나 또는 그 이상의 레이턴시들 이후, 예를 들어, 읽기 레이턴시(read latency) 및 컬럼 어드레싱 레이턴시(column addressing latency)와 같은 데이터(340) 및 데이터(350)가 각각 읽기 명령(320) 및 읽기 명령(330)으로부터 비롯될 수 있다. 일 실행에 있어서, 컬럼 어드레스들을 제공하고, 상응하는 어드레스들에 있는 메모리를 읽는 프로세스는 예를 들어, 단계 480에서 검사되는 바와 같이, 열린 페이지의 마지막 컬럼에 이를 때까지 반복될 수 있다. 전술한 바와 같은 경우에 있어서, 또 하나의 페이지를 열게 하기 위한 활성화 명령이 메모리 컨트롤러에 의해 발행될 수 있다. PCM 모듈들은 적어도 부분적으로 DRAM 모듈들을 기반으로 전자적으로 작동하도록 구성되는 DIMM에 통합될 수 있다. 전술한 바와 같은 PCM 모듈들을 수용하도록, 적절한 메모리-레벨 및/또는 시스템-레벨의 프로세스들 및/또는 파라미터들이 실행될 수 있다. 예를 들어, 시스템 레벨에서, BIOS(Basic Input/Output System: 기본 입출력 시스템)가 PCM 모듈들 또는 다른 메모리에 보전된 하나 또는 그 이상의 모드 레지스터들(mode registers)로부터 파라미터들을 검색(retrieve)할 수 있다. 예를 들어, 읽기 레이턴시(read latency), 쓰기 레이턴시(write latency), CAS 레이턴시(CAS latency), 첫 번째 데이터 타임(first data time)에 대한 내부 읽기 명령(internal read command) 등을 위한 값들, 내부 읽기/쓰기 지연(internal read/write delay) 및/또는 애디티브 지연(additive delay)에 대한 활성화를 위한 값들을 포함하는 전술한 파라미터들은 상기 PCM 모듈들에 대응할 수 있다.
도 5는 메모리 장치(510)를 포함하는 본 발명의 일 실시예에 따른 컴퓨팅 시스템(500)의 개략도이다. 컴퓨팅 장치(504)는 상기 메모리 장치(510)를 관리운영하도록 구성될 수 있는 기계, 기구, 장치 등을 대표하는 것일 수 있다. 상기 메모리 장치(510)는 메모리 컨트롤러(515) 및 메모리(522)를 포함할 수 있다. 일 예(그러나 이것으로 제한되는 것은 아님)로서, 상기 컴퓨팅 장치(504)는 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 워크스테이션(workstation), 서버 장치(server device) 등과 같은 하나 또는 그 이상의 컴퓨팅 장치들 및/또는 플랫폼들; PDA(Personal Digital Assistant), 이동통신장치 등과 같은 하나 또는 그 이상의 개인 컴퓨팅 또는 통신 장치들이나 기구들; 데이터베이스 또는 데이터 저장 서비스 제공자/시스템 등과 같은 컴퓨팅 시스템 및/또는 관련 서비스 제공자; 및/또는 이들의 조합을 포함할 수 있다.
상기 컴퓨팅 시스템(500)에 있는 다양한 장치들의 일부나 모두 및 추가로 설명될 프로세스들 및 방법들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 이들의 조합을 포함하거나 또는 이용함으로써 실행될 수 있다. 따라서, 일 예(그러나 이것으로 제한되는 것은 아님)로서, 상기 컴퓨팅 장치(504)는 버스(bus: 540)를 통해 메모리(522) 및 호스트나 메모리 컨트롤러(515)와 작동적으로 연결되는 적어도 하나의 프로세싱 유닛(520)을 포함할 수 있다. 상기 프로세싱 유닛(520)은 데이터 컴퓨팅 처리나 프로세스의 적어도 일부를 수행하도록 구성될 수 있는 하나 또는 그 이상의 회로들을 대표한다. 일 예(그러나 이것으로 제한되는 것은 아님)로서, 상기 프로세싱 유닛(520)은 하나 또는 그 이상의 프로세서, 컨트롤러, 마이크로프로세서, 마이크로컨트롤러, ASIC(Application Specific Integrated Circuit), 디지털 신호 프로세서, PLD(Programmable Logic Device), FPGA(Field Programmable Gate Array) 등이나 이들의 조합을 포함할 수 있다. 상기 프로세싱 유닛(520)은 예를 들어, 전술한 메모리 분할 프로세스뿐만 아니라, 읽기, 쓰기 및/또는 삭제와 같은 메모리 관련 작업들에 대한 프로세스를 수행하기 위해 메모리 컨트롤러(515)와 통신할 수 있다. 상기 프로세싱 유닛(520)은 메모리 컨트롤러(515)와 통신할 수 있도록 구성된 운영 체제를 포함할 수 있다. 예를 들어, 전술한 운영 체제는 버스(bus: 540)를 통해 메모리 컨트롤러(515)로 보내어지는 명령들(commands)을 생성할 수 있다. 전술한 명령들은 예를 들어, 읽기/쓰기 명령들(read/write instructions)을 포함할 수 있다. 상기 컴퓨팅 장치(504)는, DIMM이 로우 어드레스(row address)를 수신한 후 곧바로, (예를 들어 메모리 컨트롤러(515)에 의해 생성된) 컬럼 어드레스(column address)가 DIMM으로 제공되게 하는 것을 가능하게 하는 애디티브 레이턴시(additive latency)와 연관될 수 있는 PCM 모듈들에 대응하는 파라미터들을 보전(maintain)하는 BIOS(Basic Input/Output System)를 포함할 수 있다.
상기 메모리(522)는 데이터 저장 장치를 대표한다. 상기 메모리(522)는 예를 들어, 주 메모리(primary memory: 524) 및/또는 부 메모리(secondary memory: 526)를 포함할 수 있다. 특정 실시예에 있어서, 상기 메모리(522)는 전술한 바와 같은 PCM DIMM을 포함할 수 있다. 특히, 상기 주 메모리(524)는 예를 들어, 랜덤 액세스 메모리(RAM: Random Access Memory), 읽기전용 메모리(ROM: Read Only Memory) 등을 포함할 수 있다. 상기 실시예에서 프로세싱 유닛(520)으로부터 분리된 것으로 설명되었으나, 상기 주 메모리(524)의 일부 또는 모두는 상기 프로세싱 유닛(520) 내에 마련되거나 또는 상기 프로세싱 유닛(520)과 연결될 수 있음에 유의해야 한다.
일 실시예에 있어서, 상기 메모리(522)의 하나 또는 그 이상의 부분들은 상기 메모리(522)의 특정 상태(particular state)에 의해 표현되는 데이터 및/또는 정보를 대표하는 신호들을 저장할 수 있다. 예를 들어, 상기 데이터 및/또는 정보를 대표하는 전자 신호는 상기 데이터 및/또는 정보를 2진수 정보(1 및 0)로 표시하도록 상기 메모리(522)의 전술한 부분들의 상태를 변화시킴으로써 상기 메모리(522)의 일 부분에 "저장"될 수 있다. 따라서 특정 실행에 있어서, 상기 데이터 및/또는 정보를 대표하는 신호를 저장하기 위한 전술한 바와 같은 메모리의 일 부분의 상태 변화는 메모리(522)의 다른 상태로의 변환(transformation)을 구성한다.
상기 부 메모리(526)는 예를 들어, 상기 주 메모리와 동일 또는 유사한 유형의 메모리 및/또는 예를 들어, 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 고체상태 메모리 드라이브(solid state memory drive) 등과 같은 하나 또는 그 이상의 데이터 저장 장치들이나 시스템들을 포함할 수 있다. 특정 실행에 있어서, 상기 부 메모리(526)는 컴퓨터-판독가능 매체(computer-readable medium: 528)를 운영상 잘 받아들이거나 상기 컴퓨터-판독가능 매체(528)에 연결되도록 구성될 수 있다. 상기 컴퓨터-판독가능 매체(528)는 예를 들어, 상기 컴퓨팅 시스템(500)에 있는 하나 또는 그 이상의 장치들을 위한 접근가능한 데이터, 코드 및/또는 명령어들을 만들거나 가질 수 있는 매체를 포함할 수 있다.
상기 컴퓨팅 장치(504)는 예를 들어, 입/출력 장치(532)를 포함할 수 있다. 상기 입/출력 장치(532)는 사람 및/또는 기계 입력들을 받아들이거나 도입하도록 구성될 수 있는 하나 또는 그 이상의 장치들이나 특징들 및/또는 사람 및/또는 기계 출력들을 넘겨주거나 제공하도록 구성될 수 있는 하나 또는 그 이상의 장치들이나 특징들을 대표한다. 일 예(그러나 이것으로 제한되는 것은 아님)로서, 상기 입/출력 장치(532)는 디스플레이, 스피커, 키보드, 마우스, 트랙볼(trackball), 터치 스크린, 데이터 포트 등을 포함할 수 있다.
지금까지 본 발명의 다양한 실시예들이 상세히 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명으로부터 벗어나지 않는 다양한 다른 변형들이 만들어질 수 있음을 이해할 수 있을 것이다. 또한, 전술한 본 발명의 중심 개념으로부터 벗어나는 일 없이, 특수한 상황을 본 발명의 가르침에 조화시키는 많은 수정들이 만들어질 수 있다. 따라서, 본 발명은 전술한 특정 실시예들로 제한되지 않으며, 오히려 첨부된 특허청구범위의 청구항들에 따른 발명 및 그와 동등한 것들의 범위 내에 속하는 모든 실시예들을 포함하는 것으로 해석되어야 할 것이다.

Claims (21)

  1. 시스템에 있어서,
    하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈);
    상기 시스템에 전자적으로 연결되며, 상기 PCM 모듈들이 평행하게 전자적으로 연결되는 메모리 버스(memory bus); 및
    상기 PCM 모듈들에 대응하는 파라미터들을 포함하는 BIOS(Basic Input/Output System: 기본 입출력 시스템)를 포함하는 시스템.
  2. 제1항에 있어서,
    상기 파라미터들은 상기 PCM 모듈들의 애디티브 레이턴시(additive latency)를 위한 값(value) 또는 CAS(Column Address Strobe) 레이턴시를 위한 값을 포함하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서,
    상기 PCM 모듈들은, 상기 DIMM으로 로우 어드레스(row address)가 제공된 후 곧바로, 상기 DIMM으로 컬럼 어드레스(column address)가 제공될 수 있게 하는 애디티브 레이턴시(additive latency)와 연관된 것을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 저장(cache)하는 DRAM 캐시 메모리(DRAM cache memory)를 더 포함하는 것을 특징으로 하는 시스템.
  5. 제1항에 있어서,
    상기 시스템의 뱅크 어드레스 비트들(bank address bits)은 다중의 상기 하나 또는 그 이상의 PCM 모듈들에 걸친 다중 메모리 뱅크들(multiple memory banks)에 대응하는 것을 특징으로 하는 시스템.
  6. 제1항에 있어서,
    상기 DIMM은 상기 시스템의 주 메모리(main memory)를 포함하는 것을 특징으로 하는 시스템.
  7. 제1항에 있어서,
    상기 하나 또는 그 이상의 PCM 모듈들은 DRAM 모드 레지스터들(DRAM mode registers) 및/또는 DRAM 인터페이스(DRAM interface)를 포함하는 것을 특징으로 하는 시스템.
  8. 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)에 활성화 명령(activate instruction)을 제공하는 단계;
    상기 PCM 모듈들에 로우 어드레스(row address)를 제공하는 단계; 및
    상기 PCM 모듈들에 다음번 로우 어드레스(subsequent row address)를 제공하기에 앞서, 다중 컬럼 어드레스들(multiple column addresses)을 제공하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    상기 DIMM에 로우 어드레스를 제공한 후 곧바로, 상기 다중 컬럼 어드레스들 중 하나를 상기 DIMM에 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 PCM 모듈들에 대응하는 파라미터들을 컴퓨팅 플랫폼(computing platform)의 BIOS(Basic Input/Output System: 기본 입출력 시스템)에 보전(maintaining)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 파라미터들은 상기 PCM 모듈들의 애디티브 레이턴시(additive latency)를 위한 값(value)을 포함하는 것을 특징으로 하는 방법.
  12. 제8항에 있어서,
    상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 DRAM 캐시 메모리(DRAM cache memory)에 저장(caching)하는 것에 의해, 상기 PCM 모듈들의 사이클링 한도(cycling limit)를 관리(managing)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    적어도 부분적으로 상기 PCM 모듈들의 특성들을 기초로 상기 DRAM 캐시 메모리를 위한 메모리 사이즈를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제8항에 있어서,
    뱅크 어드레스 비트들(bank address bits)을 이용하여 상기 하나 또는 그 이상의 PCM 모듈들에 걸친 다중 메모리 뱅크들(multiple memory banks)을 액세스(accessing)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제10항에 있어서,
    상기 DIMM은 상기 컴퓨팅 플랫폼의 주 메모리(main memory)를 포함하는 것을 특징으로 하는 방법.
  16. 적어도 부분적으로 DRAM 모듈들을 기반으로 전자적으로 작동하도록 구성된 DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)을 포함하며, 상기 DIMM은 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들을 포함하는 것을 특징으로 하는 메모리 장치.
  17. 제16항에 있어서,
    컴퓨팅 시스템(computing system)에 전자적으로 연결되는 메모리 버스(memory bus)를 더 포함하고, 상기 메모리 버스에 상기 PCM 모듈들이 평행하게 전자적으로 연결되며, 상기 컴퓨팅 시스템은 상기 PCM 모듈들에 대응하는 파라미터들을 보전(maintain)하는 BIOS(Basic Input/Output System: 기본 입출력 시스템)를 포함하는 것을 특징으로 하는 메모리 장치.
  18. 제16항에 있어서,
    상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 저장(cache)하는 DRAM 캐시 메모리(DRAM cache memory)를 더 포함하는 것을 특징으로 하는 메모리 장치.
  19. DIMM(Dual Inline Memory Module: 듀얼 인라인 메모리 모듈)에 장착된 하나 또는 그 이상의 PCM(Phase Change Memory: 상변화 메모리) 모듈들에 대응하는 파라미터들을 컴퓨팅 플랫폼(computing platform)의 BIOS(Basic Input/Output System: 기본 입출력 시스템)에 보전(maintaining)하는 단계를 포함하는 방법.
  20. 제19항에 있어서,
    상기 PCM 모듈들은, 상기 DIMM으로 로우 어드레스(row address)가 제공된 후 곧바로, 상기 DIMM으로 컬럼 어드레스(column address)가 제공될 수 있게 하는 애디티브 레이턴시(additive latency)와 연관된 것을 특징으로 하는 방법.
  21. 제19항에 있어서,
    상기 DIMM의 특정 어드레스들에 대응하는 쓰기 데이터(write data)를 DRAM 캐시 메모리(DRAM cache memory)에 저장(caching)하는 것에 의해, 상기 PCM 모듈들의 사이클링 한도(cycling limit)를 관리(managing)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020100051646A 2009-07-16 2010-06-01 듀얼 인라인 메모리 모듈의 상변화 메모리 KR101504781B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/504,029 2009-07-16
US12/504,029 US8626997B2 (en) 2009-07-16 2009-07-16 Phase change memory in a dual inline memory module

Publications (2)

Publication Number Publication Date
KR20110007571A true KR20110007571A (ko) 2011-01-24
KR101504781B1 KR101504781B1 (ko) 2015-03-20

Family

ID=43448435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100051646A KR101504781B1 (ko) 2009-07-16 2010-06-01 듀얼 인라인 메모리 모듈의 상변화 메모리

Country Status (6)

Country Link
US (4) US8626997B2 (ko)
JP (2) JP5788151B2 (ko)
KR (1) KR101504781B1 (ko)
CN (1) CN101957726B (ko)
DE (1) DE102010030742B4 (ko)
TW (1) TWI506626B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170026746A (ko) * 2015-08-27 2017-03-09 삼성전자주식회사 메모리 모듈의 동작 방법, 및 메모리 모듈을 제어하는 프로세서의 동작 방법, 및 사용자 시스템

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103946812B (zh) 2011-09-30 2017-06-09 英特尔公司 用于实现多级别存储器分级体系的设备和方法
WO2013048490A1 (en) 2011-09-30 2013-04-04 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
CN103946813B (zh) 2011-09-30 2017-08-25 英特尔公司 基于使用统计量追踪的远存储器访问信号的生成
US9342453B2 (en) 2011-09-30 2016-05-17 Intel Corporation Memory channel that supports near memory and far memory access
EP2761480A4 (en) * 2011-09-30 2015-06-24 Intel Corp APPARATUS AND METHOD FOR IMPLEMENTING MULTINIVE MEMORY HIERARCHY ON COMMON MEMORY CHANNELS
CN103946811B (zh) * 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
WO2013048491A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
CN102521142B (zh) * 2011-12-13 2015-05-13 曙光信息产业(北京)有限公司 一种提高大容量、多内存设备访问效率的方法
US9280497B2 (en) * 2012-12-21 2016-03-08 Dell Products Lp Systems and methods for support of non-volatile memory on a DDR memory channel
CN105808455B (zh) * 2014-12-31 2020-04-28 华为技术有限公司 访问内存的方法、存储级内存及计算机系统
US10095618B2 (en) 2015-11-25 2018-10-09 Intel Corporation Memory card with volatile and non volatile memory space having multiple usage model configurations
US9747041B2 (en) 2015-12-23 2017-08-29 Intel Corporation Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device
US10007606B2 (en) 2016-03-30 2018-06-26 Intel Corporation Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory
US10185619B2 (en) 2016-03-31 2019-01-22 Intel Corporation Handling of error prone cache line slots of memory side cache of multi-level system memory
US10120806B2 (en) 2016-06-27 2018-11-06 Intel Corporation Multi-level system memory with near memory scrubbing based on predicted far memory idle time
US10193248B2 (en) 2016-08-31 2019-01-29 Crystal Group, Inc. System and method for retaining memory modules
CN106328183B (zh) * 2016-09-23 2018-08-31 山东师范大学 一种改进的存储器系统及方法
US10915453B2 (en) 2016-12-29 2021-02-09 Intel Corporation Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
US10445261B2 (en) 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
KR20180127707A (ko) * 2017-05-22 2018-11-30 에스케이하이닉스 주식회사 메모리 모듈 및 이의 동작 방법
US10304814B2 (en) 2017-06-30 2019-05-28 Intel Corporation I/O layout footprint for multiple 1LM/2LM configurations
US11188467B2 (en) 2017-09-28 2021-11-30 Intel Corporation Multi-level system memory with near memory capable of storing compressed cache lines
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
KR102505913B1 (ko) 2018-04-04 2023-03-07 삼성전자주식회사 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템
US10990463B2 (en) 2018-03-27 2021-04-27 Samsung Electronics Co., Ltd. Semiconductor memory module and memory system including the same
US10734756B2 (en) 2018-08-10 2020-08-04 Crystal Group Inc. DIMM/expansion card retention method for highly kinematic environments
US11307977B2 (en) * 2018-09-27 2022-04-19 Intel Corporation Technologies for direct matrix read and write operations
US11055228B2 (en) 2019-01-31 2021-07-06 Intel Corporation Caching bypass mechanism for a multi-level memory
US11093323B2 (en) * 2019-04-15 2021-08-17 Nvidia Corporation Performant inline ECC architecture for DRAM controller
US11823767B2 (en) 2021-04-01 2023-11-21 Micron Technology, Inc. Dynamic random access memory speed bin compatibility

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06215589A (ja) 1993-01-18 1994-08-05 Hitachi Ltd 半導体メモリ
IN188196B (ko) * 1995-05-15 2002-08-31 Silicon Graphics Inc
US5758056A (en) * 1996-02-08 1998-05-26 Barr; Robert C. Memory system having defective address identification and replacement
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6603757B1 (en) * 1999-04-14 2003-08-05 Excel Switching Corporation Voice-data access concentrator for node in an expandable telecommunications system
WO2002058069A2 (en) 2001-01-17 2002-07-25 Honeywell International Inc. Enhanced memory module architecture
JP4143287B2 (ja) 2001-11-08 2008-09-03 エルピーダメモリ株式会社 半導体記憶装置とそのデータ読み出し制御方法
US6909656B2 (en) * 2002-01-04 2005-06-21 Micron Technology, Inc. PCRAM rewrite prevention
US7336098B2 (en) 2004-06-30 2008-02-26 Intel Corporation High speed memory modules utilizing on-pin capacitors
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
TWI273435B (en) * 2004-12-28 2007-02-11 Inventec Corp Access control method for dynamic random access memory module
CN100437532C (zh) * 2004-12-30 2008-11-26 英业达股份有限公司 动态随机存取存储器的存取控制方法
JP4428284B2 (ja) 2005-04-25 2010-03-10 エルピーダメモリ株式会社 半導体記憶装置およびその書込み方法
US8244971B2 (en) * 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
GB2441726B (en) * 2005-06-24 2010-08-11 Metaram Inc An integrated memory core and memory interface circuit
KR100671747B1 (ko) 2006-01-04 2007-01-19 삼성전자주식회사 개선된 애디티브 레이턴시를 가진 메모리 시스템 및제어방법
WO2008051940A2 (en) 2006-10-23 2008-05-02 Virident Systems, Inc. Methods and apparatus of dual inline memory modules for flash memory
JP5669338B2 (ja) * 2007-04-26 2015-02-12 株式会社日立製作所 半導体装置
US8209479B2 (en) * 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
JP5049733B2 (ja) * 2007-10-17 2012-10-17 株式会社東芝 情報処理システム
JP4234766B1 (ja) * 2007-10-31 2009-03-04 株式会社東芝 電子機器およびその制御方法
EP2313890B1 (en) * 2008-08-08 2016-05-04 Hewlett-Packard Development Company, L.P. Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules
US8225031B2 (en) * 2008-10-30 2012-07-17 Hewlett-Packard Development Company, L.P. Memory module including environmental optimization
US8694737B2 (en) * 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
WO2012050934A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170026746A (ko) * 2015-08-27 2017-03-09 삼성전자주식회사 메모리 모듈의 동작 방법, 및 메모리 모듈을 제어하는 프로세서의 동작 방법, 및 사용자 시스템

Also Published As

Publication number Publication date
TWI506626B (zh) 2015-11-01
US10437722B2 (en) 2019-10-08
CN101957726A (zh) 2011-01-26
US20110016268A1 (en) 2011-01-20
DE102010030742B4 (de) 2018-04-05
JP2011022998A (ja) 2011-02-03
US9576662B2 (en) 2017-02-21
US11494302B2 (en) 2022-11-08
DE102010030742A1 (de) 2011-02-17
US20170177478A1 (en) 2017-06-22
JP5788151B2 (ja) 2015-09-30
CN101957726B (zh) 2015-09-02
KR101504781B1 (ko) 2015-03-20
US20140095781A1 (en) 2014-04-03
US8626997B2 (en) 2014-01-07
TW201115577A (en) 2011-05-01
JP2016001485A (ja) 2016-01-07
US20200019501A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
US11494302B2 (en) Phase change memory in a dual inline memory module
US10949094B2 (en) Storage device and operating method of storage device
US11061763B2 (en) Memory controller, memory system and application processor comprising the memory controller
US9772803B2 (en) Semiconductor memory device and memory system
US9442867B2 (en) Interrupted write memory operation in a serial interface memory with a portion of a memory address
US11461011B2 (en) Extended line width memory-side cache systems and methods
US10203909B2 (en) Nonvolatile memory modules comprising volatile memory devices and nonvolatile memory devices
US9064603B1 (en) Semiconductor memory device and memory system including the same
CN114077384A (zh) 存储器装置和用于控制存储器装置的刷新操作的方法
CN107452423B (zh) 计算系统、非易失性存储器模块以及操作存储设备的方法
WO2022155798A1 (en) Memory priming and initialization systems and methods
KR102303653B1 (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US11513725B2 (en) Hybrid memory module having a volatile memory subsystem and a module controller sourcing read strobes to accompany read data from the volatile memory subsystem
US10255986B2 (en) Assessing in-field reliability of computer memories
CN117352025A (zh) 内存参数调整方法及装置、电子设备

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190305

Year of fee payment: 5