KR20150111936A - 메모리 모듈에서의 데이터의 런타임 백업 - Google Patents

메모리 모듈에서의 데이터의 런타임 백업 Download PDF

Info

Publication number
KR20150111936A
KR20150111936A KR1020157020716A KR20157020716A KR20150111936A KR 20150111936 A KR20150111936 A KR 20150111936A KR 1020157020716 A KR1020157020716 A KR 1020157020716A KR 20157020716 A KR20157020716 A KR 20157020716A KR 20150111936 A KR20150111936 A KR 20150111936A
Authority
KR
South Korea
Prior art keywords
memory
memory module
data
volatile memory
runtime
Prior art date
Application number
KR1020157020716A
Other languages
English (en)
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 KR20150111936A publication Critical patent/KR20150111936A/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
    • 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
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital 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 DRAM cell
    • G11C14/0018Digital 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 DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0656Data buffering 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

시스템의 런타임 동안, 메모리 제어기는 휘발성 메모리 및 비휘발성 메모리를 포함하는 메모리 모듈의 제어를 포기하게 한다. 트리거링 이후에, 메모리 모듈에서의 백업 동작을 야기하는 지시가 메모리 모듈에 대해 활성화되고, 백업 동작은 메모리 모듈에서의 내부 제어기에 의해 제어되며, 백업 동작은 메모리 모듈 내의 휘발성 메모리로부터 비휘발성 메모리로의 데이터의 전송을 수반한다.

Description

