KR20150111936A - 메모리 모듈에서의 데이터의 런타임 백업 - Google Patents
메모리 모듈에서의 데이터의 런타임 백업 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital 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/0018—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-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
시스템은 영구 보조 저장 장치(persistent secondary storage)(예를 들면, 디스크 기반 저장 장치 또는 고체 상태 저장 장치) 및 중간 저장 장치를 포함하는 다양한 유형의 저장 디바이스들을 포함할 수 있다. 중간 저장 장치는 영구 보조 저장 장치에서 이용되는 것보다 고속의 저장 디바이스로 구현될 수 있다. 중간 저장 장치에서 이용될 수 있는 저장 디바이스들의 예는 DRAM(dynamic random access memory), SRAM(static random access memory), 플래시 메모리 등을 포함한다.
중간 저장 장치는 영구 보조 저장 장치 내의 데이터의 일부를 캐싱하는데 이용될 수 있다. 캐싱된 데이터의 일부는 시스템의 동작 동안 갱신될 수 있으며, 시스템의 동작에 의해 중간 저장 장치 내의 갱신된 데이터는 영구 보조 저장 장치 내의 대응하는 데이터보다 더욱 최신의 데이터가 될 수 있다. 중간 저장 장치 내의 갱신된 데이터는 시스템에서 결함이 있는 경우에 손실을 겪을 수 있다.
몇몇 실시예들이 이하의 도면에 대하여 기술된다.
도 1은 일부 구현들에 따른 런타임 백업 로직을 포함하는 예시적인 장치의 블록도이다.
도 2는 일부 구현들에 따른 런타임 백업 프로세스의 흐름도이다.
도 3은 다른 구현들에 따른 런타임 백업 로직을 포함하는 다른 예시적인 장치의 블록도이다.
도 4는 다른 구현들에 따른 런타임 백업 프로세스의 흐름도이다.
도 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)
- 시스템의 런타임 동안, 휘발성 메모리 및 비휘발성 메모리를 포함하는 메모리 모듈의 제어를 포기하도록 메모리 제어기를 트리거링하는 단계와,
상기 트리거링하는 단계 이후에, 상기 메모리 모듈에 대한 지시(an indication)를 활성화하는 단계 - 상기 지시는 상기 메모리 모듈에서의 백업 동작을 야기하되, 상기 백업 동작은 상기 메모리 모듈 내의 내부 제어기에 의해 제어되며, 상기 백업 동작은 상기 시스템의 런타임 동안 상기 메모리 모듈 내의 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 전송을 수반함 - 를 포함하는
방법.
- 제 1 항에 있어서,
상기 트리거링하는 단계는 상기 메모리 제어기가 상기 메모리 제어기와 상기 메모리 모듈 사이의 메모리 버스 상에 데이터 액세스 커맨드를 발행하는 것을 피하게 하는 커맨드를 상기 메모리 제어기에 송신하는 단계를 포함하는
방법.
- 제 1 항에 있어서,
상기 트리거링하는 단계는 상기 비휘발성 메모리 모듈에 대한 셀프 리프레시 커맨드의 활성화를 야기하는 커맨드를 상기 메모리 제어기에 송신하는 단계를 포함하는
방법.
- 제 3 항에 있어서,
상기 메모리 제어기로부터의 상기 셀프 리프레시 커맨드에 응답하여, 상기 휘발성 메모리의 DRAM(a dynamic random access memory)에서 셀프 리프레시를 수행하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 트리거링하는 단계 및 상기 활성화하는 단계는 런타임 커맨드에 응답하여 제어 로직에 의해 수행되는
방법.
- 제 5 항에 있어서,
상기 제어 로직에 의해, 상기 시스템에서의 유휴 상태의 시간 윈도우 동안 발행되는 상기 런타임 커맨드를 수신하는 단계를 더 포함하는
방법.
- 제 6 항에 있어서,
상기 제어 로직에 의해, 상기 트리거링하는 단계 및 상기 활성화하는 단계의 반복된 수행을 야기하도록, 유휴 상태의 대응하는 시간 윈도우에서 복수의 런타임 커맨드를 수신하는 단계를 더 포함하고, 상기 트리거링하는 단계 및 상기 활성화하는 단계의 반복된 수행은 상기 비휘발성 메모리에 대한 상기 휘발성 메모리의 상이한 부분들의 대응하는 백업 동작들을 야기하는
방법.
- 제 7 항에 있어서,
상기 시스템의 유휴 상태를 검출하고, 상기 검출에 기초하여 상기 복수의 런타임 커맨드를 발행하는 제어 모듈을 더 포함하는
방법.
- 제 1 항에 있어서,
상기 지시를 활성화하는 단계는 상기 메모리 모듈의 적어도 하나의 입력 핀에 대한 신호를 활성화하는 단계를 포함하는
방법.
- 시스템으로서,
휘발성 메모리 및 비휘발성 메모리를 갖는 메모리 모듈과,
제어 로직을 포함하고,
상기 제어 로직은,
상기 시스템의 런타임 동안 데이터 백업을 수행하기 위한 런타임 커맨드를 수신하고,
상기 런타임 커맨드에 응답하여, 상기 메모리 제어기와 상기 메모리 모듈 사이의 메모리 버스 상의 유휴 상태의 간격을 야기하는 커맨드를 메모리 제어기에 발행하고,
상기 비휘발성 메모리 모듈에 대한 지시를 활성화하며,
상기 메모리 모듈은, 상기 지시에 응답하여, 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 내부적인 백업을 수행하기 위한 내부 제어기를 갖는
시스템.
- 제 10 항에 있어서,
상기 내부적인 백업은 상기 메모리 버스 상에서의 어떠한 데이터 전송도 수반하지 않는
시스템.
- 제 10 항에 있어서,
상기 지시는 상기 메모리 모듈의 입력 핀에 대한 신호인
시스템.
- 제 10 항에 있어서,
상기 시스템의 유휴 상태의 시간 윈도우를 검출하고, 상기 유휴 상태의 시간 윈도우의 검출에 응답하여 상기 런타임 커맨드의 발행을 야기하는 제어 모듈을 더 포함하는
시스템.
- 제 10 항에 있어서,
특정 이벤트를 검출하고, 상기 특정 이벤트의 검출에 응답하여 상기 런타임 커맨드의 발행을 야기하는 제어 모듈을 더 포함하고, 상기 특정 이벤트는 상기 메모리 모듈에서의 데이터의 마지막 내부적인 백업 이후의 미리 정의된 시간 지속기간의 경과를 포함하는
시스템.
- 인스트럭션을 저장하는 적어도 하나의 머신 판독가능 저장 매체를 포함하는 물품으로서,
상기 인스트럭션은 실행시에 처리 회로로 하여금,
시스템의 런타임 동안, 휘발성 메모리 및 비휘발성 메모리를 포함하는 메모리 모듈의 제어를 포기하도록 메모리 제어기를 트리거링하고,
상기 트리거링 이후에, 상기 메모리 모듈에 대한 지시를 활성화 - 상기 지시는 상기 메모리 모듈에서의 백업 동작을 야기하되, 상기 백업 동작은 상기 메모리 모듈 내의 내부 제어기에 의해 제어되며, 상기 백업 동작은 시스템의 런타임 동안 상기 메모리 모듈 내의 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 데이터의 전송을 수반함 - 하도록 야기하는
물품.
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)
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)
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 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 이중 포트 버퍼를 구비한 메모리 모듈 |
-
2013
- 2013-01-30 CN CN201380061044.9A patent/CN104798060A/zh active Pending
- 2013-01-30 KR KR1020157020716A patent/KR20150111936A/ko not_active Application Discontinuation
- 2013-01-30 US US14/435,167 patent/US9727462B2/en active Active
- 2013-01-30 WO PCT/US2013/023743 patent/WO2014120140A1/en active Application Filing
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 |