메모리 모듈에서의 데이터의 런타임 백업{RUNTIME BACKUP OF DATA IN A MEMORY MODULE}
시스템은 영구 보조 저장 장치(persistent secondary storage)(예를 들면, 디스크 기반 저장 장치 또는 고체 상태 저장 장치) 및 중간 저장 장치를 포함하는 다양한 유형의 저장 디바이스들을 포함할 수 있다. 중간 저장 장치는 영구 보조 저장 장치에서 이용되는 것보다 고속의 저장 디바이스로 구현될 수 있다. 중간 저장 장치에서 이용될 수 있는 저장 디바이스들의 예는 DRAM(dynamic random access memory), SRAM(static random access memory), 플래시 메모리 등을 포함한다.
중간 저장 장치는 영구 보조 저장 장치 내의 데이터의 일부를 캐싱하는데 이용될 수 있다. 캐싱된 데이터의 일부는 시스템의 동작 동안 갱신될 수 있으며, 시스템의 동작에 의해 중간 저장 장치 내의 갱신된 데이터는 영구 보조 저장 장치 내의 대응하는 데이터보다 더욱 최신의 데이터가 될 수 있다. 중간 저장 장치 내의 갱신된 데이터는 시스템에서 결함이 있는 경우에 손실을 겪을 수 있다.
몇몇 실시예들이 이하의 도면에 대하여 기술된다.
도 1은 일부 구현들에 따른 런타임 백업 로직을 포함하는 예시적인 장치의 블록도이다.
도 2는 일부 구현들에 따른 런타임 백업 프로세스의 흐름도이다.
도 3은 다른 구현들에 따른 런타임 백업 로직을 포함하는 다른 예시적인 장치의 블록도이다.
도 4는 다른 구현들에 따른 런타임 백업 프로세스의 흐름도이다.
메모리 모듈이 시스템에서의 중간 저장 장치로서 이용될 수 있으며, 중간 저장 장치는 시스템의 영구 보조 저장 장치보다 고속의 저장 장치이다. 영구 보조 저장 장치는 하나 또는 다수의 디스크 기반 저장 디바이스, 하나 또는 다수의 고체 상태 저장 디바이스, 또는 다른 유형의 저장 디바이스로 구현될 수 있다.
메모리 모듈은 휘발성 메모리 및 비휘발성 메모리 둘다를 포함할 수 있다. 휘발성 메모리는 휘발성 메모리로부터 전력이 제거되는 경우에 그 데이터 콘텐츠를 잃어 버리는 메모리를 포함한다. 한편, 비휘발성 메모리는 비휘발성 메모리로부터 전력이 제거되는 경우에도 그 데이터 콘텐츠를 유지한다. 휘발성 메모리의 예는 DRAM, SRAM 등을 포함할 수 있다. 비휘발성 메모리의 예는 플래시 메모리, EEPROM(electrically erasable and programmable read-only memory) 등을 포함할 수 있다.
메모리 모듈은 영구 보조 저장 장치 내의 데이터의 일부를 캐싱하는데 이용될 수 있다. 메모리 모듈 내의 캐싱된 데이터는 (프로세서 또는 입/출력(I/O) 디바이스에 의한 것과 같이) 갱신될 수 있다. 갱신될 때, 메모리 모듈 내의 데이터는 영구 보조 저장 장치 내의 대응하는 데이터보다 더욱 최신의 것일 수 있다. 데이터 일관성을 유지하기 위해, 갱신된 캐싱된 데이터는 메모리 모듈로부터 영구 보조 저장 장치로 되기록(written back)될 수 있다. 그러나, 데이터를 영구 보조 저장 장치에 되기록하는 것은, 그것이 너무 빈번하게 수행될 경우, 전체 시스템 성능을 저하(slow down)시킬 수 있는데, 그 이유는, 영구 보조 저장 장치에 대한 데이터 액세스 동작이 비교적 느린 동작이기 때문이다.
메모리 모듈의 휘발성 메모리에 포함되는 데이터를 확고히 하기 위해, 백업 동작이 수행되어 메모리 모듈에서의 휘발성 메모리로부터 비휘발성 메모리로 데이터를 전송(이동 또는 복사)할 수 있다. 메모리 모듈 내에서 데이터 백업 동작을 수행하는 것은 비교적 느린 영구 보조 저장 장치에 대한 데이터 이동을 수반하지 않는다. 메모리 모듈 내의 데이터를 확고히 하는 것은, 결함 상태(예를 들면, 전력 상실, 시스템 크래시(system crash) 등)의 경우에 데이터의 손실을 방지하는 방식으로, 메모리 모듈에 데이터를 저장함을 의미한다.
일부의 경우에, 메모리 모듈에서의 휘발성 메모리로부터 비휘발성 메모리로의 백업 동작은 시스템의 전력 상실의 지시에 응답하여 트리거링될 수 있다. 전력 상실은 시스템이 런타임 상태로부터, 슬립 상태(sleep state) 또는 동면 상태(hibernation state)와 같은 저전력 상태(a lower power state)로 전이하게 할 수 있다. 저전력 상태에서, 전력이 시스템의 적어도 일부 구성요소로부터 제거될 수 있다. 시스템의 런타임 상태는, (애플리케이션들, 운영 체제, 또는 다른 코드를 포함하는) 실행가능한 코드가 실행될 수 있는 상태를 의미할 수 있다. 예를 들어, 런타임 상태는 ACPI(Advanced Configuration and Power Interface) 표준에 의해 제공되는 것과 같은 S0 상태일 수 있다. 다른 예들에 있어서, 다른 유형의 런타임 상태들이 이용될 수 있다. 런타임 상태로부터 저전력 상태로의 전이의 일부로서, 메모리 모듈의 휘발성 메모리로부터 비휘발성 메모리로 데이터를 전송하기 위해 데이터 백업이 트리거링될 수 있다.
몇몇 구현들에 따르면, 증가된 융통성 및 강화된 시스템 성능을 위해, 메모리 모듈에서의 휘발성 메모리로부터 비휘발성 메모리로의 데이터의 백업이, 단지 런타임 상태로부터 저전력 상태로의 전이의 일부로서가 아니라, 시스템의 런타임 동안에 수행될 수 있다. 메모리 모듈 내의 데이터의 런타임 백업은, 시스템이 런타임 상태로 유지되면서, 휘발성 메모리와 비휘발성 메모리 사이에 데이터 전송(데이터 복사 또는 데이터 이동)을 수행함을 의미하는데, 즉, 시스템은 슬립 모드 또는 동면 모드와 같은 저전력 상태로 전이하지 않는다. 몇몇 구현들에서, 메모리 모듈 내의 데이터의 런타임 백업을 수행하는 능력 외에도, 메모리 모듈에서의 휘발성 메모리로부터 비휘발성 메모리로의 데이터 백업이, 런타임 상태로부터 저전력 상태로의 시스템의 전이에 응답하여 트리거링될 수도 있음을 주지해야 한다.
이러한 설명은 휘발성 메모리로부터 비휘발성 메모리로 데이터를 전송하는 것을 나타내지만, 전송들은 비휘발성 메모리로부터 휘발성 메모리로의 다른 방향으로 발생될 수도 있음을 주지해야 한다. 또한, 비휘발성 메모리가 가득 차는 경우, 보조 저장 장치에 되기록하도록 비휘발성 메모리로부터 데이터가 제거될 수 있다.
메모리 모듈 내의 데이터의 런타임 백업은 시스템이 유휴 상태(idle)인 시간 윈도우 동안의 기회적 백업(opportunistic backup)일 수 있다. 몇몇 구현들에서, 시스템에 의한 런타임 백업 동작과 데이터 액세스 사이에 발생될 수 있는 임의의 잠재적인 충돌을 피하기 위해, 시스템이 메모리 모듈 내의 데이터에 활성적으로 액세스하는 동안에는, 메모리 모듈 내의 데이터의 런타임 백업이 수행되지 않는다. 시스템이 유휴 상태 시간 윈도우를 검출할 때마다, 메모리 모듈 내의 데이터의 런타임 백업이 기회적으로 트리거링될 수 있다. 대안적으로, 메모리 모듈 내의 데이터의 런타임 백업은, 메모리 모듈 내의 데이터의 마지막 백업 이후 특정 시간 간격이 경과되었음을 검출하는 것에 응답하여, 또는 다른 이벤트에 응답하여, 트리거링될 수 있다.
도 1은 메모리 모듈(102)과, 메모리 모듈(102)에 저장된 데이터의 액세스(판독 액세스 또는 기록 액세스)를 관리하는 메모리 제어기(104)와, 메모리 모듈(102)에서의 데이터 백업 동작들을 제어할 수 있는 제어 로직(106)을 포함하는 예시적인 시스템의 블록도이다. 몇몇 구현들에 따르면, 제어 로직(106)은 데이터 백업 동작이 시스템의 런타임 동안에 메모리 모듈(102)에서 내부적으로 수행되도록 할 수 있다(여기서, 시스템은 데이터 백업 동작이 수행되기 이전 및 이후에 런타임을 유지한다). 런타임 데이터 백업 동작은 유휴 상태 시간 간격들 동안 기회적으로 수행될 수 있으며, 또는 대안적으로, 런타임 데이터 백업 동작은 특정 이벤트에 응답하여 트리거링될 수 있다. 더욱이, 몇몇 예들에 있어서, 제어 로직(106)은 또한, 시스템이 런타임 상태로부터 저전력 상태로(또는 보다 일반적으로, 고전력 상태로부터 저전력 상태로) 전이할 때, 시스템의 전력 상태 전이에 응답하여, 데이터 백업 동작이 메모리 모듈(102)에서 내부적으로 수행되도록 할 수 있다.
제어 로직(106)은 시스템의 하나 또는 다수의 집적 회로 칩으로 구현될 수 있다. 예를 들어, 제어 로직(106)은 시스템의 칩셋의 일부인 다수의 집적 회로 칩을 포함할 수 있다. 집적 회로 칩들은 시스템 복합 프로그래밍가능 로직 디바이스(complex programmable logic device; CPLD) 및 사우스브리지(southbridge)를 포함할 수 있다. 시스템의 사우스브리지는 다양한 I/O 디바이스들에 연결될 수 있으며, 사우스브리지는 시스템의 I/O 기능들을 관리할 수 있다. 시스템 CPLD는 내부 백업 동작을 수행하기 위해 메모리 모듈(102)에서의 세이브(save) 동작을 트리거링하는 것과 같은 특정한 작업들을 수행하도록 프로그래밍될 수 있다. 다른 예들에서, CPLD를 이용하는 대신에, 프로그래밍가능 게이트 어레이, ASIC(application-specific integrated circuit) 디바이스, 마이크로프로세서, 마이크로제어기 등과 같은 다른 유형의 집적 회로 칩이 이용될 수 있다.
다른 예들에서, 제어 로직(106)은 단일의 집적 회로 칩으로 구현될 수 있다. 대안적으로, 제어 로직(106)은 메모리 제어기(104) 내에 통합되거나, 또는 프로세서, 입/출력(I/O) 디바이스 등과 같은, 시스템의 다른 구성요소 내에 통합될 수 있다. 제어 로직(106)에 의해 수행된 작업들은 제어 로직(106)의 처리 회로에 의해 실행가능한 머신-판독가능 인스트럭션들(펌웨어 또는 소프트웨어)에 의해 제어될 수 있다.
메모리 모듈(102)은 휘발성 메모리(108) 및 비휘발성 메모리(110)를 포함한다. 또한, 메모리 모듈(102)은 휘발성 메모리(108)와 비휘발성 메모리(110) 사이에 데이터를 전송하는 데이터 전송을 포함하는 다양한 작업들을 수행할 수 있는 내부 제어기(112)를 포함한다. 데이터의 전송은 휘발성 메모리(108)로부터 비휘발성 메모리(110)로의 데이터의 복사 또는 이동, 또는 비휘발성 메모리(110)로부터 휘발성 메모리(108)로의 데이터의 복사 또는 이동을 포함할 수 있다.
또한, 메모리 모듈(102)은 제어 로직(106)으로부터 세이브 지시(a save indication)(116)를 수신하기 위한 입력 인터페이스(114)를 포함한다. 세이브 지시(116)는 메모리 모듈(102)에 제공되어, 휘발성 메모리(108)로부터 비휘발성 메모리(110)로의 내부 백업 동작을 트리거링한다. 몇몇 구현들에서, 세이브 지시(116)는 메모리 모듈(102)의 특정 입력 핀에 제공되는 신호일 수 있다. 일부 예들에서, 메모리 모듈(102)은 DIMM(dual inline memory module)일 수 있고, 특정 입력 핀은 JEDEC(Joint Electronic Devices Engineering Council)에 의해 제안된 바와 같은 SAVE#일 수 있다. 다른 예들에서, 메모리 모듈(102)의 다른 입력 핀들이 세이브 지시(116)를 수신하는데 이용될 수 있다. 세이브 지시(116)는 휘발성 메모리(108)로부터 비휘발성 메모리(110)로의 내부적인 데이터 세이브 동작이 수행될 수 있도록, 메모리 버스(118)가 유휴 상태라는, 메모리 모듈(102)에 대한 지시일 수 있다.
다른 예들에서, 메모리 모듈(102)의 특정 입력 핀에 세이브 지시(116)를 제공하는 대신에, 세이브 지시는 메모리 모듈(102)에 송신되는 커맨드 또는 메시지의 형태일 수 있다. 커맨드 또는 메시지는 메모리 모듈(102)의 입력 핀들의 조합을 통해 수신될 수 있다.
메모리 버스(118)는 메모리 모듈(102)을 메모리 제어기(104)에 접속한다. 메모리 버스(118)는 데이터 신호들, 커맨드 신호들 및 어드레스 신호들을 포함한다. 시스템의 정상 동작 동안, 메모리 제어기(104)는 프로세서 또는 I/O 디바이스일 수 있는 데이터 요청자(도시되지 않음)로부터 데이터 요청을 수신한다. 데이터 요청에 응답하여, 메모리 제어기(104)는 대응하는 메모리 커맨드(판독 커맨드 또는 기록 커맨드)를 생성하여 메모리 버스(118)를 통해 전달한다. 판독 커맨드의 경우, 판독 동작과 관련된 어드레스가 메모리 버스(118)를 통해 또한 제공될 수 있으며, 메모리 모듈(102)로부터 검색된 응답 데이터가 메모리 버스(118)의 데이터 신호들을 통해 리턴된다. 기록 커맨드의 경우, 메모리 제어기(104)는 또한 메모리 버스(118)의 데이터 신호들을 통해 기록 데이터를 제공하여, 메모리 모듈(102) 내에 기록한다.
제어 버스(120)가 또한 제어 로직(106)과 메모리 제어기(104) 사이에 제공된다. 제어 로직(106)은 하나 또는 다수의 커맨드를, 제어 버스(120)를 통해, 메모리 제어기(104)에게 발행할 수 있다. 예를 들어, 제어 로직(106)은 메모리 제어기(104)가 메모리 버스(118)를 통한 메모리 모듈(102)의 제어를 포기하도록 트리거링하기 위한 커맨드를 메모리 제어기(104)에게 발행할 수 있다. 사실상, 이것은 (메모리 제어기(104)가 메모리 버스(118) 상에 임의의 메모리 액세스 커맨드를 발행하는 것을 방지함으로써) 메모리 버스(118)가 유휴 상태가 되도록 함으로써 달성될 수 있다.
메모리 제어기(104)가 메모리 버스(118)를 통한 메모리 모듈(102)의 제어를 포기하게 함으로써, 메모리 버스(118)는 유휴 상태가 된다. 메모리 버스(118)가 유휴 상태가 되도록 하는 것은, 휘발성 메모리(108)로부터 비휘발성 메모리(110)로 데이터를 전송하기 위해 메모리 모듈(102)에서 내부적인 데이터 백업 동작이 수행되기 전에 수행될 수 있다. 메모리 모듈(102)의 내부적인 백업 동작 동안 메모리 버스(118) 상에 메모리 동작들이 없는 것을 보장함으로써, 메모리 버스(118) 상의 메모리 동작들이 메모리 모듈(102) 상의 내부적인 백업 동작과 간섭하는 것을 피하게 된다. 메모리 모듈(102)에서의 내부적인 백업 동작은 메모리 버스(118)를 통한 어떠한 데이터 전송도 수반하지 않음을 주지해야 한다.
도 1에 더 도시된 바와 같이, 제어 로직(106)은 머신-판독가능 인스트럭션, 하드웨어 로직, 또는 사용자 입력에 응답하여 발행될 수 있는 런타임 세이브 커맨드(122)를 수신할 수 있다. 런타임 세이브 커맨드(122)는 메모리 모듈(102) 내부에서 런타임 백업 동작을 내부적으로 트리거링하기 위한 것이다. 도 1에 도시되지 않았지만, 제어 로직(106)은 또한 전력 상태 전이(예를 들면, 런타임 상태로부터 저전력 상태로의 전이)에 응답하여 메모리 모듈(102)에서의 내부적인 백업 동작을 수행하기 위한 별도의 커맨드를 수신할 수 있음을 주지해야 한다.
도 2는 몇몇 구현들에 따른 런타임 세이브 프로세스의 흐름도이다. 런타임 세이브 프로세스는, 예를 들면, 도 1의 제어 로직(106)에 의해 수행될 수 있다.
런타임 세이브 프로세스는 메모리 모듈(102)에서의 런타임 데이터 백업 동작을 트리거링하기 위해, (202에서) 런타임 커맨드(예를 들면, 도 1에서의 런타임 세이브 커맨드(122))를 수신한다. 런타임 커맨드는 시스템이 유휴 상태(즉, 시스템에서의 모듈들이 메모리 모듈(102) 내의 데이터를 활성적으로 액세스하지 않음)에 있는 시간 윈도우 동안 발행된다. 이러한 유휴 상태 시간 윈도우들을 식별하는 것은, 시스템이 메모리 모듈(102)에서의 내부적인 백업을 수행하는 프로세스를 시작하기 위해 런타임 커맨드를 발행할 수 있게 한다. 휘발성 메모리(108)가 DRAM들로 구현되는 예들에서, 유휴 상태 시간 윈도우들은 ADR(asynchronous DRAM refresh) 윈도우들로서 지칭될 수도 있다.
런타임 커맨드에 응답하여, 그리고 시스템의 런타임 동안에, 제어 로직(106)은 (204에서) 메모리 모듈(102)의 제어를 포기하도록 메모리 제어기(104)를 트리거링하며, 그것은 메모리 제어기(104)가 메모리 버스(118) 상에 메모리 동작들을 더 이상 발행하지 않게 한다. 그 결과, 메모리 버스(118)는 유휴 상태로 된다.
204에서 트리거링이 수행된 후에, 제어 로직(106)은 (206에서) 메모리 모듈(102)에 대한 지시(예를 들면, 도 1에서의 세이브 지시(116))를 활성화한다. 지시는 메모리 모듈(102)의 내부 제어기(112)에 의해 제어되는 메모리 모듈에서의 내부적인 데이터 백업 동작의 수행을 야기한다.
메모리 버스(118)를 통한 메모리 모듈(102)의 제어를 포기하기 전에, 메모리 제어기(104)는 메모리 모듈(102)에게 셀프 리프레시(self-refresh) 커맨드를 발행하여, (휘발성 메모리(108)의 일부인) 임의의 DRAM들이 셀프 리프레시를 수행하게 할 수 있다. 메모리 제어기(104)에 의한 셀프 리프레시 커맨드의 발행은, 메모리 버스(118)의 제어를 포기하기 위한 제어 로직(106)으로부터의 커맨드에 응답한 것일 수 있다. DRAM에서의 셀프 리프레시는 DRAM에서 내부적으로 제어된 리프레시를 지칭할 수 있다. DRAM은 저장 캐패시터들에 데이터를 저장하기 때문에, 저장 전하의 손실(그에 따라, 데이터의 손실)을 피하기 위해, 저장 캐패시터들의 저장 전하는 주어진 시간 기간 내에 리프레시되어야 한다. DRAM의 리프레시는 메모리 제어기(104)에 의해 제어될 수 있다. 대안적으로, DRAM이 대응하는 DRAM 부분들에서의 저장 캐패시터들에 저장된 저장 전하를 유지하기 위해 DRAM의 대응하는 부분들에 대한 자동화된 리프레시 동작들을 수행할 수 있도록, 셀프 리프레시는 메모리 제어기(104)에 의한 제어없이 DRAM에서 수행될 수 있다.
메모리 제어기(104)가 메모리 모듈(102)에게 셀프 리프레시 커맨드를 발행하면, 메모리 제어기(104)는 메모리 버스(118) 상에서 유휴 상태가 될 수 있다. 이러한 시점에, 휘발성 메모리(108)의 일부로서 구현되는 임의의 DRAM이 셀프 리프레시를 수행하여 DRAM에 저장된 데이터를 유지할 수 있다.
휘발성 메모리(108)가 DRAM들로 구현되지 않은 구현들에서, 메모리 제어기(104)는 메모리 모듈(102)에게 셀프 리프레시 커맨드를 발행하지 않을 것이다.
도 3은 다른 구현들에 따른 예시적인 시스템의 블록도이다. 도 3의 시스템은, 도 1과 관련하여 기술된 대응하는 구성요소들과 유사한, 메모리 모듈(102), 메모리 제어기(104) 및 제어 로직(106)을 또한 포함한다.
도 3의 시스템은 제어 로직(106)에게 런타임 세이브 커맨드(122)를 발행할 수 있는 관리 프로세서(304)를 더 포함한다. 관리 프로세서(304)는 제어 모듈(302)로부터의 이벤트 또는 외부 이벤트(306)에 응답하여 런타임 세이브 커맨드(122)를 발행할 수 있다. 제어 모듈(302)은 시스템의 하나 또는 다수의 프로세서(308) 상에서 실행가능한 머신-판독가능 인스트럭션들로서 구현될 수 있다. 제어 모듈(302)은 운영 체제의 일부, 펌웨어(예를 들면, 기본 입/출력 시스템 코드)의 일부 또는 애플리케이션의 일부일 수 있다. 외부 이벤트(306)는 관리 프로세서(304)의 입력 핀에 제공되는 신호일 수 있다. 외부 이벤트(306)는, 예를 들면, 사용자 입력에 응답하여 활성화될 수 있다. 사용자에게는 사용자 인터페이스가 제시될 수 있으며, 그것을 통해 사용자는 런타임 세이브 동작을 요청할 수 있다.
제어 모듈(302)은 시스템이 유휴 상태로 될 수 있는 시간 윈도우들을 결정하기 위해 시스템을 모니터링함으로써, 시스템이 이러한 유휴 상태 시간 윈도우들 동안 메모리 모듈(102)의 데이터에 액세스(기록 또는 판독)하지 않게 할 수 있다. 메모리 모듈(102)의 휘발성 메모리(108)가 DRAM들로 구현되는 예들에서, 이러한 유휴 상태 시간 윈도우들은 (전술한 바와 같이) ADR 윈도우들로서 지칭될 수 있다. 유휴 상태인 시스템은 저전력 상태로 전이하는 시스템과 동일하지 않음을 주지해야 한다. 시스템은, 시스템이 그의 런타임 상태로 유지되는 동안 유휴 상태일 수 있다.
제어 모듈(302)이, 시스템이 유휴 상태가 되려고 함을 결정할 때, 제어 모듈(302)은 시스템이 얼마나 오랫 동안 유휴 상태일지를 결정할 수 있다. 유휴 상태의 길이가 충분히 길다면, 제어 모듈(302)은 관리 프로세서(304)가 제어 로직(106)에게 런타임 세이브 커맨드(122)를 발행하여 메모리 모듈(102)에서의 기회적인 내부 데이터 백업 동작을 트리거링하게 하는 요청을 관리 프로세서(304)에게 송신할 수 있다.
대안적으로, 제어 모듈(302)은 특정 이벤트에 응답하여, 메모리 모듈(102)에서의 데이터의 런타임 백업의 수행을 강제할 수 있다. 예를 들어, 제어 모듈(302)은 데이터 백업이 메모리 모듈(102)에서 수행된 이후 미리 정의된 시간 간격이 경과했음을 검출할 수있다. 이러한 미리 정의된 시간 간격의 경과를 검출시에, 제어 모듈(302)은 시스템에서 유휴 상태 시간 간격을 강제하여, 메모리 모듈(102)에서의 런타임 백업의 수행을 허용할 수 있다. 또한, 제어 모듈(302)은 다른 이벤트(들)에 응답하여 런타임의 수행을 트리거링할 수 있다.
이러한 방식으로, 제어 모듈(302)은 메모리 모듈(102)에서의 내부적인 데이터 백업 동작이 수행될 수 있는 비동기 시간 윈도우들을 간헐적으로 (예를 들면, 비주기적 간격들에서 주기적으로 또는 반복적으로) 지정할 수 있다. 각각의 비동기 시간 윈도우는 휘발성 메모리(108)의 콘텐츠의 적어도 일부분이 메모리 모듈(102)의 휘발성 메모리(108)로부터 비휘발성 메모리(110)로 전송될 수 있게 한다. 따라서, 내부적인 데이터 백업 동작은, 메모리 모듈(102)이 휘발성 메모리(108)로부터 비휘발성 메모리(110)로의, 데이터의 각각의 부분들의 내부적인 데이터 백업 동작들을 수행하는 각각의 비동기 시간 윈도우들 내의 다수의 보다 작은 트랜잭션들로 분할될 수 있다.
도 3의 시스템은 또한, 메모리 모듈(102)에서의 메모리들보다 저속의 저장 디바이스들로 구현될 수 있는 영구 보조 저장 장치(330)를 포함한다.
몇몇 구현들에 따른 기술들 또는 메카니즘들을 이용함으로써, 메모리 모듈(102)의 내부적인 데이터 백업 동작들은 전력 상실 시나리오들에 추가적인 것인 시나리오들에서 수행될 수 있다. 데이터 백업 동작들은 데이터베이스의 체크포인팅의 일부로서 수행될 수 있다. 데이터베이스 체크포인팅은 특정 간격들에서의 데이터베이스의 일부분의 영구 버젼을 생성하는 것을 지칭한다. 데이터베이스 체크포인팅은 주기적 간격들로 수행될 수 있다. 따라서, 메모리 모듈(102)에서의 런타임 백업을 강제하는 제어 모듈(302)의 능력은, 데이터베이스 체크포인팅의 일부로서 이용될 수 있는 특징이다. 데이터베이스 체크포인팅은 메모리 모듈(102)에서 내부적으로 수행될 수 있기 때문에, 영구 보조 저장 장치에 대해 수행된 빈번한 체크포인팅에 의해 초래되는 시스템 성능 저하가 회피될 수 있다.
다른 응용들에서, 메모리 모듈(102)은, 시스템 하드웨어 구성 데이터, 운영 체제(OS) 구성 데이터, 사용자 데이터, 애플리케이션 데이터 등과 같은 다른 유형의 데이터를 저장하는데 이용될 수 있다. 이러한 유형의 데이터 중 임의의 것의 메모리 모듈에서의 런타임 백업을 수행하는 능력은 유용한 것일 수 있다.
도 4는 예를 들면, 도 3에 도시된 시스템에 의해 수행될 수 있는 프로세스의 흐름도이다. 제어 모듈(302)은 (402에서) 임의의 다수의 특정 이벤트들 중 하나의 발생에 대해 모니터링할 수 있다. 제1의 그러한 이벤트는 메모리 모듈(102)에서 마지막 백업이 수행된 이후 특정 시간량의 경과일 수 있다. 제1 이벤트에 응답하여, 제어 모듈(302)은 (404에서), 시스템이 비지(busy)인 경우에도, 메모리 모듈(102)에서 런타임 백업을 트리거링할 수 있다. 제어 모듈(302)은 메모리 버스(118)가 유휴 상태가 되도록 강제함으로써, 메모리 모듈(102)에서의 백업이 수행될 수 있게 한다.
제어 모듈(302)에 의해 모니터링될 수 있는 제2 이벤트는 시스템 유휴 상태를 나타내는 이벤트이다. 그러한 시스템 유휴 상태를 검출시, 제어 모듈(302)은 (404에서) 메모리 모듈(102)에서의 런타임 백업을 기회적으로 트리거링할 수 있다.
(404에서) 런타임 백업을 트리거링하는 것은 관리 프로세서가 (406에서) 제어 로직(106)에게 런타임 커맨드(예를 들면, 런타임 보종 커맨드(122))를 송신하게 하는 요청을 관리 프로세서(304)에게 송신하는 것을 포함한다. 이것은 시스템이, 도 2에서의 각각의 작업들(204, 206)과 동일한 작업들(408, 410)을 수행하게 한다.
(도 3의 제어 모듈(302), 혹은 도 1 또는 3의 제어 로직(106)에 의해 실행가능한 인스트럭션들을 포함하는) 전술한 다양한 모듈들의 머신-판독가능 인스트럭션들이 처리 회로 상에서의 실행을 위해 로딩된다.
데이터 및 인스트럭션들은 하나 또는 다수의 컴퓨터-판독가능 또는 머신-판독가능 저장 매체로서 구현될 수 있는 각각의 저장 디바이스들에 저장될 수 있다. 저장 매체는 DRAM 또는 SRAM, EPROM(erasable and programmable read-only memory), EEPROM(electrically erasable and programmable read-only memory) 및 플래시 메모리와 같은 반도체 메모리 디바이스들; 고정된, 플로피 및 제거가능 디스크들; 테이프를 포함하는 다른 자기 매체; CD(compact disk) 또는 DVD(digital video disk)와 같은 광학 매체; 또는 다른 유형의 저장 디바이스를 포함하는, 상이한 형태의 메모리를 포함한다. 전술한 인스트럭션들은 하나의 컴퓨터-판독가능 또는 머신-판독가능 저장 매체 상에 제공되거나, 또는 대안적으로, 가능하게는 복수의 노드들을 갖는 대형 시스템에 분포된 다수의 컴퓨터-판독가능 또는 머신-판독가능 저장 매체 상에 제공될 수 있음을 주지해야 한다. 그러한 컴퓨터-판독가능 또는 머신-판독가능 저장 매체 또는 매체들은 물품(또는 제조 물품)의 일부인 것으로 고려된다. 물품 또는 제조 물품은 임의의 제조된 단일의 구성요소 또는 다수의 구성요소들을 지칭할 수 있다. 저장 매체 또는 매체들은 머신-판독가능 인스트럭션들을 실행하는 머신에 위치되거나 또는 머신-판독가능 인스트럭션들이 실행을 위해 네트워크를 통해 다운로딩될 수 있는 원격 사이트에 위치될 수 있다.
전술한 설명에서, 본 명세서에서 개시된 주된 내용에 대한 이해를 제공하기 위해 많은 세부사항들이 개시된다. 그러나, 구현들은 그러한 세부사항들 중 일부 또는 전부 없이도 실시될 수 있다. 다른 구현들은 전술한 세부사항들로부터의 수정 및 변형을 포함할 수 있다. 첨부된 청구항들은 그러한 수정 및 변형을 커버하는 것으로 의도된다.

Claims (15)

  1. 시스템의 런타임 동안, 휘발성 메모리 및 비휘발성 메모리를 포함하는 메모리 모듈의 제어를 포기하도록 메모리 제어기를 트리거링하는 단계와,
    상기 트리거링하는 단계 이후에, 상기 메모리 모듈에 대한 지시(an indication)를 활성화하는 단계 - 상기 지시는 상기 메모리 모듈에서의 백업 동작을 야기하되, 상기 백업 동작은 상기 메모리 모듈 내의 내부 제어기에 의해 제어되며, 상기 백업 동작은 상기 시스템의 런타임 동안 상기 메모리 모듈 내의 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 전송을 수반함 - 를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 트리거링하는 단계는 상기 메모리 제어기가 상기 메모리 제어기와 상기 메모리 모듈 사이의 메모리 버스 상에 데이터 액세스 커맨드를 발행하는 것을 피하게 하는 커맨드를 상기 메모리 제어기에 송신하는 단계를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 트리거링하는 단계는 상기 비휘발성 메모리 모듈에 대한 셀프 리프레시 커맨드의 활성화를 야기하는 커맨드를 상기 메모리 제어기에 송신하는 단계를 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 메모리 제어기로부터의 상기 셀프 리프레시 커맨드에 응답하여, 상기 휘발성 메모리의 DRAM(a dynamic random access memory)에서 셀프 리프레시를 수행하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 트리거링하는 단계 및 상기 활성화하는 단계는 런타임 커맨드에 응답하여 제어 로직에 의해 수행되는
    방법.
  6. 제 5 항에 있어서,
    상기 제어 로직에 의해, 상기 시스템에서의 유휴 상태의 시간 윈도우 동안 발행되는 상기 런타임 커맨드를 수신하는 단계를 더 포함하는
    방법.
  7. 제 6 항에 있어서,
    상기 제어 로직에 의해, 상기 트리거링하는 단계 및 상기 활성화하는 단계의 반복된 수행을 야기하도록, 유휴 상태의 대응하는 시간 윈도우에서 복수의 런타임 커맨드를 수신하는 단계를 더 포함하고, 상기 트리거링하는 단계 및 상기 활성화하는 단계의 반복된 수행은 상기 비휘발성 메모리에 대한 상기 휘발성 메모리의 상이한 부분들의 대응하는 백업 동작들을 야기하는
    방법.
  8. 제 7 항에 있어서,
    상기 시스템의 유휴 상태를 검출하고, 상기 검출에 기초하여 상기 복수의 런타임 커맨드를 발행하는 제어 모듈을 더 포함하는
    방법.
  9. 제 1 항에 있어서,
    상기 지시를 활성화하는 단계는 상기 메모리 모듈의 적어도 하나의 입력 핀에 대한 신호를 활성화하는 단계를 포함하는
    방법.
  10. 시스템으로서,
    휘발성 메모리 및 비휘발성 메모리를 갖는 메모리 모듈과,
    제어 로직을 포함하고,
    상기 제어 로직은,
    상기 시스템의 런타임 동안 데이터 백업을 수행하기 위한 런타임 커맨드를 수신하고,
    상기 런타임 커맨드에 응답하여, 상기 메모리 제어기와 상기 메모리 모듈 사이의 메모리 버스 상의 유휴 상태의 간격을 야기하는 커맨드를 메모리 제어기에 발행하고,
    상기 비휘발성 메모리 모듈에 대한 지시를 활성화하며,
    상기 메모리 모듈은, 상기 지시에 응답하여, 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 내부적인 백업을 수행하기 위한 내부 제어기를 갖는
    시스템.
  11. 제 10 항에 있어서,
    상기 내부적인 백업은 상기 메모리 버스 상에서의 어떠한 데이터 전송도 수반하지 않는
    시스템.
  12. 제 10 항에 있어서,
    상기 지시는 상기 메모리 모듈의 입력 핀에 대한 신호인
    시스템.
  13. 제 10 항에 있어서,
    상기 시스템의 유휴 상태의 시간 윈도우를 검출하고, 상기 유휴 상태의 시간 윈도우의 검출에 응답하여 상기 런타임 커맨드의 발행을 야기하는 제어 모듈을 더 포함하는
    시스템.
  14. 제 10 항에 있어서,
    특정 이벤트를 검출하고, 상기 특정 이벤트의 검출에 응답하여 상기 런타임 커맨드의 발행을 야기하는 제어 모듈을 더 포함하고, 상기 특정 이벤트는 상기 메모리 모듈에서의 데이터의 마지막 내부적인 백업 이후의 미리 정의된 시간 지속기간의 경과를 포함하는
    시스템.
  15. 인스트럭션을 저장하는 적어도 하나의 머신 판독가능 저장 매체를 포함하는 물품으로서,
    상기 인스트럭션은 실행시에 처리 회로로 하여금,
    시스템의 런타임 동안, 휘발성 메모리 및 비휘발성 메모리를 포함하는 메모리 모듈의 제어를 포기하도록 메모리 제어기를 트리거링하고,
    상기 트리거링 이후에, 상기 메모리 모듈에 대한 지시를 활성화 - 상기 지시는 상기 메모리 모듈에서의 백업 동작을 야기하되, 상기 백업 동작은 상기 메모리 모듈 내의 내부 제어기에 의해 제어되며, 상기 백업 동작은 시스템의 런타임 동안 상기 메모리 모듈 내의 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 전송을 수반함 - 하도록 야기하는
    물품.
KR1020157020716A 2013-01-30 2013-01-30 메모리 모듈에서의 데이터의 런타임 백업 KR20150111936A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/023743 WO2014120140A1 (en) 2013-01-30 2013-01-30 Runtime backup of data in a memory module

Publications (1)

Publication Number Publication Date
KR20150111936A true KR20150111936A (ko) 2015-10-06

Family

ID=51262708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020716A KR20150111936A (ko) 2013-01-30 2013-01-30 메모리 모듈에서의 데이터의 런타임 백업

Country Status (4)

Country Link
US (1) US9727462B2 (ko)
KR (1) KR20150111936A (ko)
CN (1) CN104798060A (ko)
WO (1) WO2014120140A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2507961A (en) 2012-11-14 2014-05-21 Ibm Back-up and restoration of data between volatile and flash memory
GB2517435A (en) 2013-08-19 2015-02-25 Ibm Fast data back-up and restore between volatile and flash memory
WO2016164033A1 (en) * 2015-04-10 2016-10-13 Hewlett Packard Enterprise Development Lp Partial backup during runtime for memory modules with volatile memory and non-volatile memory
WO2016204789A1 (en) * 2015-06-19 2016-12-22 Hewlett Packard Enterprise Development Lp Handling errors during run time backups
US9632715B2 (en) 2015-08-10 2017-04-25 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN106815092A (zh) * 2015-11-27 2017-06-09 宇瞻科技股份有限公司 具挥发性的数据还原装置、数据储存装置及其控制方法
US9965017B2 (en) * 2016-04-12 2018-05-08 International Business Machines Corporation System and method for conserving energy in non-volatile dual inline memory modules
DE102017106713A1 (de) 2016-04-20 2017-10-26 Samsung Electronics Co., Ltd. Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
US10394310B2 (en) * 2016-06-06 2019-08-27 Dell Products, Lp System and method for sleeping states using non-volatile memory components
US20190243723A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US20190243721A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US20190243720A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US10642695B2 (en) 2018-02-08 2020-05-05 Micron Technology, Inc. Storage backed memory package save trigger
US11099831B2 (en) * 2018-02-08 2021-08-24 Micron Technology, Inc. Firmware update in a storage backed memory system
US10990463B2 (en) 2018-03-27 2021-04-27 Samsung Electronics Co., Ltd. Semiconductor memory module and memory system including the same
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100355226B1 (ko) 1999-01-12 2002-10-11 삼성전자 주식회사 뱅크별로 선택적인 셀프 리프레쉬가 가능한 동적 메모리장치
US7237070B2 (en) 2005-04-19 2007-06-26 International Business Machines Corporation Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source
US20080126690A1 (en) * 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
KR20080043879A (ko) 2005-09-08 2008-05-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 자동 백업 시스템
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US20090089514A1 (en) 2007-09-28 2009-04-02 Durgesh Srivastava Implementing Asynchronous Request for Forcing Dynamic Memory into Self Refresh
US8892831B2 (en) 2008-01-16 2014-11-18 Apple Inc. Memory subsystem hibernation
WO2009134264A1 (en) * 2008-05-01 2009-11-05 Hewlett-Packard Development Company, L.P. Storing checkpoint data in non-volatile memory
US8325554B2 (en) 2008-07-10 2012-12-04 Sanmina-Sci Corporation Battery-less cache memory module with integrated backup
WO2010077787A1 (en) 2009-01-05 2010-07-08 Marvell World Trade Ltd. Method and system for hibernation or suspend using a non-volatile-memory device
US8169839B2 (en) * 2009-02-11 2012-05-01 Stec, Inc. Flash backed DRAM module including logic for isolating the DRAM
US8397100B2 (en) 2010-03-15 2013-03-12 International Business Machines Corporation Managing memory refreshes
CN101788938B (zh) * 2010-03-26 2011-12-14 北京邮电大学 基于用户存储行为的数据备份方法
US8566561B2 (en) * 2010-05-14 2013-10-22 Rockwell Automation Technologies, Inc. Method to separate and persist static and dynamic portions of a control application
KR101736384B1 (ko) * 2010-09-29 2017-05-16 삼성전자주식회사 비휘발성 메모리 시스템
US8738843B2 (en) 2010-12-20 2014-05-27 Lsi Corporation Data manipulation during memory backup
US8468317B2 (en) * 2011-06-07 2013-06-18 Agiga Tech Inc. Apparatus and method for improved data restore in a memory system
KR20130051564A (ko) * 2011-11-10 2013-05-21 삼성전자주식회사 메모리 모듈, 이를 포함하는 보드 어셈블리, 이를 포함하는 메모리 시스템, 및 상기 메모리 시스템의 동작 방법
KR20150032659A (ko) * 2012-06-28 2015-03-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 이중 포트 버퍼를 구비한 메모리 모듈

Also Published As

Publication number Publication date
US9727462B2 (en) 2017-08-08
CN104798060A (zh) 2015-07-22
WO2014120140A1 (en) 2014-08-07
US20150261672A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
US9727462B2 (en) Runtime backup of data in a memory module
US9645829B2 (en) Techniques to communicate with a controller for a non-volatile dual in-line memory module
TW201812565A (zh) 管理記憶體功耗之方法及其系統
CN107463459B (zh) 系统异常内存数据的保存方法、装置、系统及终端设备
EP3531292A1 (en) Methods and apparatus for supporting persistent memory
BRPI0902591B1 (pt) Método e aparelho para otimização da atualização não apropriável da cópia de leitura, para uso de baixa energia, evitando ativações desnecessárias
US9256535B2 (en) Conditional notification mechanism
US20180150233A1 (en) Storage system
US9965017B2 (en) System and method for conserving energy in non-volatile dual inline memory modules
CN102483713A (zh) 复位方法以及监视装置
US11455251B2 (en) Enhanced durability for systems on chip (SOCs)
WO2018004928A1 (en) Techniques for write commands to a storage device
US10657003B2 (en) Partial backup during runtime for memory modules with volatile memory and non-volatile memory
CN109144778A (zh) 一种存储服务器系统及其备份方法、系统及可读存储介质
US20220035552A1 (en) Ssd supporting read-only mode after plp backup failure
US10725689B2 (en) Physical memory region backup of a volatile memory to a non-volatile memory
WO2016204789A1 (en) Handling errors during run time backups
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US20150089293A1 (en) Non-Volatile Logic Based Processing Device
US20130073792A1 (en) Electronic apparatus using nand flash and memory management method thereof
TWI522924B (zh) 電子裝置及其切換作業系統的方法
JP2006318105A (ja) 監視システム
JP2002132591A (ja) メモリ制御装置およびメモリ制御方法
US20240168539A1 (en) Abrupt shutdown and abrupt power loss management
JP5811714B2 (ja) メモリ制御装置及びメモリ制御プログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid