KR20230041103A - 메모리 고장 처리 방법 및 장치 - Google Patents

메모리 고장 처리 방법 및 장치 Download PDF

Info

Publication number
KR20230041103A
KR20230041103A KR1020237006445A KR20237006445A KR20230041103A KR 20230041103 A KR20230041103 A KR 20230041103A KR 1020237006445 A KR1020237006445 A KR 1020237006445A KR 20237006445 A KR20237006445 A KR 20237006445A KR 20230041103 A KR20230041103 A KR 20230041103A
Authority
KR
South Korea
Prior art keywords
memory
isolation
fault
management module
mode
Prior art date
Application number
KR1020237006445A
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
Priority claimed from CN202010839242.5A external-priority patent/CN114064333A/zh
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20230041103A publication Critical patent/KR20230041103A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)

Abstract

본 출원의 실시예들은 메모리 결함 취급 방법 및 장치를 제공하고, 컴퓨터 기술들의 분야에 관련되어, 종래의 기술에서, 시스템이 메모리 결함으로 인해 고장나는 문제점을 해결한다. 구체적인 해결책은 다음과 같다: 관리 모듈이 메모리의 에러 정보를 획득한다(S401). 관리 모듈은, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정한다(S402). 관리 모듈은, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여, 하드웨어 격리 또는 소프트웨어 격리 중 적어도 하나를 사용하여 메모리를 복구하기로 결정한다(S403).

Description

메모리 고장 처리 방법 및 장치
본 출원의 실시예들은 컴퓨터 기술들의 분야에, 특히, 메모리 결함 취급 방법 및 장치에 관련된다.
동적 랜덤 액세스 메모리(dynamic random access memory, DRAM)는 통상의 랜덤 액세스 메모리이고, 스토리지 분야에서 널리 사용된다. DRAM 메모리의 용량이 증가함에 따라, 기본 고장률이 증가한다. 일반적으로, 메모리 에러가 발생한 후에, 에러 체크 및 정정(error checking and correction, ECC)과 같은 에러 정정 알고리즘이 에러를 정정하기 위해 사용될 수 있다. 그러나, 빈번한 에러 정정은 시스템 성능에 영향을 미친다. 또한, 메모리 결함이 더 심각해질 때, 에러 정정 알고리즘이 과부하되고, 정정되지 않은 에러의 확률이 크게 증가한다. 그 결과, 정정되지 않은 에러가 발생하여, 시스템 고장을 야기할 수 있다.
메모리 복구 방법은 메모리에 정정된 에러들(corrected errors, CEs)의 값들을 누적하는 것이고, CE들의 수량이 임계값에 도달할 때, 기본 입력/출력 시스템(basic input/output system, BIOS)은 중앙 처리 유닛(central processing unit, CPU)의 하위-레이어 메모리 격리 및 교체 액션을 트리거하라는 커맨드를 전달하여, 결함 영역을 격리하고, 결함 영역에서의 메모리는 더 이상 사용되지 않아서, 결함 영역을 다시 판독하고 기입하는 것을 회피한다. 이러한 복구 방법은 메모리 결함의 심각도 및 메모리 결함의 정확한 위치를 정확하게 결정할 수 없다. 그 결과, 결함 격리 정확도 및 커버리지가 열악하고, 시스템 고장 확률이 높다.
본 출원의 실시예들은, 메모리 결함에 의해 야기되는 시스템 고장의 확률을 감소시키기 위한, 메모리 결함 취급 방법 및 장치를 제공한다.
전술한 목적들을 달성하기 위해, 본 출원의 실시예들에서 다음의 기술적 해결책들이 사용된다.
본 출원의 실시예의 제1 양태에 따르면, 메모리 결함 취급 방법이 제공된다. 이러한 방법은, 관리 모듈이 메모리의 에러 정보를 획득하는 것을 포함한다. 관리 모듈은, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정한다. 관리 모듈은, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여, 하드웨어 격리 또는 소프트웨어 격리 중 적어도 하나를 사용하여 메모리를 복구하기로 결정한다. 이러한 해결책에 기초하여, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여 결정되는 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술이 정확하다. 또한, 관리 모듈은 상이한 결함 특징 모드들 또는 상이한 격리 복구 기술들에 대해 사용될 구체적인 격리 방식을 결정할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소된다.
예를 들어, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드를 결정하는 것은, 관리 모듈이, 메모리의 현재 에러 정보 및 메모리의 과거 에러 정보를 참조하여, 현재 메모리가 충족시키는 결함 모드의 조건을 순차적으로 결정하고, 현재 메모리에 대한 결함 모드 코드를 생성하는 것을 포함할 수 있다. 결함 모드 코드는 현재 메모리가 충족시키는 결함 모드의 조건을 표시하기 위해 사용된다. 관리 모듈은, 머신 학습 알고리즘을 사용하여 복수의 결함 모드 코드들에 기초하여, 메모리의 결함 모드 및 각각의 결함 모드에 의해 야기되는 시스템-레벨 결함의 확률을 예측하고, 이러한 확률에 기초하여 메모리의 결함 특징 모드를 결정한다.
제1 양태를 참조하여, 가능한 구현에서, 메모리의 에러 정보는 정정된 에러 CE의 상태, CE의 발생 시간, CE들의 수량, CE의 물리 어드레스 정보, 정정되지 않은 에러의 상태, 정정되지 않은 에러의 발생 시간, 정정되지 않은 에러들의 수량, 정정되지 않은 에러의 물리 어드레스 정보, 메모리 패트롤 에러들의 수량, 메모리 패트롤 에러의 행 어드레스, 메모리 패트롤 에러의 열 어드레스, 및 최대 수량의 메모리 패트롤 에러들을 갖는 행 어드레스 중 적어도 하나를 포함한다. CE의 물리 어드레스 정보는 메모리에서의 CE의 물리 위치를 표시하기 위해 사용되고, 정정되지 않은 에러의 물리 어드레스 정보는 메모리에서의 정정되지 않은 에러의 물리 위치를 표시하기 위해 사용된다. 이러한 해결책에 기초하여, 메모리의 상세한 에러 정보에 기초하여 메모리 결함의 구체적인 위치가 정확하게 발견될 수 있고, 그렇게 함으로써 메모리 결함을 발견하는 정확도를 개선한다. CE의 물리 어드레스 정보는 메모리에서의 CE의 구체적인 물리 위치를 표시할 수 있다는 점이 이해될 수 있다. 예를 들어, CE의 물리 어드레스 정보는 CPU 노드 번호, 채널 번호, DIMM 슬롯 번호, 논리 랭크 번호, 뱅크 그룹 번호, 뱅크 번호, 행 번호, 열 번호, 칩 디바이스 번호, 또는 CE가 발견되는 비트 위치와 같은 정보 중 하나 이상을 포함할 수 있다. 다른 예를 들어, 정정되지 않은 에러의 물리 어드레스 정보는 CPU 노드 번호, 채널 번호, DIMM 슬롯 번호, 논리 랭크 번호, 뱅크 그룹 번호, 뱅크 번호, 행 번호, 열 번호, 칩 디바이스 번호, 또는 정정되지 않은 에러가 발견되는 비트 위치와 같은 정보 중 하나 이상을 포함할 수 있다.
제1 양태 및 전술한 가능한 구현을 참조하여, 다른 가능한 구현에서, 결함 특징 모드는 페이지 페이지 결함 모드, 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 발견된 메모리의 결함 특징 모드가 정확하고, 결함 특징 모드에 대해 구체적인 격리 방식이 결정된다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소된다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 메모리의 실행 상태 데이터를 획득하는 것을 포함한다. 메모리의 실행 상태 데이터는 CPU 사용량 정보, 온도 정보, 실행 프로그램 정보, 및 메모리 건강 상태 정보 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 메모리의 실행 상태에 관련된 데이터를 획득하는 것에 의해, 이러한 데이터에 기초하여 메모리의 결함 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술이 예측될 수 있어, 결함 모드를 예측하는 정확도를 추가로 개선한다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것은, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것을 포함한다. 이러한 해결책에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술이 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여 결정되어, 메모리의 결함 특징 모드를 예측하는 정확도가 추가로 개선될 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 하드웨어 격리를 사용하여 메모리를 복구하기로 결정하면, 관리 모듈이 제1 결함 복구 요청을 프로세서 펌웨어에 전송하는 것을 포함한다. 제1 결함 복구 요청은 프로세서 펌웨어에게 메모리를 복구하라고 요청하기 위해 사용되고, 제1 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 하드웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 프로세서 펌웨어에게 현재 메모리의 결함 특징 모드를 통지할 수 있거나, 또는 프로세서 펌웨어에게 메모리를 복구하기 위해 사용되는 격리 복구 기술을 통지할 수 있어서, 프로세서 펌웨어가 격리 복구 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 선택적으로, 관리 모듈에 의해 프로세서 펌웨어에 전송되는 제1 결함 복구 요청은, 프로세서 펌웨어에 의해 구체적으로 복구되는 영역을 표시하기 위해, 메모리의 결함 어드레스 정보(예를 들어, 뱅크의 어드레스 정보)를 추가로 포함할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 프로세서 펌웨어로부터 제1 결함 복구 응답을 수신하는 것을 포함한다. 제1 결함 복구 응답은 프로세서 펌웨어가 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 이러한 해결책에 기초하여, 메모리를 복구한 후, 프로세서 펌웨어는 복구 결과를 관리 모듈에 피드백하여, 결함 복구의 성공률이 추가로 개선될 수 있다. 또한, 관리 모듈은 프로세서 펌웨어에 의해 피드백되는 복구 결과에 기초하여 메모리의 결함 심각도를 예측할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 프로세서 펌웨어에 제1 결함 복구 정보 테이블을 전송하는 것을 포함한다. 제1 결함 복구 정보 테이블은 결함 특징 모드 및 결함 특징 모드에 대응하는 하나 이상의 하드웨어 격리 복구 기술들을 표시하기 위해 사용된다. 이러한 해결책에 기초하여, 프로세서 펌웨어는, 제1 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 하드웨어 격리 복구 기술을 학습하여, 프로세서 펌웨어의 복구 능력을 개선할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 하드웨어 격리 복구 기술은 비트 비트 격리 및 교체, 셀 격리 및 교체, 행 행 격리 및 교체, 열 열 격리 및 교체, 뱅크 격리 및 교체, 디바이스 디바이스 격리 및 교체, 랭크 격리 및 교체, 채널 채널 격리 및 교체, 단일 디바이스 데이터 정정 SDDC, 단일 디바이스 에러 정정 SDEC, 적응형 이중 디바이스 데이터 정정-다중 영역 ADDDC-MR, 적응형 데이터 정정-단일 영역 ADC-SR, 적응형 이중 디바이스 에러 정정 ADDEC, 부분 캐시 라인 스페어링 PCLS, 적응형 캐시 라인 스페어링 ACLS, 하드웨어 사후-패키지 복구 hPPR, 소프트웨어 사후-패키지 복구 sPPR, 사후-패키지 복구 PPR, 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 하드웨어 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 프로세서 펌웨어는 상이한 결함 특징 모드들에 대해 상이한 하드웨어 격리 복구 기술들을 사용할 수 있고, 복구 정확도가 높다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 프로세서 펌웨어는 펌웨어, 기본 입력/출력 시스템 BIOS, 관리 엔진 ME, 또는 지능형 관리 유닛 IMU를 포함한다. 이러한 해결책에 기초하여, 펌웨어, BIOS, ME, 또는 IMU는 메모리의 결함 영역을 복구할 수 있고, 복구 능력은 강력하다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정하면, 관리 모듈이 제2 결함 복구 요청을 운영 체제 OS 관리 유닛에 전송하는 것을 포함한다. 제2 결함 복구 요청은 OS 관리 유닛에게 메모리를 복구하라고 요청하기 위해 사용되고, 제2 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 OS 관리 유닛에게 현재 메모리의 결함 특징 모드를 통지할 수 있거나, 또는 OS 관리 유닛에게 메모리를 복구하기 위해 사용되는 격리 복구 기술을 통지할 수 있어서, OS 관리 유닛이 격리 복구 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 선택적으로, 관리 모듈에 의해 프로세서 펌웨어에 전송되는 제2 결함 복구 요청은, 프로세서 펌웨어에 의해 구체적으로 복구되는 영역을 표시하기 위해, 메모리의 결함 어드레스 정보(예를 들어, 페이지의 어드레스 정보)를 추가로 포함할 수 있다. 관리 모듈은 OS 관리 유닛에게 메모리를 복구하기 위해 사용되는 소프트웨어 격리 복구 기술을 직접 통지할 수 있거나, 또는 단지 OS 관리 유닛에게만 OS 관리 유닛이 메모리의 결함 특징 모드에 대응하는 소프트웨어 격리 복구 기술을 결정하기 위한 메모리의 결함 특징 모드를 통지할 수 있다는 점이 이해될 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 OS 관리 유닛으로부터 제2 결함 복구 응답을 수신하는 것을 포함한다. 제2 결함 복구 응답은 OS 관리 유닛이 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 이러한 해결책에 기초하여, 메모리를 복구한 후에, OS 관리 유닛은 복구 결과를 관리 모듈에 피드백하여, 관리 모듈이 이러한 복구 결과에 기초하여 메모리의 결함 심각도를 예측할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 OS 관리 유닛에 제2 결함 복구 정보 테이블을 전송하는 것을 포함한다. 제2 결함 복구 정보 테이블은 결함 특징 모드 및 이러한 결함 특징 모드에 대응하는 하나 이상의 소프트웨어 격리 복구 기술을 표시하기 위해 사용된다. 이러한 해결책에 기초하여, OS 관리 유닛은, 제2 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 소프트웨어 격리 복구 기술을 학습하여, OS 관리 유닛의 복구 능력을 개선할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 소프트웨어 격리 복구 기술은 페이지 오프라인, 어드레스 격리, 프로세스 격리, 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 소프트웨어 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, OS 관리 유닛은 상이한 결함 특징 모드들에 대해 상이한 소프트웨어 격리 복구 기술들을 사용할 수 있고, 복구 정확도가 높다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, OS 관리 유닛은 OS에 내장되는 시스템 관리 유닛 또는 OS에 설치되는 디바이스 관리 에이전트 프로그램이다. 이러한 해결책에 기초하여, OS에 설치되는 디바이스 관리 에이전트 프로그램 또는 시스템 관리 유닛은 메모리의 결함 영역을 복구할 수 있고, 복구 능력은 강력하다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 관리 모듈이, 메모리의 에러 정보에 기초하여 그리고 머신 학습 알고리즘을 사용하여, 메모리의 결함 특징 모드를 결정하는 것은, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보 및 결함 예측 모델에 기초하여 메모리의 결함 특징 모드를 결정하는 것을 포함한다. 결함 예측 모델은 메모리의 결함 특징 모드를 예측하기 위해 사용된다. 이러한 해결책에 기초하여, 결함 예측 모델에 기초하여 메모리의 결함 특징 모드가 결정될 수 있어, 결함 특징 모드의 정확도를 개선한다. 선택적으로, 관리 모듈은 메모리의 에러 정보, 메모리의 실행 상태 데이터, 및 결함 예측 모델에 기초하여 머신 학습 알고리즘을 사용하여 메모리의 결함 특징 모드를 또한 결정할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 관리 모듈이 메모리의 결함 심각도를 결정하는 것을 포함한다. 관리 모듈은 메모리의 결함 심각도가 미리 설정된 임계값을 초과할 때 상위-레이어 동작 및 유지보수 시스템에 경보 정보를 전송한다. 이러한 해결책에 기초하여, 관리 모듈은 메모리의 결함 심각도를 예측하고, 메모리의 결함이 심각할 때 경보 정보를 전송하여, 시스템 고장의 위험을 회피할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 관리 모듈이 메모리의 결함 심각도를 결정하는 것은, 관리 모듈이 제1 결함 복구 응답 및 제2 결함 복구 응답 중 적어도 하나에 기초하여 메모리의 결함 심각도를 결정하는 것을 포함한다. 이러한 해결책에 기초하여, 관리 모듈은 프로세서 펌웨어 및 OS 관리 유닛에 의해 피드백되는 복구 결과들에 기초하여 메모리의 결함 심각도를 예측하여, 시스템 고장의 위험을 회피할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 관리 모듈이 메모리의 결함 심각도를 결정하는 것은, 관리 모듈이 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여 메모리의 결함 심각도를 결정하는 것을 포함한다. 이러한 해결책에 기초하여, 관리 모듈은, 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여 메모리의 결함 심각도를 예측하여, 시스템 고장의 위험을 회피할 수 있다.
제1 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 관리 모듈은 비-서비스 모듈의 관리 유닛이고, 관리 모듈은 실행 상태에 대한 관리 유닛, 프로세서에 내장되는 관리 유닛, 프로세서 외부의 관리 칩에서의 관리 시스템, 서버 베이스보드 관리 제어기 BMC, 시스템 관리 모듈 SMM, 또는 OS에서의 디바이스 관리 시스템을 포함한다. 이러한 해결책에 기초하여, 비-서비스 유닛의 관리 유닛이 프로세서 펌웨어 및 OS 관리 유닛과 통신할 수 있어서, 결함 영역이 정확하게 발견되고, 결함 복구의 정확도가 개선되고, 시스템 고장의 확률이 감소된다.
본 출원의 실시예의 제2 양태에 따르면, 메모리 결함 취급 방법이 제공된다. 이러한 방법은, 프로세서 펌웨어가 메모리의 에러 정보를 관리 모듈에 전송하는 것을 포함한다. 프로세서 펌웨어는 관리 모듈로부터 제1 결함 복구 요청을 수신하고, 제1 결함 복구 요청은 프로세서 펌웨어에게 메모리를 복구하라고 요청하기 위해 사용되고, 제1 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. 프로세서 펌웨어는 격리 복구 기술에 기초하여 메모리를 복구한다. 이러한 해결책에 기초하여, 하드웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 프로세서 펌웨어에게 현재 메모리의 결함 특징 모드를 통지할 수 있거나, 또는 프로세서 펌웨어에게 메모리를 복구하기 위해 사용되는 격리 복구 기술을 통지할 수 있어서, 프로세서 펌웨어가 격리 복구 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 관리 모듈은 프로세서 펌웨어에게 메모리를 복구하기 위해 사용되는 하드웨어 격리 복구 기술을 직접 통지할 수 있거나, 또는 단지 프로세서 펌웨어에게만 프로세서 펌웨어가 메모리의 결함 특징 모드를 복구하기 위해 사용되는 격리 복구 기술을 결정하기 위한 메모리의 결함 특징 모드를 통지할 수 있다는 점이 이해될 수 있다. 선택적으로, 프로세서 펌웨어에 의해 수신되는 제1 결함 복구 요청은 메모리의 결함 어드레스 정보(예를 들어, 뱅크의 어드레스 정보)를 추가로 포함할 수 있고, 프로세서 펌웨어는 결함 어드레스 정보에 기초하여 구체적인 복구 영역을 결정할 수 있다.
제2 양태를 참조하여, 가능한 구현에서, 메모리의 에러 정보는 정정된 에러 CE의 상태, CE의 발생 시간, CE들의 수량, CE의 물리 어드레스 정보, 정정되지 않은 에러의 상태, 정정되지 않은 에러의 발생 시간, 정정되지 않은 에러들의 수량, 정정되지 않은 에러의 물리 어드레스 정보, 메모리 패트롤 에러들의 수량, 메모리 패트롤 에러의 행 어드레스, 메모리 패트롤 에러의 열 어드레스, 및 최대 수량의 메모리 패트롤 에러들을 갖는 행 어드레스 중 적어도 하나를 포함한다. CE의 물리 어드레스 정보는 메모리에서의 CE의 물리 위치를 표시하기 위해 사용되고, 정정되지 않은 에러의 물리 어드레스 정보는 메모리에서의 정정되지 않은 에러의 물리 위치를 표시하기 위해 사용된다. 이러한 해결책에 기초하여, 프로세서 펌웨어는 메모리의 상세한 에러 정보를 관리 모듈에 전송할 수 있어서, 관리 모듈이 메모리의 상세한 에러 정보에 기초하여 메모리 결함의 구체적인 위치를 정확하게 발견할 수 있고, 그렇게 함으로써 메모리 결함을 발견하는 정확도를 개선한다.
제2 양태 및 전술한 가능한 구현을 참조하여, 다른 가능한 구현에서, 전술한 결함 특징 모드는 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 발견된 메모리의 결함 특징 모드가 정확하고, 결함 특징 모드에 대해 구체적인 격리 방식이 결정된다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소된다.
제2 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 프로세서 펌웨어가 관리 모듈에 제1 결함 복구 응답을 전송하는 것을 포함한다. 제1 결함 복구 응답은 프로세서 펌웨어가 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 이러한 해결책에 기초하여, 메모리를 복구한 후, 프로세서 펌웨어는 복구 결과를 관리 모듈에 피드백하여, 결함 복구의 성공률이 추가로 개선될 수 있다. 또한, 관리 모듈은 프로세서 펌웨어에 의해 피드백되는 복구 결과에 기초하여 메모리의 결함 심각도를 예측할 수 있다.
제2 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 프로세서 펌웨어가 관리 모듈로부터 제1 결함 복구 정보 테이블을 수신하는 것을 포함한다. 제1 결함 복구 정보 테이블은 결함 특징 모드 및 결함 특징 모드에 대응하는 하나 이상의 하드웨어 격리 복구 기술들을 표시하기 위해 사용된다. 이러한 해결책에 기초하여, 프로세서 펌웨어는, 제1 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 하드웨어 격리 복구 기술을 학습하여, 프로세서 펌웨어의 복구 능력을 개선할 수 있다.
제2 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 하드웨어 격리 복구 기술은 비트 비트 격리 및 교체, 셀 격리 및 교체, 행 행 격리 및 교체, 열 열 격리 및 교체, 뱅크 격리 및 교체, 디바이스 디바이스 격리 및 교체, 랭크 격리 및 교체, 채널 채널 격리 및 교체, 단일 디바이스 데이터 정정 SDDC, 단일 디바이스 에러 정정 SDEC, 적응형 이중 디바이스 데이터 정정-다중 영역 ADDDC-MR, 적응형 데이터 정정-단일 영역 ADC-SR, 적응형 이중 디바이스 에러 정정 ADDEC, 부분 캐시 라인 스페어링 PCLS, 적응형 캐시 라인 스페어링 ACLS, 하드웨어 사후-패키지 복구 hPPR, 소프트웨어 사후-패키지 복구 sPPR, 사후-패키지 복구 PPR, 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 하드웨어 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 프로세서 펌웨어는 상이한 결함 특징 모드들에 대해 상이한 하드웨어 격리 복구 기술들을 사용할 수 있고, 복구 정확도가 높다.
제2 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, 프로세서 펌웨어가, 메모리의 결함 특징 모드 및 제1 결함 복구 정보 테이블에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것을 포함한다. 이러한 해결책에 기초하여, 프로세서 펌웨어는, 제1 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 하드웨어 격리 복구 기술을 학습하여, 프로세서 펌웨어의 복구 능력을 개선할 수 있다.
제2 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 프로세서 펌웨어는 펌웨어, 기본 입력/출력 시스템 BIOS, 관리 엔진 ME, 또는 지능형 관리 유닛 IMU를 포함한다. 이러한 해결책에 기초하여, 펌웨어, BIOS, ME, 또는 IMU는 메모리의 결함 영역을 복구할 수 있고, 복구 능력은 강력하다.
본 출원의 실시예의 제3 양태에 따르면, 메모리 결함 취급 방법이 제공된다. 이러한 방법은, 운영 체제 OS 관리 유닛이 관리 모듈로부터 제2 결함 복구 요청을 수신하는 것을 포함하고, 제2 결함 복구 요청은 OS 관리 유닛에게 메모리를 복구하라고 요청하기 위해 사용되고, 제2 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. OS 관리 유닛은 격리 복구 기술에 기초하여 메모리를 복구한다. 이러한 해결책에 기초하여, OS 관리 유닛은 관리 모듈로부터 메모리를 복구하기 위해 사용되는 격리 복구 기술 또는 메모리의 결함 특징 모드를 수신한다. OS 관리 유닛은 격리 복구 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 관리 모듈은 OS 관리 유닛에게 메모리를 복구하기 위해 사용되는 소프트웨어 격리 복구 기술을 직접 통지할 수 있거나, 또는 단지 OS 관리 유닛에게만 OS 관리 유닛이 메모리의 결함 특징 모드에 대응하는 소프트웨어 격리 복구 기술을 결정하기 위한 메모리의 결함 특징 모드를 통지할 수 있다는 점이 이해될 수 있다. 선택적으로, 관리 모듈에 의해 프로세서 펌웨어에 전송되는 제2 결함 복구 요청은, 프로세서 펌웨어에 의해 구체적으로 복구되는 영역을 표시하기 위해, 메모리의 결함 어드레스 정보(예를 들어, 페이지의 어드레스 정보)를 추가로 포함할 수 있다.
제3 양태를 참조하여, 가능한 구현에서, 결함 특징 모드는 페이지 페이지 결함 모드, 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, 발견된 메모리의 결함 특징 모드가 정확하고, 결함 특징 모드에 대해 구체적인 격리 방식이 결정된다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소된다.
제3 양태 및 전술한 가능한 구현을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, OS 관리 유닛이 관리 모듈에 제2 결함 복구 응답을 전송하는 것을 포함한다. 제2 결함 복구 응답은 OS 관리 유닛이 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 이러한 해결책에 기초하여, 메모리를 복구한 후에, OS 관리 유닛은 복구 결과를 관리 모듈에 피드백하여, 관리 모듈이 이러한 복구 결과에 기초하여 메모리의 결함 심각도를 예측할 수 있다.
제3 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, OS 관리 유닛이 관리 모듈로부터 제2 결함 복구 정보 테이블을 수신하는 것을 포함한다. 제2 결함 복구 정보 테이블은 결함 특징 모드 및 이러한 결함 특징 모드에 대응하는 하나 이상의 소프트웨어 격리 복구 기술을 표시하기 위해 사용된다. 이러한 해결책에 기초하여, OS 관리 유닛은, 제2 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 소프트웨어 격리 복구 기술을 학습하여, OS 관리 유닛의 복구 능력을 개선할 수 있다.
제3 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 소프트웨어 격리 복구 기술은 페이지 오프라인, 어드레스 격리, 프로세스 격리, 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 소프트웨어 격리 복구 기술 중 적어도 하나를 포함한다. 이러한 해결책에 기초하여, OS 관리 유닛은 상이한 결함 특징 모드들에 대해 상이한 소프트웨어 격리 복구 기술들을 사용할 수 있고, 복구 정확도가 높다.
제3 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, 이러한 방법은 추가로, OS 관리 유닛이, 메모리의 결함 특징 모드 및 제2 결함 복구 정보 테이블에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것을 포함한다. 이러한 해결책에 기초하여, OS 관리 유닛은, 제2 결함 복구 정보 테이블에 기초하여, 결함 특징 모드에 대해 사용될 수 있는 소프트웨어 격리 복구 기술을 학습하여, OS 관리 유닛의 복구 능력을 개선할 수 있다.
제3 양태 및 전술한 가능한 구현들을 참조하여, 다른 가능한 구현에서, OS 관리 유닛은 OS에 내장되는 시스템 관리 유닛 또는 OS에 설치되는 디바이스 관리 에이전트 프로그램이다. 이러한 해결책에 기초하여, OS에 설치되는 디바이스 관리 에이전트 프로그램 또는 시스템 관리 유닛은 메모리의 결함 영역을 복구할 수 있고, 복구 능력은 강력하다.
본 출원의 실시예의 제4 양태에 따르면, 관리 모듈이 제공된다. 이러한 관리 모듈은 제1 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하는 기능을 갖는다. 이러한 기능은 하드웨어에 의해 구현될 수 있거나, 또는 대응하는 소프트웨어를 실행하는 하드웨어에 의해 구현될 수 있다. 이러한 하드웨어 또는 소프트웨어는 기능에 대응하는 하나 이상의 모듈을 포함한다.
본 출원의 실시예의 제5 양태에 따르면, 프로세서 펌웨어가 제공된다. 이러한 프로세서 펌웨어는 제2 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하는 기능을 갖는다. 이러한 기능은 하드웨어에 의해 구현될 수 있거나, 또는 대응하는 소프트웨어를 실행하는 하드웨어에 의해 구현될 수 있다. 이러한 하드웨어 또는 소프트웨어는 기능에 대응하는 하나 이상의 모듈을 포함한다.
본 출원의 실시예의 제6 양태에 따르면, OS 관리 유닛이 제공된다. 이러한 OS 관리 유닛은 제3 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하는 기능을 갖는다. 이러한 기능은 하드웨어에 의해 구현될 수 있다. 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈을 포함한다.
본 출원의 실시예의 제7 양태에 따르면, 본 출원의 실시예는 컴퓨터-판독가능 저장 매체를 제공한다. 이러한 컴퓨터-판독가능 저장 매체는 명령어들을 저장한다. 이러한 명령어들이 컴퓨터 상에서 실행될 때, 이러한 컴퓨터는 제1 양태 내지 제3 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 수행하는 것이 가능하게 된다.
본 출원의 실시예의 제8 양태에 따르면, 본 출원의 실시예는 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다. 이러한 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때, 이러한 컴퓨터는 제1 양태 내지 제3 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 수행하는 것이 가능하게 된다.
본 출원의 실시예의 제9 양태에 따르면, 메모리 결함 취급 시스템이 제공된다. 이러한 메모리 결함 취급 시스템은 관리 모듈, 프로세서 펌웨어, 및 OS 관리 유닛을 포함한다. 이러한 관리 모듈은 제1 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하도록 구성된다. 이러한 프로세서 펌웨어는 제2 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하도록 구성된다. 이러한 OS 관리 유닛은 제3 양태의 임의의 구현에 따른 메모리 결함 취급 방법을 구현하도록 구성된다.
도 1은 본 출원의 실시예에 따른 메모리의 결함을 복구하기 위한 방법의 개략도이다.
도 2는 본 출원의 실시예에 따른 메모리의 결함을 복구하기 위한 방법의 개략도이다.
도 3은 본 출원의 실시예에 따른 컴퓨터 시스템의 구조의 개략도이다.
도 4는 본 출원의 실시예에 따른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 5는 본 출원의 실시예에 따른 다른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 6은 본 출원의 실시예에 따른 다른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 7은 본 출원의 실시예에 따른 다른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 8은 본 출원의 실시예에 따른 다른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 9는 본 출원의 실시예에 따른 다른 메모리 결함 취급 방법의 개략적인 흐름도이다.
도 10은 본 출원의 실시예에 따른 메모리 결함 취급 장치의 개략적인 구성도이다.
도 11은 본 출원의 실시예에 따른 다른 메모리 결함 취급 장치의 개략적인 구성도이다.
도 12는 본 출원의 실시예에 따른 다른 메모리 결함 취급 장치의 개략적인 구성도이다.
다음은 본 출원의 실시예들에서의 첨부 도면들을 참조하여 본 출원의 실시예들에서의 기술적 해결책들을 설명한다. 본 출원에서, "적어도 하나(at least one)"는 하나 이상을 의미하고, "복수의(a plurality of)"는 2개 이상을 의미한다. "및/또는(and/or)"이라는 용어는 연관된 객체들 사이의 연관 관계를 설명하고, 3개의 관계들이 존재할 수 있다는 점을 표시한다. 예를 들어, A 및/또는 B는 다음의 3개의 경우들: A가 단독으로 존재함, A 및 B 양자 모두가 존재함, 및 B가 단독으로 존재함을 표시할 수 있고, A 및 B는 단수 또는 복수일 수 있다. 문자 "/"는 연관된 객체들 사이의 "또는(or)" 관계를 일반적으로 표시한다. "다음의 항목들(단편들) 중 적어도 하나(at least one of the following items (pieces))" 또는 그의 유사한 표현은, 단일의 항목(단편) 또는 복수의 항목들(단편들)의 임의의 조합을 포함하는, 이러한 항목들의 임의의 조합을 표시한다. 예를 들어, a, b, 또는 c 중 적어도 하나(단편)는, a, b, c, a 및 b, a 및 c, b 및 c, 또는 a, b, 및 c를 표현할 수 있고, a, b 및 c는 단수 또는 복수일 수 있다. 또한, 본 출원의 실시예들에서의 기술적 해결책들을 명확하게 설명하기 위해, 기본적으로 동일한 기능들 또는 목적들을 제공하는 동일한 항목들 또는 유사한 항목들 사이를 구별하기 위해 본 출원의 실시예들에서 "제1(first)" 및 "제2(second)"와 같은 용어들이 사용된다. 해당 분야에서의 기술자는 "제1(first)" 및 "제2(second)"와 같은 용어들이 수량 및 실행 순서를 제한하지 않는다는 점을 이해할 수 있다. 예를 들어, 본 출원의 실시예들에서 제1 결함 복구 요청에서의 "제1(first)" 및 제2 결함 복구 요청에서의 "제2(second)"는 상이한 결함 복구 요청들 사이를 구별하기 위해 단지 사용된다. 본 출원의 실시예들에서 "제1(first)" 및 "제2(second)"와 같은 설명들은 설명된 객체들을 표시하고 이들 사이를 구별하기 위해 단지 사용되고, 순서를 나타내지 않고, 본 출원의 실시예들에서 디바이스들의 수량에 대한 구체적인 제한을 표시하지 않고, 본 출원의 실시예들에 대한 어떠한 제한도 구성할 수 없다.
본 출원에서, "예(an example)" 또는 "예를 들어(for example)"와 같은 용어는 예, 예시, 또는 설명들을 제공하는 것을 표현하기 위해 사용된다는 점이 주목되어야 한다. 본 출원에서 "예(example)" 또는 "예를 들어(for example)"로서 설명되는 어떠한 실시예 또는 설계 스킴도 다른 실시예 또는 설계 스킴보다 더 바람직하거나 또는 더 많은 이점들을 갖는 것으로서 설명되지 않아야 한다. 정확히, "예(an example)" 또는 "예를 들어(for example)" 와 같은 용어의 사용은 구체적인 방식으로 상대적 개념을 제시하도록 의도된다.
본 출원의 실시예들에서 "복수의(a plurality of)"는 2개 이상을 지칭한다.
본 출원의 실시예들에서 "제1(first)" 및 "제2(second)"와 같은 설명들은 설명된 객체들을 표시하고 이들 사이를 구별하기 위해 단지 사용되고, 순서를 나타내지 않고, 본 출원의 실시예들에서 디바이스들의 수량에 대한 구체적인 제한을 표시하지 않고, 본 출원의 실시예들에 대한 어떠한 제한도 구성할 수 없다.
본 출원의 실시예들에서 설명되는 아키텍처 시나리오는 본 출원의 실시예들에서의 기술적 해결책들을 보다 명확하게 설명하도록 의도되고, 본 출원의 실시예들에서 제공되는 기술적 해결책들에 대한 제한을 구성하는 것은 아니다. 해당 분야에서의 통상의 기술자는, 컴퓨터 시스템의 진화로, 본 출원의 실시예들에서 제공되는 기술적 해결책들이 유사한 기술적 문제점들에 또한 적용가능하다는 점을 알 수 있다.
현재의 컴퓨팅 시스템의 메모리는 하드웨어 복구 능력을 갖는다. 예를 들어, 메모리가 결함이 있을 때, 결함 공간을 교체하기 위해 여유 공간이 사용될 수 있어, 하드웨어 상에서 메모리의 결함 영역을 격리시킨다. 그러나, 메모리에서의 제한된 여유 공간으로 인해, 하드웨어 격리 기술은 제한된 횟수 동안 사용된다. 사소한 메모리 에러들에 대해, 이러한 에러들을 정정하기 위해 에러 정정 알고리즘이 일반적으로 사용될 수 있다. 심각한 결함이 발생할 때, 교체를 통해 결함 영역을 복구하기 위해 여유 공간이 사용된다.
예를 들어, 도 1은 메모리 복구 방법이다. 도 1에 도시되는 바와 같이, 메모리의 정정된 에러(corrected error, CE)가 중앙 처리 유닛(central processing unit, CPU)에서의 에러 정정 메커니즘을 사용하여 식별된 후에, 기본 입력/출력 시스템(basic input/output system, BIOS)은 CE를 카운트하고, CE들의 수량을 임계값과 비교한다. CE들의 수량이 임계값에 도달한 이후, BIOS는 CPU의 하위-레이어 메모리의 격리 및 교체 액션(예를 들어, 뱅크 격리 및 셀 격리)을 트리거하라는 커맨드를 전달하고, 결함 영역을 격리한다, 즉, 결함 영역에서의 메모리가 더 이상 사용되지 않아, 결함 영역을 다시 판독하고 기입하는 것을 회피한다.
그러나, BIOS의 제한된 처리 능력으로 인해, 메모리의 정정된 에러들의 카운트들만이 단지 누적될 수 있고, 메모리 결함의 심각도 및 메모리 결함의 정확한 행 및 열 위치들이 정확하게 결정될 수 없다. 결과적으로, 결함 격리의 정밀도 및 커버리지 레이트 양자 모두가 열악하다. 또한, 임계값이 큰 값으로 설정되면, 대량의 에러 시나리오들이 손실될 수 있다. CE들의 수량이 임계값에 도달하기 전에 정정되지 않은 에러(uncorrected error, UCE)가 발생하는 것이 가능하고, 그렇게 함으로써 시스템 고장을 야기한다. 임계값이 작은 값으로 설정되면, 대량의 사소한 결함들이 격리되고 교체될 수 있으며, 격리 및 교체의 진정한 가치가 발휘될 수 없다. 따라서, 이러한 방법을 사용하여 메모리 결함의 위치가 정확하게 결정될 수 없고, 메모리 복구의 정확도가 낮아서, 시스템 고장의 높은 확률을 초래한다.
예를 들어, 도 2는 다른 메모리 복구 방법을 도시한다. 도 2에 도시되는 바와 같이, 정정된 에러를 식별한 후에, CPU는 정정된 에러를 상위-레이어 운영 체제(operating system, OS)에 보고하고, OS는 정정된 에러를 카운트하고 결함 심각도를 결정한다. 정정된 에러들의 수량이 임계값에 도달한 후, OS는 OS에서 에러 격리 메커니즘(예를 들어, 페이지 페이지 오프라인)을 트리거하라는 커맨드를 전달하여, OS에서 결함 영역의 가상 공간을 격리하고, 결함 영역의 메모리 어드레스는 더 이상 사용되지 않는다.
그러나, 이러한 방법에서, OS는 OS 레이어을 단지 격리 및 교체할 수 있고, CPU의 하위-레이어 메모리 리소스를 호출할 수 없다. 따라서, 하위 레이어에서 이용가능한 하드웨어 격리 능력이 낭비된다. 또한, OS 레이어가 격리된 후에, 메모리 공간이 감소된다. 특히 대형 페이지 오프라인에 대해, 격리 위험이 높고, 시스템 고장을 쉽게 야기할 수 있다. 따라서, 이러한 방법은 열악한 메모리 복구 능력을 가져서, 높은 확률의 시스템 고장을 야기한다.
종래의 기술에서의 부정확한 메모리 결함 발견에 의해 야기되는 시스템 고장의 문제점을 해결하기 위해, 본 출원의 실시예들은 메모리 결함 취급 방법을 제공한다. 이러한 방법에 따르면, 메모리 결함의 위치가 정확하게 결정될 수 있어, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소된다.
본 출원의 실시예들에서 제공되는 메모리 결함 취급 방법은 도 3에 도시되는 컴퓨터 시스템(100)에 적용될 수 있다. 컴퓨터 시스템(100)은 서버, 스토리지 제어기, 스위치, 라우터, 기지국 제어기, 컴퓨팅 오프로드 카드, 또는 컴퓨팅 가속 카드와 같은 디바이스일 수 있다. 도 3에 도시되는 컴퓨터 시스템의 구체적인 형태는 본 출원의 실시예들에서 제한되지 않는다. 다음의 실시예에서, 컴퓨터 시스템이 서버인 예만이 단지 설명을 위해 사용된다. 도 3에 도시되는 바와 같이, 컴퓨터 시스템(100)은 관리 모듈(101), 프로세서 펌웨어(102), 운영 체제 OS 관리 유닛(103), 및 메모리(104)를 포함한다.
관리 모듈(101)은 비-서비스 모듈의 관리 유닛일 수 있고, 관리 모듈(101)은 대역-외 관리 모듈(101)이라고 또한 지칭될 수 있다. 예를 들어, 관리 모듈(101)은 전용 데이터 채널을 통해 서버를 원격으로 유지하고 관리할 수 있다. 관리 모듈(101)은 서버의 운영 체제 OS와 완전히 독립적이고, 서버의 대역-외 관리 인터페이스를 통해 BIOS 및 OS(또는 OS 관리 유닛)와 통신할 수 있다.
예를 들어, 관리 모듈(101)은 서버 실행 상태에 대한 관리 유닛, 프로세서에 내장되는 관리 유닛, 프로세서 외부의 관리 칩에서의 관리 시스템, 서버 베이스보드 관리 제어기(baseboard management controller, BMC), 시스템 관리 모듈(system management module, SMM), 서비스 유닛에 내장되는 관리 유닛, 또는 OS에서의 디바이스 관리 시스템과 같은 관리 유닛을 포함할 수 있다. 관리 모듈의 구체적인 형태는 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명은 단지 예이다. 다음의 실시예에서는, 관리 모듈(101)이 BMC인 예만이 단지 설명을 위해 사용된다.
예를 들어, 관리 모듈(101)은 메모리(104)의 에러 정보 및 메모리(104)의 실행 상태에 관련된 데이터를 획득하도록 구성될 수 있다. 관리 모듈(101)은 메모리(104)의 에러 정보 및 메모리(104)의 실행 상태에 관련된 데이터에 기초하여 머신 학습 알고리즘을 사용하여 메모리의 결함 특징 모드를 추가로 결정하고, 하드웨어 격리 기술 또는 소프트웨어 격리 기술을 사용하여 결함 모드가 복구되는지를 결정할 수 있다. 관리 모듈(101)이 하드웨어 격리 기술을 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈(101)은 복구 요청을 프로세서 펌웨어(102)에 전송한다. 관리 모듈(101)이 소프트웨어 격리 기술을 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈(101)은 복구 요청을 OS 관리 유닛(103)에 전송한다.
프로세서 펌웨어(102)는 펌웨어, 기본 입력/출력 시스템 BIOS, 관리 엔진(management engine, ME), 또는 지능형 관리 유닛(intelligent management unit, IMU)과 같은 펌웨어일 수 있다. 프로세서 펌웨어(102)의 구체적인 형태는 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명은 단지 예이다. 다음의 실시예에서, 프로세서 펌웨어(102)가 BIOS인 예만이 단지 설명을 위해 사용된다.
프로세서 펌웨어(102)는 메모리가 결함이 있을 때 에러 정보, 예를 들어, 정정된 에러의 관련 정보 및 정정되지 않은 에러의 관련 정보를 검출하도록 구성될 수 있다. 메모리의 에러 정보의 구체적인 내용은 단지 예이고, 프로세서 펌웨어(102)에 의해 검출되는 에러 정보의 구체적인 내용은 본 출원의 이러한 실시예에서 제한되지 않는다는 점이 주목되어야 한다.
예를 들어, OS 관리 유닛(103)은 OS에 내장되는 시스템 관리 유닛일 수 있거나, 또는 OS에 설치되는 디바이스 관리 에이전트 프로그램일 수 있다. 이러한 것은 본 출원의 이러한 실시예에서 제한되지 않는다.
예를 들어, 메모리(104)는 컴퓨터 시스템(100)의 실행 메모리일 수 있다. 컴퓨터 시스템(100)에 복수의 메모리들(104)이 있을 수 있고, 이러한 메모리(104)는 동적 랜덤 액세스 메모리 DRAM일 수 있다.
구체적인 구현에서, 컴퓨터 시스템(100)은 도 3에서의 것과 유사한 구조를 포함하는 임의의 디바이스일 수 있다는 점이 주목되어야 한다. 컴퓨터 시스템(100)의 구체적인 타입은 본 출원의 이러한 실시예에서 제한되지 않는다. 또한, 도 3에 도시되는 구성 구조는 컴퓨터 시스템(100)에 대한 제한을 구성하지 않는다. 도 3에 도시되는 컴포넌트들 외에도, 컴퓨터 시스템(100)은 도면에 도시되는 것들보다 더 많은 또는 더 적은 컴포넌트들을 포함할 수 있거나, 또는 일부 컴포넌트들을 조합할 수 있거나, 또는 상이한 컴포넌트 배열들을 가질 수 있다.
도 3을 참조하여, 도 4는 본 출원의 실시예에 따른 메모리 결함 취급 방법을 도시한다. 이러한 방법은 단계 S401 내지 단계 S403을 포함한다.
S401: 관리 모듈이 메모리의 에러 정보를 획득함.
예를 들어, 메모리의 에러 정보는 메모리의 실행 프로세스에서의 에러 정보이다. 메모리의 에러 정보는 정정된 에러 CE의 상태, CE의 발생 시간, CE들의 수량, CE의 물리 어드레스 정보, 정정되지 않은 에러의 상태, 정정되지 않은 에러의 발생 시간, 정정되지 않은 에러들의 수량, 정정되지 않은 에러의 물리 어드레스 정보, 메모리 패트롤 에러들의 수량, 메모리 패트롤 에러의 행 어드레스, 메모리 패트롤 에러의 열 어드레스, 및 최대 수량의 메모리 패트롤 에러들을 갖는 행 어드레스와 같은 정보를 포함할 수 있다. 메모리의 에러 정보에 포함되는 구체적인 내용은 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명은 단지 예이다.
예를 들어, CE의 물리 어드레스 정보는 메모리에서의 CE의 물리 위치를 표시하기 위해 사용된다. 다시 말해서, 메모리에서의 CE의 구체적인 물리 위치가 CE의 물리 어드레스 정보에 기초하여 결정될 수 있다. 예를 들어, CE의 물리 어드레스 정보는 CPU 노드 번호, 채널 번호, DIMM 슬롯 번호, 논리 랭크 번호, 뱅크 그룹 번호, 뱅크 번호, 행 번호, 열 번호, 칩 디바이스 번호, 또는 CE가 발견되는 비트 위치와 같은 정보 중 하나 이상의 단편을 포함할 수 있다.
예를 들어, 정정되지 않은 에러의 물리 어드레스 정보는 메모리에서의 정정되지 않은 에러의 물리 위치를 표시하기 위해 사용된다. 구체적으로, 메모리에서의 정정되지 않은 에러의 구체적인 물리 위치는 정정되지 않은 에러의 물리 어드레스 정보에 기초하여 결정될 수 있다. 정정되지 않은 에러의 물리 어드레스 정보는 CPU 노드 번호, 채널 채널 번호, DIMM 슬롯 번호, 논리 랭크 번호, 뱅크 그룹 번호, 뱅크 번호, 행 번호, 열 번호, 칩 디바이스 번호, 또는 정정되지 않은 에러가 발견되는 비트 비트 위치와 같은 정보 중 하나 이상의 단편을 포함할 수 있다.
CE의 물리 어드레스 정보의 구체적인 내용 및 정정되지 않은 에러의 물리 어드레스 정보의 구체적인 내용은 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명들은 단지 예이다.
선택적으로, 정정되지 않은 에러는 상이한 프로세서들 또는 컴퓨터 시스템들에서 상이한 명칭들을 갖는다. 예를 들어, x86 아키텍처에서, 정정되지 않은 에러는 요구되는 소프트웨어 복구가능 액션(software recoverable action required, SRAR), 선택적인 소프트웨어 복구가능 액션(software recoverable action optional, SRAO), 또는 정정되지 않은 노 액션(uncorrected no action, UCNA)이라고 지칭될 수 있다. ARM 아키텍처에서, 정정되지 않은 에러는 정정되지 않은 에러(uncorrected error, UE), 복구불가능 에러(unrecoverable error, UEU), 시그널링된 또는 복구가능 에러(signaled or recoverable error, UER), 잠재적 또는 재시작가능 에러(latent or restartable error, UEO), 또는 지연된 에러(deferred error, DE)라고 지칭될 수 있다. 정정되지 않은 에러의 구체적인 명칭은 본 출원에서 제한되지 않는다.
예를 들어, 관리 모듈이 단계 S401에서 메모리의 에러 정보를 획득하는 것은, 관리 모듈이 프로세서 펌웨어로부터 메모리의 에러 정보를 수신하는 것을 포함할 수 있다. 예를 들어, BMC는 BIOS에 의해 전송되는 메모리의 에러 정보를 수신한다. 선택적으로, BMC는 다른 프로세서 펌웨어(예를 들어, 펌웨어, ME, 또는 IMU)에 의해 전송되는 에러 정보를 수신할 수 있다. 이러한 것은 본 출원의 이러한 실시예에서 제한되지 않는다.
선택적으로, 단계 S401 전에, 이러한 방법은 추가로, 프로세서 펌웨어가 메모리의 에러 정보를 검출하고, 프로세서 펌웨어에 의해 검출되는 에러 정보를 관리 모듈에 전송하는 것을 포함할 수 있다.
선택적으로, 단계 S401 전에, 이러한 방법은 추가로, 관리 모듈이 센서에 의해 수집되는 메모리의 실행 상태 데이터를 수신하는 것을 포함할 수 있다. 메모리의 실행 상태 데이터는 메모리의 실행 상태를 반영할 수 있는 데이터이다. 예를 들어, 메모리의 실행 상태 데이터는 CPU 사용량 정보, 온도 정보, 실행 프로그램 정보, 및 메모리 건강 상태 정보 중 적어도 하나를 포함할 수 있다. 선택적으로, 메모리의 실행 상태 데이터는 메모리의 실행 상태를 반영할 수 있는 다른 데이터를 대안적으로 포함할 수 있다. 이러한 것은 본 출원의 이러한 실시예에서 제한되지 않는다. 예를 들어, BMC는 메모리에서의 온도 센서에 의해 수집되는 각각의 디바이스(device)의 온도 정보를 수신할 수 있다.
S402: 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정함.
예를 들어, 메모리의 결함 특징 모드는 다음의 결함 모드들: 페이지 페이지 결함 모드, 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 하나 이상을 포함할 수 있다. 본 출원의 이러한 실시예에서, 메모리의 결함 특징 모드의 구체적인 입도는 제한되지 않고, 본 명세서에서의 설명은 단지 예이다. 기술들의 발달로, 미래에 더 미세한 입도 또는 더 조악한 입도를 갖는 결함 특징 모드가 있을 수 있다.
예를 들어, 머신 학습 알고리즘을 사용하여 결정되는 메모리를 복구하기 위해 사용되는 격리 복구 기술은 하드웨어 격리 복구 기술 또는 소프트웨어 격리 복구 기술일 수 있다. 이러한 것은 본 출원의 이러한 실시예에서 제한되지 않는다.
예를 들어, 하드웨어 격리 복구 기술은 다음의 복구 기술들: 비트 비트 격리 및 교체, 셀 격리 및 교체, 행 행 격리 및 교체, 열 열 격리 및 교체, 뱅크 격리 및 교체, 디바이스 디바이스 격리 및 교체, 랭크 격리 및 교체, 채널 채널 격리 및 교체, 단일 디바이스 데이터 정정(single device data correction, SDDC), 단일 디바이스 에러 정정(single device error correction, SDEC), 적응형 이중 디바이스 데이터 정정-다중 영역(adaptive double device data correction-multiple region, ADDDC-MR), 적응형 데이터 정정-단일 영역(adaptive data correction-single region, ADC-SR), 적응형 이중 디바이스 에러 정정(adaptive double device error correction, ADDEC), 부분 캐시 라인 스페어링(partial cache line sparing, PCLS), 적응형 캐시 라인 스페어링(adaptive cache line sparing, ACLS), 하드웨어 사후-패키지 복구(hardware post-package repair, hPPR), 소프트웨어 사후-패키지 복구(software post-package repair, sPPR), 사후-패키지 복구(post-package repair, PPR), 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 하드웨어 격리 복구 기술 중 하나 이상을 포함할 수 있다. 하드웨어 격리 복구 기술의 구체적인 타입은 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명은 단지 예이다.
예를 들어, 소프트웨어 격리 복구 기술은 다음의 복구 기술들: 페이지 오프라인(Page offline), 어드레스 격리, 프로세스 격리, 또는 메모리의 구체적인 어드레스 범위를 교체하기 위한 소프트웨어 격리 복구 기술 중 하나 이상을 포함할 수 있다. 소프트웨어 격리 복구 기술의 구체적인 타입은 본 출원의 이러한 실시예에서 제한되지 않고, 본 명세서에서의 설명은 단지 예이다.
예를 들어, 단계 S402에서의 머신 학습 알고리즘은 임계값-기반 결정 알고리즘, 결정 트리 알고리즘, 감독 머신 학습 알고리즘, 무감독 머신 학습 알고리즘, 메모리 핀 링크 검출 알고리즘 등을 포함할 수 있다. 예를 들어, 관리 모듈은, 결정 트리 알고리즘, 랜덤 포레스트 알고리즘, 또는 신경망 알고리즘에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정할 수 있다. 본 출원의 이러한 실시예에서, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하기 위해 구체적으로 사용되는 머신 학습 알고리즘의 타입은 제한되지 않고, 본 명세서에서의 설명은 단지 예이다.
예를 들어, 단계 S402에서 관리 모듈이 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여 메모리의 결함 특징 모드를 결정하는 것은, 관리 모듈이 머신 학습 알고리즘을 사용하여 메모리의 에러 정보 및 결함 예측 모델에 기초하여 메모리의 결함 특징 모드를 결정하는 것을 포함할 수 있다. 결함 예측 모델은 메모리의 결함 특징 모드를 예측하기 위해 사용된다.
예를 들어, 결함 예측 모델은 일정 기간에 복수의 서버들에서의 메모리들의 에러 정보에 대한 통계를 수집하는 것에 의해 그리고 대량의 에러 정보에 기초하는 머신 학습 알고리즘을 사용하여 상위-레이어 동작 및 유지보수 시스템에 의해 수립되는 결함 예측 모델일 수 있다. 선택적으로, 결함 예측 모델을 수립하기 위해 사용되는 머신 학습 알고리즘은 메모리의 결함 특징 모드를 결정하기 위해 사용되는 머신 학습 알고리즘과 동일할 수 있다.
선택적으로, 단계 S402 전에, 이러한 방법은 추가로, 상위-레이어 동작 및 유지보수 시스템이 결함 예측 모델을 관리 모듈에 전송하고, 관리 모듈이 결함 예측 모델을 수신하는 것을 포함할 수 있다. 이러한 방식으로, 관리 모듈은 결함 예측 모델에 기초하여 메모리의 결함 특징 모드를 결정할 수 있다. 결함 예측 모델의 입력 파라미터는 메모리의 에러 정보 및 메모리의 실행 상태 데이터일 수 있고, 출력 파라미터는 결함 특징 모드일 수 있다는 점이 이해될 수 있다.
예를 들어, 단계 S401에서 관리 모듈이 메모리의 현재 에러 정보를 수신한 후, 단계 S402에서 관리 모듈이 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여 메모리의 결함 특징 모드를 결정하는 것은, 관리 모듈이, 메모리의 현재 에러 정보 및 메모리의 과거 에러 정보(여기서 과거 에러 정보는 관리 모듈이 현재 에러 정보를 수신하기 전에 관리 모듈에 의해 수신되는 에러 정보임)를 참조하여, 현재 메모리가 단일-비트 비트 결함 모드의 조건, 셀 결함 모드의 조건, 행 행 결함 모드의 조건, 열 열 결함 모드의 조건, 뱅크 결함 모드의 조건, 디바이스 디바이스 결함 모드의 조건, 랭크 결함 모드의 조건, DIMM 결함 모드의 조건, 및 채널 채널 결함 모드의 조건을 충족시키는지를 순차적으로 결정하고, 현재 메모리에 대한 결함 모드 코드를 생성하는 것을 포함할 수 있다. 결함 모드 코드는 현재 메모리가 충족시키는 결함 모드의 조건을 표시하기 위해 사용된다. 관리 모듈은, 복수의 결함 모드 코드들에 기초하여 머신 학습 알고리즘을 사용하여, 각각의 결함 모드에 의해 메모리의 결함 모드 및 시스템-레벨 결함을 야기하는 확률을 예측하고, 각각의 결함 모드에 의해 시스템-레벨 결함을 야기하는 확률에 기초하여 메모리의 결함 특징 모드를 결정한다.
예를 들어, 관리 모듈은, 머신 학습 알고리즘을 사용하여, 현재 메모리가 충족시키는 결함 모드의 조건을 순차적으로 결정할 수 있다. 선택적으로, 현재 메모리는 전술한 결함 모드들 중 하나 이상의 조건들을 충족시킬 수 있다. 예를 들어, 현재 메모리는 행 결함 모드의 조건, 뱅크 결함 모드의 조건, 및 디바이스 결함 모드의 조건을 충족시킬 수 있다. 본 출원의 이러한 실시예에서, 현재 메모리가 충족시키는 구체적인 결함 모드 및 각각의 결함 모드의 조건은 제한되지 않고, 현재 메모리가 충족시키는 구체적인 결함 모드는 메모리의 실행 상태에 관련된다는 점이 이해될 수 있다. 본 명세서에서의 설명은 단지 예이다.
선택적으로, 단일-비트 결함 모드의 조건, 셀 결함 모드의 조건, 행 결함 모드의 조건, 열 결함 모드의 조건, 뱅크 결함 모드의 조건, 디바이스 결함 모드의 조건, 랭크 결함 모드의 조건, DIMM 결함 모드의 조건, 및 채널 결함 모드의 조건은 결함 예측 모델에 기초하여 획득될 수 있다. 예를 들어, 결함 예측 모델에 기초하여, 단일-비트 결함 모드의 조건은 동일한 비트의 에러들의 수량이 임계값을 초과하는 것이라고 결정될 수 있다. 다른 예를 들어, 결함 예측 모델에 기초하여, 행 결함 모드의 조건은 동일 행에서의 에러들의 수량이 임계값을 초과하는 것이라고 결정될 수 있다.
선택적으로, 현재 메모리가 하나 이상의 결함 모드의 조건들을 충족시킨다고 결정한 후 관리 모듈이 현재 메모리에 대한 결함 모드 코드를 생성할 때, 결함 모드 코드는 복수의 비트들에 의해 형성된 코드일 수 있고, 1 비트는 하나의 결함 모드를 표현할 수 있고, 1 비트의 상이한 값들은 현재 메모리가 해당 비트에 대응하는 결함 모드의 조건을 충족시키는지를 표시하기 위해 사용될 수 있다.
예를 들어, 결함 모드 코드는 9 비트를 갖고, 1 비트의 값이 1인 것은 해당 비트에 대응하는 결함 모드의 조건이 충족된다는 점을 표시하고, 1 비트의 값이 0인 것은 해당 비트에 대응하는 결함 모드의 조건이 충족되지 않는다는 점을 표시한다. 비트 0이 1인 것은 현재 메모리가 단일-비트 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 1이 1인 것은 현재 메모리가 셀 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 2가 1인 것은 현재 메모리가 행 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 3이 1인 것은 현재 메모리가 열 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 4가 1인 것은 현재 메모리가 뱅크 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 5가 1인 것은 현재 메모리가 디바이스 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 6이 1인 것은 현재 메모리가 랭크 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 7이 1인 것은 현재 메모리가 DIMM 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 비트 8이 1인 것은 현재 메모리가 채널 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용될 수 있다. 예를 들어, 관리 모듈에 의해 결정되는 결함 모드 코드는 000110100이고, 결함 모드 코드는 현재 메모리가 행 결함 모드의 조건, 뱅크 결함 모드의 조건, 및 디바이스 결함 모드의 조건을 충족시킨다는 점을 표시하기 위해 사용된다.
예를 들어, 관리 모듈이 메모리의 에러 정보를 수신할 때마다, 관리 모듈은 결함 모드 코드를 결정한다. 관리 모듈은, 머신 학습 알고리즘을 사용하여 그리고 복수의 과거에 결정된 결함 모드 코드들 및 복수의 결함 모드 코드들의 통계 값들에 기초하여, 메모리에서의 상이한 결함 모드들에 의해 야기되는 시스템-레벨 결함들의 확률들을 예측하고, 시스템-레벨 결함을 야기할 확률이 미리 설정된 임계값보다 큰 결함 모드를 메모리의 결함 특징 모드로서 결정할 수 있다. 선택적으로, 통계 값은, 누적 값, 평균 값, 슬라이딩 윈도우 평균 값, 표준 편차, 및 확률 분포 파라미터와 같은, 통계 처리 후에 생성되는 결과를 포함할 수 있다.
선택적으로, 관리 모듈에 의해 결정되는 메모리의 하나 이상의 결함 특징 모드들이 있을 수 있다. 이러한 것은 본 출원의 이러한 실시예에서 제한되지 않는다. 관리 모듈이 메모리의 하나의 결함 특징 모드를 결정할 때, 관리 모듈은 결함 특징 모드를 프로세서 펌웨어에 전송한다. 관리 모듈이 메모리의 복수의 결함 특징 모드들을 결정할 때, 관리 모듈은 최대 결함 확률을 갖는 결함 특징 모드를 프로세서 펌웨어에 전송할 수 있거나, 또는 복수의 결함 특징 모드들을 프로세서 펌웨어에 전송할 수 있다.
단계 S402에서 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 구체적인 구현에 대해서는, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보에 기초하여, 메모리의 결함 특징 모드를 결정하는 전술한 구현을 참조한다는 점이 이해될 수 있다. 상세사항들이 본 명세서에서 다시 설명되지는 않는다.
선택적으로, 단계 S401 전에, 이러한 방법이 추가로, 관리 모듈이 센서에 의해 수집되는 메모리의 실행 상태 데이터를 수신하는 것을 포함할 때, 단계 S402는, 관리 모듈이, 머신 학습 알고리즘을 사용하여 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것을 포함할 수 있다. 예를 들어, 관리 모듈은 메모리의 에러 정보에 기초하여 결함 모드 코드를 결정하고; 머신 학습 알고리즘을 사용하여 메모리의 결함 모드 코드 및 실행 상태 데이터에 기초하여, 메모리의 결함 모드 및 각각의 결함 모드에 의해 시스템-레벨 결함을 야기할 확률을 예측하고; 각각의 결함 모드에 의해 시스템-레벨 결함을 야기할 확률에 기초하여 메모리의 결함 특징 모드를 결정한다. 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술이 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여 결정될 때, 예측된 결함 모드의 정확도 또는 복구 기술이 개선될 수 있다는 점이 이해될 수 있다.
선택적으로, 메모리의 결함 특징 모드가 DIMM 결함 모드 또는 DIMM보다 더 조악한 입도를 갖는 결함 모드(예를 들어, 채널 결함 모드)라고 관리 모듈이 결정할 때, 관리 모듈은, 결함 메모리를 복구하기 위해, 사용자에게 메모리 모듈을 교체하도록 리마인드하기 위한 경고 정보를 전송할 수 있다.
본 출원의 이러한 실시예에서, 메모리의 에러 정보가 상세히 설명되고, 행 어드레스 및 열 어드레스에 구체적일 수 있다는 점이 이해될 수 있다. 따라서, 에러 정보에 기초하여 메모리의 결함 영역이 정확하게 발견될 수 있다. 또한, 메모리의 것인 그리고 상세 에러 정보를 참조하여 그리고 머신 학습 알고리즘을 사용하여 결정되는 결함 특징 모드가 정확하다. 따라서, 이러한 해결책은 결함 타입과 결함 위치를 정확하게 발견할 수 있다.
S403: 관리 모듈이, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여, 하드웨어 격리 또는 소프트웨어 격리 중 적어도 하나를 사용하여 메모리를 복구하기로 결정함.
하드웨어 격리는 CPU의 하위-레이어 메모리 리소스를 사용하여 결함 영역을 격리시키는 것이다. 즉, CPU의 결함 영역을 교체하고 결함 영역을 격리하기 위해 하위 레이어에 있는 여유 공간이 사용될 수 있다.
소프트웨어 격리는 메모리 에러가 발생하는 영역을 OS 레이어가 격리한다는 점을 의미한다. 예를 들어, 메모리 페이지 오프라인(page offline)에 대해, OS 레이어는 메모리 페이지를 사용하고 있는 프로세스를 종료할 수 있거나, 또는 OS 레이어는 메모리 페이지를 사용하고 있는 애플리케이션을 닫을 수 있다. 선택적으로, OS 레이어는 정정되지 않은 에러가 메모리 페이지 상에서 발생할 때 메모리 페이지를 격리할 수 있다.
예를 들어, 메모리의 상이한 결함 모드들에 기초하여, 관리 모듈은 하드웨어 격리를 사용하여 결함 메모리를 복구하기로, 또는 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로, 또는 하드웨어 격리 및 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정할 수 있다.
선택적으로, 메모리의 결함 특징 모드가 단일-비트 결함 모드, 셀 결함 모드, 행 결함 모드, 열 결함 모드, 뱅크 결함 모드, 디바이스 결함 모드, 랭크 결함 모드, 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 또는 대량의 에러들이 단기간에 발생하는 결함 모드일 때, 관리 모듈은 하드웨어 격리를 사용하여 결함 메모리를 복구하기로 결정할 수 있다. 그러나, CPU의 하위-레이어 메모리의 여유 공간은 제한된다. 따라서, 결함 메모리는 하드웨어 격리를 사용하여 복구되지 않을 수 있다. 결함 메모리가 하드웨어 격리를 사용하여 복구될 수 없을 때, 관리 모듈은 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정할 수 있다.
예를 들어, 메모리의 결함 특징 모드가 셀 결함 모드(또는 단일-비트 결함 모드)일 때, 관리 모듈은 하드웨어 격리를 사용하여 메모리를 복구하기로 결정한다. CPU의 하위-레이어 메모리의 여유 공간이 불충분하고, 결함 메모리가 하드웨어 격리를 사용하여 복구될 수 없으면, 관리 모듈은 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정할 수 있다.
선택적으로, 메모리의 결함 모드가 페이지 결함 모드일 때, 관리 모듈은 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정할 수 있다.
구현에서, 관리 모듈이, 메모리의 결함 특징 모드에 기초하여, 하드웨어 격리 및/또는 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정하는 것은, 관리 모듈이 하드웨어 격리를 사용하여 결함 메모리를 복구하기로 우선적으로 결정하고, 결함 메모리가 하드웨어 격리를 사용하여 복구될 수 없을 때, 관리 모듈이 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정하는 것을 포함할 수 있다. 메모리의 결함 특징 모드가 페이지 결함 모드 이외의 결함 모드일 때, 관리 모듈은, 이러한 구현을 사용하여, 하드웨어 격리 또는 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정할 수 있다는 점이 주목되어야 한다. 이러한 구현에서, 관리 모듈은 프로세서 펌웨어의 피드백 정보로부터 결함 메모리가 하드웨어 격리를 사용하여 복구될 수 없다는 점을 학습할 수 있다는 점이 주목되어야 한다.
다른 구현에서, 관리 모듈이, 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여, 하드웨어 격리 및/또는 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정하는 것은, 메모리를 복구하기 위해 사용되는 격리 복구 기술이 하드웨어 격리 복구 기술일 때, 관리 모듈이 하드웨어 격리를 사용하여 메모리를 복구하기로 결정하는 것을 포함할 수 있다. 메모리를 복구하기 위해 사용되는 격리 복구 기술이 소프트웨어 격리 복구 기술일 때, 관리 모듈은 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정한다. 메모리를 복구하기 위해 사용되는 격리 복구 기술이 하드웨어 격리 복구 기술 및 소프트웨어 격리 복구 기술 양자 모두를 포함할 때, 관리 모듈은 하드웨어 격리 및 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정한다.
이러한 실시예에서 제공되는 메모리 결함 취급 방법에서, 관리 모듈은 메모리의 에러 정보를 획득하고, 메모리의 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여 메모리의 결함 특징 모드 또는 격리 복구 기술을 결정하고, 다음으로, 메모리의 결함 특징 모드 또는 격리 복구 기술에 기초하여, 하드웨어 격리 및/또는 소프트웨어 격리를 사용하여 결함 메모리를 복구하기로 결정한다는 점이 이해될 수 있다. 이러한 스킴에서, 메모리의 것인 그리고 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여 결정되는 결함 특징 모드는 정확하다. 또한, 관리 모듈은 상이한 결함 특징 모드들 또는 상이한 격리 복구 기술들에 대해 사용되는 구체적인 격리 방식들을 결정할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다.
본 출원의 실시예는, 관리 모듈과 프로세서 펌웨어 사이의 상호작용에 관련되는, 메모리 결함 취급 방법을 추가로 제공한다. 도 5에 도시되는 바와 같이, 단계 S403에서 하드웨어 격리를 사용하여 메모리를 복구하기로 결정되면, 전술한 단계 S401 내지 단계 S403에 기초하여, 이러한 방법은 단계 S501 내지 단계 S506을 추가로 포함할 수 있다. 단계 S401 내지 단계 S403은 도 5에 도시되지 않는다.
S501: 관리 모듈이 하드웨어 격리를 사용하여 메모리를 복구하기로 결정하면, 관리 모듈이 제1 결함 복구 요청을 프로세서 펌웨어에 전송함.
제1 결함 복구 요청은 프로세서 펌웨어에게 메모리를 복구하라고 요청하기 위해 사용되고, 제1 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. 즉, 관리 모듈은, 프로세서 펌웨어에, 메모리를 복구하기 위해 사용되는 하드웨어 격리 복구 기술을 직접 전송할 수 있거나, 또는 메모리의 결함 특징 모드를 프로세서 펌웨어에 전송할 수 있고, 프로세서 펌웨어는, 메모리의 결함 특징 모드에 기초하여, 메모리를 복구하기 위해 사용되는 하드웨어 격리 복구 기술을 결정한다. 선택적으로, 관리 모듈은, 프로세서 펌웨어에, 메모리의 결함 특징 모드 및 메모리를 복구하기 위해 사용되는 격리 복구 기술을 추가로 전송할 수 있어서, 프로세서 펌웨어가 격리 복구 기술에 기초하여 결함 메모리를 복구할 수 있다.
선택적으로, 관리 모듈에 의해 프로세서 펌웨어에 전송되는 제1 결함 복구 요청은 결함 영역의 어드레스 정보를 추가로 포함할 수 있다. 예를 들어, 메모리의 결함 특징 모드는 셀 결함 모드이다. 셀 결함 모드 외에도, 관리 모듈에 의해 프로세서 펌웨어에 전송되는 제1 결함 복구 요청은 결함 셀의 구체적인 어드레스 정보를 추가로 포함할 수 있다.
예를 들어, 관리 모듈은 관리 모듈과 프로세서 펌웨어 사이의 대역-외 관리 인터페이스를 통해 제1 결함 복구 요청을 프로세서 펌웨어에 전송할 수 있다. 예를 들어, BMC가 하드웨어 격리 기술을 사용하여 결함 메모리를 복구하기로 결정하면, BMC는 BMC와 BIOS 사이의 통신 인터페이스를 통해 BIOS에 제1 결함 복구 요청을 전송하여, BIOS에게 결함 메모리를 복구하라고 요청할 수 있다.
S502: 프로세서 펌웨어가 관리 모듈로부터 제1 결함 복구 요청을 수신함.
예를 들어, BIOS는 BMC로부터 제1 결함 복구 요청을 수신할 수 있다. BIOS는, 제1 결함 복구 요청에 포함되는 메모리를 복구하기 위해 사용되는 격리 복구 기술 및/또는 메모리의 결함 특징 모드에 기초하여, 현재 메모리의 결함 타입 및/또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 학습한다. 선택적으로, BIOS는 제1 결함 복구 요청에 추가로 포함되는 결함 영역의 어드레스 정보에 기초하여 결함 영역의 위치를 학습할 수 있다.
예를 들어, 제1 결함 복구 요청이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 포함할 때, 단계 S506은 단계 S501 및 단계 S502 이후에 계속 수행된다. 즉, 프로세서 펌웨어는 관리 모듈에 의해 전송되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
예를 들어, 제1 결함 복구 요청이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 포함하지 않을 때(예를 들어, 제1 결함 복구 요청이 메모리의 결함 특징 모드만을 단지 포함할 때), 단계 S503 내지 단계 S506은 단계 S501 및 단계 S502 이후에 계속 수행된다. 즉, 프로세서 펌웨어는, 관리 모듈에 의해 전송되는 메모리의 결함 특징 모드에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하고, 다음으로 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
(선택적임) S503: 프로세서 펌웨어가 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정함.
구현에서, 프로세서 펌웨어가 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것은, 프로세서 펌웨어가, 메모리의 결함 특징 모드에 기초하여, 어느 하드웨어 격리 복구 기술이 결함 메모리를 복구하기 위해 사용되는지를 결정하는 것을 포함할 수 있다. 예를 들어, 메모리의 결함 특징 모드가 뱅크 결함 모드일 때, 프로세서 펌웨어는 뱅크 격리 및 교체를 사용하여 결함 메모리를 복구하기로 결정할 수 있다. 다른 예를 들어, 메모리의 결함 특징 모드가 셀 결함 모드일 때, 프로세서 펌웨어는 셀 격리 및 교체를 사용하여 결함 메모리를 복구하기로 결정할 수 있다. 즉, 이러한 구현에서, 프로세서 펌웨어는, 메모리의 결함 특징 모드에 기초하여, 어느 격리 복구 기술이 구체적으로 사용되는지 결정한다.
다른 구현에서, 프로세서 펌웨어는, 관리 모듈에 의해 전송되는 제1 결함 복구 정보 테이블에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 추가로 결정할 수 있다. 제1 결함 복구 정보 테이블은 결함 특징 모드 및 결함 특징 모드에 대응하는 하나 이상의 하드웨어 격리 복구 기술들을 표시하기 위해 사용된다. 즉, 관리 모듈은, 제1 결함 정보 테이블에 질의하는 것에 의해, 결함 특징 모드에 대해 사용될 수 있는 하드웨어 격리 복구 기술을 학습할 수 있다.
예를 들어, 제1 결함 복구 정보 테이블에서의 결함 특징 모드는 단일-비트 결함 모드, 셀 결함 모드, 행 결함 모드, 열 결함 모드, 뱅크 결함 모드, 디바이스 결함 모드, 랭크 결함 모드, 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 하나 이상을 포함할 수 있다.
예를 들어, 동일한 하드웨어 격리 복구 기술이 제1 결함 복구 정보 테이블에서의 상이한 결함 특징 모드들에 대해 사용될 수 있다. 상이한 하드웨어 격리 복구 기술들이 상이한 결함 특징 모드들에 대해 사용될 수 있다. 본 출원의 실시예에서, 각각의 결함 특징 모드에 대해 구체적으로 사용되는 하드웨어 격리 복구 기술의 타입은 제한되지 않는다.
예를 들어, 하나의 하드웨어 격리 복구 기술 또는 복수의 하드웨어 격리 복구 기술들이 제1 결함 복구 정보 테이블에서의 하나의 결함 특징 모드에 대해 사용될 수 있다.
선택적으로, 프로세서 펌웨어가 제1 결함 복구 정보 테이블에 질의하여 메모리의 결함 특징 모드가 복수의 하드웨어 격리 복구 기술들에 대응한다고 결정하면, 프로세서 펌웨어는 복수의 하드웨어 격리 복구 기술들로부터 하드웨어 격리 복구 기술을 결정할 수 있다.
선택적으로, 프로세서 펌웨어가, 관리 모듈에 의해 전송되는 제1 결함 복구 정보 테이블에 기초하여, 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 결정하면, 단계 S504 및 단계 S505는 단계 S503 전에 추가로 포함될 수 있다.
(선택적임) S504: 관리 모듈이 프로세서 펌웨어에 제1 결함 복구 정보 테이블을 전송함.
선택적으로, 제1 결함 복구 정보 테이블은 제1 결함 복구 요청에서 운반될 수 있다.
(선택적임) S505. 프로세서 펌웨어가 제1 결함 복구 정보 테이블을 수신함.
단계 S504와 단계 S505 및 다른 단계들 사이의 실행 순서는 본 출원의 이러한 실시예에서 제한되지 않는다는 점이 이해될 수 있다. 도 5는 단지 예이다. 예를 들어, 단계 S504 및 단계 S505는 단계 S501 전에 또한 수행될 수 있다.
S506: 프로세서 펌웨어가 격리 복구 기술에 기초하여 메모리를 복구함.
예를 들어, 프로세서 펌웨어는 관리 모듈에 의해 전송되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있거나, 또는 단계 S503에서 프로세서 펌웨어에 의해 결정되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
예를 들어, 관리 모듈에 의해 전송되는 격리 복구 기술 뱅크 격리 및 교체가 예로서 사용된다. BIOS는 하위-레이어 리소스를 사용하여 결함 뱅크를 격리하기 위해 뱅크 격리 및 교체 기술을 사용할 수 있다. 다른 예를 들어, 결함 특징 모드는 셀 결함 모드이고, 제1 결함 복구 정보 테이블에서의 셀 결함 모드에 대응하는 격리 복구 기술은 셀 격리 및 교체이다. BIOS는 하위-레이어 리소스를 사용하여 결함 셀을 격리하기 위해 셀 격리 및 교체 기술을 사용할 수 있다.
본 출원의 이러한 실시예에서 제공되는 메모리 결함 취급 방법에 따르면, 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여 결정되는 메모리를 복구하기 위해 사용되는 격리 복구 기술 또는 메모리의 결함 특징 모드가 정확하다는 점이 이해될 수 있다. 또한, 하드웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 프로세서 펌웨어에게 통지하여, 프로세서 펌웨어는 대응하는 격리 및 교체 기술을 사용하고 하위-레이어 리소스를 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다.
선택적으로, 본 출원의 실시예는 메모리 결함 취급 방법을 추가로 제공한다. 도 6에 도시되는 바와 같이, 단계 S501 내지 단계 S506 후에, 단계 S507 및 단계 S508이 추가로 포함될 수 있다. 단계 S401 내지 단계 S403은 도 6에 도시되지 않는다.
S507: 프로세서 펌웨어가 관리 모듈에 제1 결함 복구 응답을 전송함.
제1 결함 복구 응답은 프로세서 펌웨어가 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 예를 들어, 제1 결함 복구 응답은 프로세서 펌웨어가 메모리를 성공적으로 복구하는 것을 운반하거나, 또는 제1 결함 복구 응답은 프로세서 펌웨어가 메모리를 복구함에 실패하는 것을 운반한다.
예를 들어, 프로세서 펌웨어가 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 사용하여 메모리를 성공적으로 복구할 때, 프로세서 펌웨어에 의해 관리 모듈에 전송되는 복구 결과는 복구가 성공한다는 것이다. 프로세서 펌웨어가 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 사용하여 메모리를 복구함에 실패할 때, 프로세서 펌웨어에 의해 관리 모듈에 전송되는 복구 결과는 복구가 실패한다는 것이다.
프로세서의 하위-레이어 리소스가 제한되기 때문에, 하위-레이어 리소스가 불충분할 때, 프로세서 펌웨어는 메모리를 복구하는 것이 가능하지 않을 수 있다는 점이 이해될 수 있다. 따라서, 프로세서 펌웨어는 메모리를 복구함에 실패한다.
S508: 관리 모듈이 제1 결함 복구 응답을 수신함.
예를 들어, 관리 모듈은, 제1 결함 복구 응답에서 운반되는 복구 결과에 기초하여, 프로세서 펌웨어가 메모리를 성공적으로 복구한 것 또는 복구함에 실패한 것을 학습할 수 있다. 제1 결함 복구 응답에서 운반되는 복구 결과가 복구가 실패한 것일 때, 관리 모듈은 CPU의 하위-레이어 리소스가 불충분하다고 결정할 수 있고, 관리 모듈은 복구 요청을 OS 관리 유닛에 전송하여, 소프트웨어 격리 기술을 사용하여 결함 메모리를 복구하라고 OS 관리 유닛에 요청할 수 있다.
예를 들어, CPU의 하위-레이어 메모리의 여유 공간이 하나의 셀보다 작지만, 현재 메모리의 결함 특징 모드가 셀 결함 모드이면, 프로세서 펌웨어는 셀 격리 복구 기술을 사용하여 메모리를 성공적으로 복구할 수 없고, 프로세서 펌웨어는, 관리 모듈에, 복구가 실패한 현재 복구 결과를 전송한다. 프로세서 펌웨어에 의해 전송되는 복구 결과를 수신한 후, 관리 모듈은 결함 요청을 OS 관리 유닛에 전송하여, 소프트웨어 격리 기술을 사용하여 복구를 수행하라고 OS 관리 유닛에 요청할 수 있다.
선택적으로, 관리 모듈은 제1 결함 복구 응답에서 운반되는 복구 결과에 기초하여 메모리의 결함 심각도를 추가로 결정하고, 메모리의 결함 심각도가 높을 때 경고할 수 있다.
본 출원의 이러한 실시예에서 제공되는 메모리 결함 취급 방법에 따르면, 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것이 정확하다는 점이 이해될 수 있다. 또한, 하드웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 프로세서 펌웨어에게 통지하여, 프로세서 펌웨어는 대응하는 격리 및 교체 기술을 사용하고 하위-레이어 리소스를 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 또한, 프로세서 펌웨어가 메모리를 복구한 후, 프로세서 펌웨어는 복구 결과를 관리 모듈에 피드백하여, 결함 복구의 성공률이 추가로 개선될 수 있다.
본 출원의 실시예는, 관리 모듈과 OS 관리 유닛 사이의 상호작용에 관련되는, 메모리 결함 취급 방법을 추가로 제공한다. 도 7에 도시되는 바와 같이, 단계 S403에서 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정되면, 전술한 단계 S401 내지 단계 S403에 기초하여, 이러한 방법은 단계 S701 내지 단계 S706을 추가로 포함할 수 있다. 단계 S401 내지 단계 S403은 도 5에 도시되지 않는다.
S701: 관리 모듈이 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정하면, 관리 모듈이 제2 결함 복구 요청을 OS 관리 유닛에 전송함.
제2 결함 복구 요청은 OS 관리 유닛에게 메모리를 복구하라고 요청하기 위해 사용되고, 제2 결함 복구 요청은 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함한다. 즉, 관리 모듈은, OS 관리 유닛에, 메모리를 복구하기 위해 사용되는 소프트웨어 격리 복구 기술을 직접 전송할 수 있거나, 또는 메모리의 결함 특징 모드를 OS 관리 유닛에 전송할 수 있고, OS 관리 유닛은, 메모리의 결함 특징 모드에 기초하여, 메모리를 복구하기 위해 사용되는 소프트웨어 격리 복구 기술을 결정한다. 선택적으로, 관리 모듈은, OS 관리 유닛에, 메모리의 결함 특징 모드 및 메모리를 복구하기 위해 사용된 격리 복구 기술을 추가로 전송할 수 있어서, OS 관리 유닛이 격리 복구 기술에 기초하여 결함 메모리를 복구할 수 있다.
선택적으로, 관리 모듈에 의의해 OS 관리 유닛에 전송되는 제2 결함 복구 요청은 결함 영역의 어드레스 정보를 추가로 포함할 수 있다. 예를 들어, 메모리의 결함 특징 모드는 페이지 결함 모드이다. 페이지 결함 모드 외에도, 제2 결함 복구 요청은 결함 페이지에 관한 구체적인 정보를 추가로 포함할 수 있다.
예를 들어, 관리 모듈은 관리 모듈과 OS 관리 유닛 사이의 대역-외 관리 인터페이스를 통해 제2 결함 복구 요청을 OS 관리 유닛에 전송할 수 있다. 예를 들어, BMC가 소프트웨어 격리 기술을 사용하여 결함 메모리를 복구하기로 결정하면, BMC는 BMC와 OS 관리 유닛 사이의 통신 인터페이스를 통해 OS 관리 유닛에 제2 결함 복구 요청을 전송하여, 결함 메모리를 복구하라고 OS 관리 유닛에 요청할 수 있다.
S702: OS 관리 유닛이 관리 모듈로부터 제2 결함 복구 요청을 수신함.
예를 들어, OS 관리 유닛은 BMC로부터 제2 결함 요청을 수신할 수 있고, OS 관리 유닛은 제2 결함 복구 요청에 포함되는 결함 특징 모드에 기초하여 현재 메모리의 결함 타입을 학습한다. 다른 예를 들어, OS 관리 유닛은, 제2 결함 복구 요청에 포함되는 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여, 어느 복구 기술이 메모리를 복구하기 위해 사용되는지를 학습한다. 선택적으로, OS 관리 유닛은 제2 결함 복구 요청에 포함되는 결함 영역의 어드레스 정보에 기초하여 결함 영역의 구체적인 위치를 추가로 학습할 수 있다.
예를 들어, 제2 결함 복구 요청이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 포함할 때, 단계 S706은 단계 S701 및 단계 S702 이후에 계속 수행된다. 즉, OS 관리 유닛은 관리 모듈에 의해 전송되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
예를 들어, 제2 결함 복구 요청이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 포함하지 않을 때(예를 들어, 제2 결함 복구 요청이 메모리의 결함 특징 모드만을 단지 포함할 때), 단계 S703 내지 단계 S706은 단계 S701 및 단계 S702 이후에 계속 수행된다. 즉, OS 관리 유닛은, 관리 모듈에 의해 전송되는 메모리의 결함 특징 모드에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하고, 다음으로 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
(선택적임) S703: OS 관리 유닛이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정함.
구현에서, OS 관리 유닛이 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것은, OS 관리 유닛이, 메모리의 결함 특징 모드에 기초하여, 어느 소프트웨어 격리 복구 기술이 결함 메모리를 복구하기 위해 사용되는지를 결정하는 것을 포함할 수 있다. 즉, 이러한 구현에서, OS 관리 유닛은, 메모리의 결함 특징 모드에 기초하여, 어느 격리 복구 기술이 구체적으로 사용되는지 결정한다. 예를 들어, 메모리의 결함 특징 모드가 페이지 결함 모드일 때, OS 관리 유닛은 페이지 오프라인(Page offline)을 사용하여 결함 메모리를 복구하기로 결정할 수 있다.
다른 구현에서, OS 관리 유닛은, 관리 모듈에 의해 전송되는 제2 결함 복구 정보 테이블에 기초하여, 메모리를 복구하기 위해 사용되는 격리 복구 기술을 추가로 결정할 수 있다. 제2 결함 복구 정보 테이블은 결함 특징 모드 및 이러한 결함 특징 모드에 대응하는 하나 이상의 소프트웨어 격리 복구 기술을 표시하기 위해 사용된다. 즉, OS 관리 유닛은, 제2 결함 정보 테이블에 질의하는 것에 의해, 결함 특징 모드에 대해 사용될 수 있는 소프트웨어 격리 복구 기술을 학습할 수 있다.
예를 들어, 제2 결함 복구 정보 테이블에서의 결함 특징 모드는 페이지 페이지 결함 모드, 단일-비트 결함 모드, 셀 결함 모드, 행 결함 모드, 열 결함 모드, 뱅크 결함 모드, 디바이스 결함 모드, 랭크 결함 모드, 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 하나 이상을 포함할 수 있다.
예를 들어, 동일한 소프트웨어 격리 복구 기술이 제2 결함 복구 정보 테이블에서의 상이한 결함 특징 모드들에 대해 사용될 수 있다. 상이한 소프트웨어 격리 복구 기술들이 상이한 결함 특징 모드들에 대해 사용될 수 있다. 본 출원의 실시예에서, 각각의 결함 특징 모드에 대해 구체적으로 사용되는 소프트웨어 격리 복구 기술의 타입은 제한되지 않는다.
예를 들어, 하나의 소프트웨어 격리 복구 기술 또는 복수의 소프트웨어 격리 복구 기술들이 제2 결함 복구 정보 테이블에서의 하나의 결함 특징 모드에 대해 사용될 수 있다.
선택적으로, OS 관리 유닛이 제2 결함 복구 정보 테이블에 질의하여 메모리의 결함 특징 모드가 복수의 소프트웨어 격리 복구 기술들에 대응한다고 결정하면, OS 관리 유닛은 복수의 소프트웨어 격리 복구 기술들로부터 소프트웨어 격리 복구 기술을 결정할 수 있다.
선택적으로, OS 관리 유닛이, 관리 모듈에 의해 전송되는 제2 결함 복구 정보 테이블에 기초하여, 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 결정하면, 단계 S704 및 단계 S705는 단계 S703 전에 추가로 포함될 수 있다.
(선택적임) S704: 관리 모듈이 제2 결함 복구 정보 테이블을 OS 관리 유닛에 전송함.
선택적으로, 제2 결함 복구 정보 테이블은 제2 결함 복구 요청에서 운반될 수 있다.
(선택적임) S705: OS 관리 유닛이 제2 결함 복구 정보 테이블을 수신함.
단계 S704와 단계 S705 및 다른 단계들 사이의 실행 순서는 본 출원의 이러한 실시예에서 제한되지 않는다는 점이 이해될 수 있다. 도 7은 단지 예이다. 예를 들어, 단계 S704 및 단계 S705는 단계 S701 전에 또한 수행될 수 있다.
S706: OS 관리 유닛이 격리 복구 기술에 기초하여 메모리를 복구함.
예를 들어, OS 관리 유닛은 관리 모듈에 의해 전송되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있거나, 또는 단계 S703에서 OS 관리 유닛에 의해 결정되는 격리 복구 기술에 기초하여 메모리를 복구할 수 있다.
예를 들어, 관리 모듈에 의해 전송되는 격리 복구 기술은 페이지 오프라인 교체이다. OS 관리 유닛은 페이지 오프라인 교체 기술을 사용하여 결함 페이지를 격리할 수 있다.
본 출원의 이러한 실시예에서 제공되는 메모리 결함 취급 방법에 따르면, 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것이 정확하다는 점이 이해될 수 있다. 또한, 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 OS 관리 유닛에 통지하여, OS 관리 유닛은 대응하는 소프트웨어 격리 및 교체 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다.
선택적으로, 본 출원의 실시예는 메모리 결함 취급 방법을 추가로 제공한다. 도 8에 도시되는 바와 같이, 단계 S701 내지 단계 S706 후에, 단계 S707 및 단계 S708이 추가로 포함될 수 있다. 단계 S401 내지 단계 S403은 도 8에 도시되지 않는다.
S707: OS 관리 유닛이 관리 모듈에 제2 결함 복구 응답을 전송함.
제2 결함 복구 응답은 OS 관리 유닛이 메모리를 복구한 후에 획득되는 복구 결과를 운반한다. 예를 들어, 제2 결함 복구 응답은 OS 관리 유닛이 메모리를 성공적으로 복구하는 것을 운반하거나, 또는 제2 결함 복구 응답은 OS 관리 유닛이 메모리를 복구함에 실패하는 것을 운반한다.
예를 들어, OS 관리 유닛이 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 사용하여 메모리를 성공적으로 복구할 때, OS 관리 유닛에 의해 관리 모듈에 전송되는 복구 결과는 복구가 성공한다는 것이다. OS 관리 유닛이 메모리의 결함 특징 모드에 대응하는 격리 복구 기술을 사용하여 메모리를 복구함에 실패할 때, OS 관리 유닛에 의해 관리 모듈에 전송되는 복구 결과는 복구가 실패한다는 것이다.
S708: 관리 모듈이 제2 결함 복구 응답을 수신함.
예를 들어, 관리 모듈은, 제2 결함 복구 응답에서 운반되는 복구 결과에 기초하여, OS 관리 유닛이 메모리를 성공적으로 복구한 것 또는 복구함에 실패한 것을 학습할 수 있다.
선택적으로, 관리 모듈은 제2 결함 복구 응답에서의 복구 결과에 기초하여 메모리의 심각도를 결정할 수 있다. 예를 들어, 제2 결함 복구 응답에서 운반되는 복구 결과가 복구가 실패한다는 것일 때, 관리 모듈은 복구 결과에 기초하여 메모리의 결함 심각도를 추가로 결정하고, 메모리의 결함 심각도가 높을 때 경고할 수 있다.
본 출원의 이러한 실시예에서 제공되는 메모리 결함 취급 방법에 따르면, 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여, 메모리의 결함 특징 모드 또는 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 것이 정확하다는 점이 이해될 수 있다. 또한, 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 OS 관리 유닛에 통지하여, OS 관리 유닛은 대응하는 소프트웨어 격리 및 교체 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다.
예를 들어, 본 출원의 실시예는 메모리 결함 취급 방법을 추가로 제공한다. 도 9에 도시되는 바와 같이, 단계 S501 내지 단계 S508 및/또는 단계 S701 내지 단계 S708 후에, 단계 S901 및 단계 S902가 추가로 포함될 수 있다. 단계 S501 내지 단계 S508 및 단계 S701 내지 단계 S708은 도 9에 도시되지 않는다.
S901: 관리 모듈이 메모리의 결함 심각도를 결정함.
구현에서, 관리 모듈이 메모리의 결함 심각도를 결정하는 것은, 관리 모듈이 메모리의 에러 정보 및 메모리의 실행 상태 데이터에 기초하여 메모리의 결함 심각도를 결정하는 것을 포함할 수 있다.
다른 구현에서, 관리 모듈이 메모리의 결함 심각도를 결정하는 것은, 관리 모듈이 제1 결함 복구 응답 및 제2 결함 복구 응답 중 적어도 하나에 기초하여 메모리의 결함 심각도를 결정하는 것을 포함할 수 있다. 즉, 관리 모듈은 프로세서 펌웨어에 의해 피드백되는 복구 결과 및 OS 관리 유닛에 의해 피드백되는 복구 결과에 기초하여 메모리의 결함 심각도를 결정할 수 있다.
선택적으로, 관리 모듈은 메모리의 에러 정보, 메모리의 실행 상태 데이터, 제1 결함 복구 응답, 및 제2 결함 복구 응답 중 적어도 하나를 참조하여 메모리의 결함 심각도를 추가로 결정할 수 있다.
S902: 관리 모듈이 메모리의 결함 심각도가 미리 설정된 임계값을 초과할 때 상위-레이어 동작 및 유지보수 시스템에 경보 정보를 전송함.
경보 정보는 위험 평가 결과(예를 들어, 위험 레벨) 및 사전-경보 정보를 운반할 수 있다.
선택적으로, 경보 정보는 사용자에게 제 시간에 메모리 모듈을 교체하라고 프롬프트하기 위해 관리 모듈 상에 추가로 디스플레이될 수 있으며, 그렇게 함으로써 시스템 고장의 위험을 회피한다.
선택적으로, 관리 모듈은 메모리의 에러 정보, 메모리의 실행 상태 데이터, 제1 결함 복구 응답, 및 제2 결함 복구 응답에 기초하여 결함 예측을 추가로 수행하고, 메모리의 고장 위험 상태를 평가할 수 있다.
본 출원의 이러한 실시예에서 제공되는 메모리 결함 취급 방법에 따르면, 메모리의 상세 에러 정보에 기초하여 머신 학습 알고리즘을 사용하여, 메모리의 결함 특징 모드를 결정하는 것이 정확하다는 점이 이해될 수 있다. 또한, 소프트웨어 격리를 사용하여 메모리를 복구하기로 결정할 때, 관리 모듈은 OS 관리 유닛에 통지하여, OS 관리 유닛은 대응하는 소프트웨어 격리 및 교체 기술을 사용하여 결함 영역을 복구할 수 있다. 따라서, 결함 복구의 정확도가 높고, 시스템 고장의 확률이 감소될 수 있다. 또한, 메모리의 심각도를 평가하는 것에 의해, 메모리의 결함 심각도가 높을 때, 사용자에게 프롬프트하기 위해 메모리의 사전-경보 정보가 릴리즈될 수 있어, 시스템 고장의 위험을 회피한다.
전술한 내용은, 이러한 방법들의 단계들의 관점에서, 본 발명의 실시예들에서 제공되는 해결책들을 주로 설명한다. 전술한 기능들을 구현하기 위해, 이러한 기능들을 수행하기 위한 대응하는 하드웨어 구조들 및/또는 소프트웨어 모듈들을 컴퓨터가 포함한다는 점이 이해될 수 있다. 해당 분야에서의 기술자는, 본 명세서에 개시되는 실시예들에서 설명되는 예들의 유닛들 및 알고리즘 단계들과 조합하여, 본 출원이 하드웨어와 컴퓨터 소프트웨어의 조합에 의해 구현될 수 있다는 점을 쉽게 인식할 것이다. 해당 분야에서의 기술자는 각각의 특정 애플리케이션에 대해 설명되는 기능들을 구현하기 위해 상이한 방법들을 사용할 수 있지만, 이러한 구현이 본 발명의 범위를 벗어나는 것으로 고려되어서는 안 된다.
본 출원의 실시예들에서, 컴퓨터는 전술한 방법 예들에 기초하여 기능 모듈들로 분할될 수 있다. 예를 들어, 기능 모듈들은 대응하는 기능들에 기초하여 분할을 통해 획득될 수 있거나, 또는 2개 이상의 기능들이 하나의 처리 모듈에 통합될 수 있다. 통합된 모듈은 하드웨어의 형태로 구현될 수 있거나, 또는 소프트웨어 기능 모듈의 형태로 구현될 수 있다. 본 발명의 실시예들에서, 모듈들로의 분할은 예이고 단지 논리적 기능 분할이라는 점이 주목되어야 한다. 실제 구현 동안, 다른 분할 방식이 있을 수 있다.
도 10은 메모리 결함 취급 장치(1000)의 구조의 개략도이다. 이러한 메모리 결함 취급 장치는 전술한 실시예들에서의 관리 모듈일 수 있거나, 또는 전술한 관리 모듈에서의 칩일 수 있다. 메모리 결함 취급 장치(1000)는 전술한 실시예들 중 어느 하나에서의 관리 모듈의 방법 및 기능을 구현하도록 구성될 수 있다.
메모리 결함 취급 장치(1000)는 처리 유닛(1001) 및 송수신기 유닛(1002)을 포함한다. 예를 들어, 송수신기 유닛(1002)은, 전술한 실시예에서의 프로세서 펌웨어, OS 관리 유닛, 및 상위-레이어 동작 및 유지보수 시스템과 통신함에 있어서 관리 모듈을 지원하도록 구성될 수 있다. 처리 유닛(1001)은 관리 모듈의 액션을 제어 및 관리하도록 구성되고, 전술한 실시예에서의 관리 모듈에 의해 수행되는 처리를 수행하도록 구성된다. 선택적으로, 메모리 결함 취급 장치(1000)가 저장 유닛을 포함하면, 처리 유닛(1001)은 저장 유닛에 저장된 프로그램들 또는 명령어들을 추가로 실행할 수 있어서, 메모리 결함 취급 장치(1000)가 전술한 실시예들 중 어느 하나에서의 방법 및 기능들을 구현한다.
예를 들어, 처리 유닛(1001)은 도 4에서의 단계 S401 내지 단계 S403, 또는 도 9에서의 단계 S901 및 단계 S902, 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다. 송수신기 유닛(1002)은, 예를 들어, 도 5에서의 단계 S501 및 단계 S504, 또는 도 6에서의 단계 S508, 또는 도 7에서의 단계 S701 및 단계 S704, 또는 도 8에서의 단계 S708, 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다(예를 들어, 송수신기 유닛(1002)은 센서에 의해 검출되는 메모리의 실행 상태 데이터를 수신하도록 추가로 구성될 수 있다). 전술한 방법 실시예들에서의 단계들의 모든 관련 내용은 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 상세사항들이 본 명세서에서 다시 설명되지는 않는다.
예를 들어, 하드웨어 구현에서, 하나의 프로세서는 처리 유닛(1001)의 기능을 수행할 수 있고, 송수신기(송신기/수신기) 및/또는 통신 인터페이스는 송수신기 유닛(1002)의 기능을 수행할 수 있다. 처리 유닛(1001)은 하드웨어 형태로 메모리 결함 취급 장치(1000)의 프로세서에 내장되거나 또는 이와 독립적일 수 있거나, 또는 소프트웨어 형태로 메모리 결함 취급 장치(1000)의 스토리지에 저장될 수 있어서, 프로세서가 각각의 기능 유닛에 대응하는 동작을 호출하고 수행한다.
도 11은 메모리 결함 취급 장치(1100)의 구조의 개략도이다. 이러한 메모리 결함 취급 장치는 전술한 프로세서 펌웨어일 수 있거나, 또는 전술한 프로세서 펌웨어에서의 칩일 수 있다. 메모리 결함 취급 장치(1100)는 전술한 실시예들 중 어느 하나에서의 프로세서 펌웨어의 방법 및 기능을 구현하도록 구성될 수 있다.
메모리 결함 취급 장치(1100)는 처리 유닛(1101) 및 송수신기 유닛(1102)을 포함한다. 예를 들어, 송수신기 유닛(1102)은 전술한 실시예에서의 프로세서 펌웨어와 관리 모듈 사이의 통신을 지원하도록 구성될 수 있다. 처리 유닛(1101)은 프로세서 펌웨어의 액션을 제어하고 관리하도록 구성되고, 전술한 실시예에서의 프로세서 펌웨어에 의해 수행되는 처리를 수행하도록 구성된다. 선택적으로, 메모리 결함 취급 장치(1100)가 저장 유닛을 포함하면, 처리 유닛(1101)은 저장 유닛에 저장된 프로그램들 또는 명령어들을 추가로 실행할 수 있어서, 메모리 결함 취급 장치(1100)가 전술한 실시예들 중 어느 하나에서의 방법 및 기능들을 구현한다.
예를 들어, 처리 유닛(1101)은, 예를 들어, 메모리의 에러 정보를 검출하도록, 또는 도 5에서의 단계 S503 및 단계 S506을 수행하도록, 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다. 송수신기 유닛(1102)은, 예를 들어, 메모리의 에러 정보를 관리 모듈에 전송하도록, 또는 도 5에서의 단계 S502 및 단계 S505, 또는 도 6에서의 단계 S502, 단계 S505, 및 단계 S507을 수행하도록, 또는 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다. 전술한 방법 실시예들에서의 단계들의 모든 관련 내용은 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 상세사항들이 본 명세서에서 다시 설명되지는 않는다.
예를 들어, 하드웨어 구현에서, 하나의 프로세서는 처리 유닛(1101)의 기능을 수행할 수 있고, 송수신기(송신기/수신기) 및/또는 통신 인터페이스는 송수신기 유닛(1102)의 기능을 수행할 수 있다. 처리 유닛(1101)은 하드웨어 형태로 메모리 결함 취급 장치(1100)의 프로세서에 내장되거나 또는 이와 독립적일 수 있거나, 또는 소프트웨어 형태로 메모리 결함 취급 장치(1100)의 스토리지에 저장될 수 있어서, 프로세서가 각각의 기능 유닛에 대응하는 동작을 호출하고 수행한다.
도 12는 메모리 결함 취급 장치(1200)의 구조의 개략도이다. 메모리 결함 취급 장치는 OS 관리 유닛일 수 있다. 메모리 결함 취급 장치(1200)는 전술한 실시예들 중 어느 하나에서의 OS 관리 유닛의 방법 및 기능을 구현하도록 구성될 수 있다.
메모리 결함 취급 장치(1200)는 처리 유닛(1201) 및 송수신기 유닛(1202)을 포함한다. 예를 들어, 송수신기 유닛(1202)은 전술한 실시예에서의 OS 관리 유닛와 관리 모듈 사이의 통신을 지원하도록 구성될 수 있다. 처리 유닛(1201)은 OS 관리 유닛의 액션을 제어하고 관리하도록 구성되고, 전술한 실시예에서의 OS 관리 유닛에 의해 수행되는 처리를 수행하도록 구성된다. 선택적으로, 메모리 결함 취급 장치(1200)가 저장 유닛을 포함하면, 처리 유닛(1201)은 저장 유닛에 저장된 프로그램들 또는 명령어들을 추가로 실행할 수 있어서, 메모리 결함 취급 장치(1200)가 전술한 실시예들 중 어느 하나에서의 방법 및 기능들을 구현한다.
예를 들어, 처리 유닛(1201)은, 예를 들어, 도 7에서의 단계 S703 및 단계 S706, 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다. 송수신기 유닛(1202)은 도 7에서의 단계 S702 및 단계 S705, 또는 도 8에서의 단계 S702, 단계 S705, 및 단계 S707, 및/또는 본 명세서에서 설명되는 기술에 대해 사용되는 다른 프로세스를 수행하도록 구성될 수 있다. 전술한 방법 실시예들에서의 단계들의 모든 관련 내용은 대응하는 기능 모듈들의 기능 설명들에서 인용될 수 있다. 상세사항들이 본 명세서에서 다시 설명되지는 않는다.
예를 들어, 하드웨어 구현에서, 하나의 프로세서는 처리 유닛(1201)의 기능을 수행할 수 있고, 송수신기(송신기/수신기) 및/또는 통신 인터페이스는 송수신기 유닛(1202)의 기능을 수행할 수 있다. 처리 유닛(1201)은 하드웨어 형태로 메모리 결함 취급 장치(1200)의 프로세서에 내장되거나 또는 이와 독립적일 수 있거나, 또는 소프트웨어 형태로 메모리 결함 취급 장치(1200)의 스토리지에 저장될 수 있어서, 프로세서가 각각의 기능 유닛에 대응하는 동작을 호출하고 수행한다.
본 출원의 실시예는 메모리 결함 취급 장치를 추가로 제공한다. 이러한 메모리 결함 취급 장치는 프로세서를 포함하고, 송수신기 및 스토리지를 추가로 포함할 수 있다. 송수신기는 정보를 송신 및 수신하도록 구성되거나, 또는 다른 통신 디바이스와 통신하도록 구성된다. 스토리지는 컴퓨터-실행가능 명령어들을 저장하도록 구성된다. 프로세서는 컴퓨터-실행가능 명령어들을 실행하여, 도 4 내지 도 9에서의 실시예들 중 어느 하나에서의 메모리 결함 취급 방법을 구현함에 있어서 관리 모듈을 지원하도록 구성된다.
본 출원의 실시예는 컴퓨터-판독가능 저장 매체를 추가로 제공한다. 이러한 컴퓨터-판독가능 저장 매체는 명령어들을 저장한다. 이러한 명령어들이 컴퓨터 상에서 실행될 때, 이러한 컴퓨터는 도 4 내지 도 9에서의 실시예들 중 어느 하나에 따른 메모리 결함 취급 방법을 수행하는 것이 가능하게 된다.
본 출원의 실시예는 컴퓨터 프로그램 제품을 추가로 제공한다. 이러한 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때, 이러한 컴퓨터는 도 4 내지 도 9의 실시예들 중 어느 하나에서의 메모리 결함 취급 방법을 수행하는 것이 가능하게 된다.
본 출원의 실시예는 메모리 결함 취급 장치를 추가로 제공한다. 이러한 장치는 칩의 제품 형태로 존재할 수 있다. 이러한 장치의 구조는 프로세서 및 인터페이스 회로를 포함한다. 이러한 프로세서는 수신기 회로를 사용하여 다른 장치와 통신하도록 구성되어, 이러한 장치는 도 4 내지 도 9에서의 실시예들 중 어느 하나에서의 메모리 결함 취급 방법을 수행한다.
본 출원의 실시예는, 관리 모듈 및 프로세서 펌웨어를 포함하는, 메모리 결함 취급 시스템을 추가로 제공한다. 이러한 관리 모듈 및 프로세서 펌웨어는 도 5 또는 도 6에서의 메모리 결함 취급 방법을 수행할 수 있다.
본 출원의 실시예는, 관리 모듈 및 OS 관리 유닛을 포함하는, 메모리 결함 취급 시스템을 추가로 제공한다. 이러한 관리 모듈 및 OS 관리 유닛은 도 7 또는 도 8에서의 메모리 결함 취급 방법을 수행할 수 있다.
본 출원의 실시예는, 관리 모듈, 프로세서 펌웨어, 및 OS 관리 유닛을 포함하는, 메모리 결함 취급 시스템을 추가로 제공한다. 이러한 관리 모듈, 프로세서 펌웨어, 및 OS 관리 유닛은 도 4 내지 도 9에 도시되는 실시예들 중 어느 하나에서의 메모리 결함 취급 방법을 수행할 수 있다.
본 출원에 개시되는 내용과 조합하여 설명되는 방법 또는 알고리즘 단계들은 하드웨어에 의해 구현될 수 있거나, 또는 소프트웨어 명령어들을 실행하는 것에 의해 프로세서에 의해 구현될 수 있다. 이러한 소프트웨어 명령어들은 대응하는 소프트웨어 모듈을 포함할 수 있다. 이러한 소프트웨어 모듈은 랜덤 액세스 메모리(Random Access Memory, RAM), 플래시 메모리, 소거가능한 프로그램가능 판독-전용 메모리(Erasable Programmable ROM, EPROM), 전기적으로 소거가능한 프로그램가능 판독-전용 메모리(Electrically EPROM, EEPROM), 레지스터, 하드 디스크, 이동식 하드 디스크, CD-ROM(compact disc read-only memory), 또는 해당 분야에 잘 알려진 임의의 다른 형태의 저장 매체에 저장될 수 있다. 예를 들어, 저장 매체는 프로세서에 연결되어, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기입할 수 있다. 물론, 저장 매체는 프로세서의 컴포넌트일 수 있다. 프로세서 및 저장 매체는 ASIC에 배치될 수 있다. 또한, ASIC는 코어 네트워크 인터페이스 디바이스에서 발견될 수 있다. 물론, 프로세서 및 저장 매체는 이산 컴포넌트들로서 코어 네트워크 인터페이스 디바이스에 존재할 수 있다.
해당 분야에서의 기술자는 전술한 하나 이상의 예에서, 본 발명에서 설명되는 기능들이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 구현될 수 있다는 점을 인식할 것이다. 이러한 기능들이 소프트웨어에 의해 구현될 때, 전술한 기능들은 컴퓨터-판독가능 매체에 저장되거나 또는 컴퓨터-판독가능 매체에서의 하나 이상의 명령어 또는 코드로서 송신될 수 있다. 이러한 컴퓨터-판독가능 매체는 컴퓨터-판독가능 저장 매체 및 통신 매체를 포함하고, 이러한 통신 매체는 하나의 장소에서 다른 것으로의 컴퓨터 프로그램의 송신을 용이하게 하는 임의의 매체를 포함한다. 이러한 저장 매체는 범용 또는 전용 컴퓨터에 액세스가능한 임의의 이용가능한 매체일 수 있다.
본 발명의 목적들, 기술적 해결책들, 및 이점들이 전술한 구체적인 실시예들에서 상세히 추가로 설명된다. 전술한 설명들은 단지 본 발명의 구체적인 실시예들일 뿐이며, 본 발명의 보호 범위를 제한하려고 의도되는 것은 아니라는 점이 이해되어야 한다. 본 발명의 기술적 해결책들에 기초하여 이루어지는 임의의 수정, 등가의 교체, 또는 개선은 본 발명의 보호 범위 내에 속할 것이다.

Claims (42)

  1. 메모리 결함 취급 방법으로서, 상기 방법은,
    관리 모듈에 의해, 메모리의 에러 정보를 획득하는 단계;
    머신 학습 알고리즘을 사용하여 상기 메모리의 에러 정보에 기초하여 상기 관리 모듈에 의해, 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 단계; 및
    상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술에 기초하여 상기 관리 모듈에 의해, 하드웨어 격리 또는 소프트웨어 격리 중 적어도 하나를 사용하여 상기 메모리를 복구하기로 결정하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 메모리의 에러 정보는 정정된 에러 CE의 상태, 상기 CE의 발생 시간, CE들의 수량, 상기 CE의 물리 어드레스 정보, 정정되지 않은 에러의 상태, 상기 정정되지 않은 에러의 발생 시간, 정정되지 않은 에러들의 수량, 상기 정정되지 않은 에러의 물리 어드레스 정보, 메모리 패트롤 에러들의 수량, 상기 메모리 패트롤 에러의 행 어드레스, 상기 메모리 패트롤 에러의 열 어드레스, 및 최대 수량의 메모리 패트롤 에러들을 갖는 행 어드레스 중 적어도 하나를 포함하고; 상기 CE의 물리 어드레스 정보는 상기 메모리에서의 상기 CE의 물리 위치를 표시하기 위해 사용되고; 상기 정정되지 않은 에러의 물리 어드레스 정보는 상기 메모리에서의 상기 정정되지 않은 에러의 물리 위치를 표시하기 위해 사용되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 결함 특징 모드는 페이지 페이지 결함 모드, 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 메모리의 실행 상태 데이터를 획득하는 단계- 상기 메모리의 실행 상태 데이터는 CPU 사용량 정보, 온도 정보, 실행 프로그램 정보, 및 메모리 건강 상태 정보 중 적어도 하나를 포함하는 방법.
  5. 제4항에 있어서, 머신 학습 알고리즘을 사용하여 상기 메모리의 에러 정보에 기초하여 상기 관리 모듈에 의해, 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 단계는,
    상기 머신 학습 알고리즘을 사용하여 상기 메모리의 에러 정보 및 상기 메모리의 실행 상태 데이터에 기초하여 상기 관리 모듈에 의해, 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 단계를 포함하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈이 하드웨어 격리를 사용하여 상기 메모리를 복구하기로 결정하면, 상기 관리 모듈에 의해, 제1 결함 복구 요청을 프로세서 펌웨어에 전송하는 단계- 상기 제1 결함 복구 요청은 상기 프로세서 펌웨어에게 상기 메모리를 복구하라고 요청하기 위해 사용되고, 상기 제1 결함 복구 요청은 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함함 -를 포함하는 방법.
  7. 제6항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 프로세서 펌웨어로부터 제1 결함 복구 응답을 수신하는 단계- 상기 제1 결함 복구 응답은 상기 프로세서 펌웨어가 상기 메모리를 복구한 후에 획득되는 복구 결과를 운반함 -를 포함하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 프로세서 펌웨어에 제1 결함 복구 정보 테이블을 전송하는 단계- 상기 제1 결함 복구 정보 테이블은 결함 특징 모드 및 상기 결함 특징 모드에 대응하는 하나 이상의 하드웨어 격리 복구 기술을 표시하기 위해 사용됨 -를 포함하는 방법.
  9. 제8항에 있어서, 상기 하드웨어 격리 복구 기술은 비트 비트 격리 및 교체, 셀 격리 및 교체, 행 행 격리 및 교체, 열 열 격리 및 교체, 뱅크 격리 및 교체, 디바이스 디바이스 격리 및 교체, 랭크 격리 및 교체, 채널 채널 격리 및 교체, 단일 디바이스 데이터 정정 SDDC, 단일 디바이스 에러 정정 SDEC, 적응형 이중 디바이스 데이터 정정-다중 영역 ADDDC-MR, 적응형 데이터 정정-단일 영역 ADC-SR, 적응형 이중 디바이스 에러 정정 ADDEC, 부분 캐시 라인 스페어링 PCLS, 적응형 캐시 라인 스페어링 ACLS, 하드웨어 사후-패키지 복구 hPPR, 소프트웨어 사후-패키지 복구 sPPR, 사후-패키지 복구 PPR, 또는 상기 메모리의 구체적인 어드레스 범위를 교체하기 위한 하드웨어 격리 복구 기술 중 적어도 하나를 포함하는 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 프로세서 펌웨어는 펌웨어, 기본 입력/출력 시스템 BIOS, 관리 엔진 ME, 또는 지능형 관리 유닛 IMU를 포함하는 방법.
  11. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈이 소프트웨어 격리를 사용하여 상기 메모리를 복구하기로 결정하면, 상기 관리 모듈에 의해, 제2 결함 복구 요청을 운영 체제 OS 관리 유닛에 전송하는 단계- 상기 제2 결함 복구 요청은 상기 OS 관리 유닛에게 상기 메모리를 복구하라고 요청하기 위해 사용되고, 상기 제2 결함 복구 요청은 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함함 -를 포함하는 방법.
  12. 제11항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 OS 관리 유닛으로부터 제2 결함 복구 응답을 수신하는 단계- 상기 제2 결함 복구 응답은 상기 OS 관리 유닛이 상기 메모리를 복구한 후에 획득되는 복구 결과를 운반함 -를 포함하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 OS 관리 유닛에 제2 결함 복구 정보 테이블을 전송하는 단계- 상기 제2 결함 복구 정보 테이블은 결함 특징 모드 및 상기 결함 특징 모드에 대응하는 하나 이상의 소프트웨어 격리 복구 기술을 표시하기 위해 사용됨 -를 포함하는 방법.
  14. 제13항에 있어서, 상기 소프트웨어 격리 복구 기술은 페이지 오프라인, 어드레스 격리, 프로세스 격리, 또는 상기 메모리의 구체적인 어드레스 범위를 교체하기 위한 소프트웨어 격리 복구 기술 중 적어도 하나를 포함하는 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 OS 관리 유닛은 OS에 내장되는 시스템 관리 유닛 또는 OS에 설치되는 디바이스 관리 에이전트 프로그램인 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 머신 학습 알고리즘을 사용하여 상기 메모리의 에러 정보에 기초하여 상기 관리 모듈에 의해, 상기 메모리의 결함 특징 모드를 결정하는 단계는,
    상기 관리 모듈에 의해, 상기 머신 학습 알고리즘을 사용하여 상기 메모리의 에러 정보 및 결함 예측 모델에 기초하여 상기 메모리의 결함 특징 모드를 결정하는 단계- 상기 결함 예측 모델은 상기 메모리의 결함 특징 모드를 예측하기 위해 사용됨 -를 포함하는 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 관리 모듈에 의해, 상기 메모리의 결함 심각도를 결정하는 단계; 및
    상기 관리 모듈에 의해, 상기 메모리의 결함 심각도가 미리 설정된 임계값을 초과할 때 상위-레이어 동작 및 유지보수 시스템에 경보 정보를 전송하는 단계를 포함하는 방법.
  18. 제17항에 있어서, 상기 관리 모듈에 의해, 상기 메모리의 결함 심각도를 결정하는 단계는,
    상기 관리 모듈에 의해, 상기 제1 결함 복구 응답 및 상기 제2 결함 복구 응답 중 적어도 하나에 기초하여 상기 메모리의 결함 심각도를 결정하는 단계를 포함하는 방법.
  19. 제17항에 있어서, 상기 관리 모듈에 의해, 상기 메모리의 결함 심각도를 결정하는 단계는,
    상기 관리 모듈에 의해, 상기 메모리의 에러 정보 및 상기 메모리의 실행 상태 데이터에 기초하여 상기 메모리의 결함 심각도를 결정하는 단계를 포함하는 방법.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 관리 모듈은 비-서비스 모듈의 관리 유닛이고, 상기 관리 모듈은 실행 상태에 대한 관리 유닛, 프로세서에 내장되는 관리 유닛, 상기 프로세서 외부의 관리 칩에서의 관리 시스템, 서버 베이스보드 관리 제어기 BMC, 시스템 관리 모듈 SMM, 또는 상기 OS에서의 디바이스 관리 시스템을 포함하는 방법.
  21. 메모리 결함 취급 방법으로서, 상기 방법은,
    프로세서 펌웨어에 의해, 상기 메모리의 에러 정보를 관리 모듈에 전송하는 단계;
    상기 프로세서 펌웨어에 의해, 상기 관리 모듈로부터 제1 결함 복구 요청을 수신하는 단계- 상기 제1 결함 복구 요청은 상기 프로세서 펌웨어에게 상기 메모리를 복구하라고 요청하기 위해 사용되고, 상기 제1 결함 복구 요청은 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함함 -; 및
    상기 프로세서 펌웨어에 의해, 상기 격리 복구 기술에 기초하여 상기 메모리를 복구하는 단계를 포함하는 방법.
  22. 제21항에 있어서, 상기 메모리의 에러 정보는 정정된 에러 CE의 상태, 상기 CE의 발생 시간, CE들의 수량, 상기 CE의 물리 어드레스 정보, 정정되지 않은 에러의 상태, 상기 정정되지 않은 에러의 발생 시간, 정정되지 않은 에러들의 수량, 상기 정정되지 않은 에러의 물리 어드레스 정보, 메모리 패트롤 에러들의 수량, 메모리 패트롤 에러의 행 어드레스, 상기 메모리 패트롤 에러의 열 어드레스, 및 최대 수량의 메모리 패트롤 에러들을 갖는 행 어드레스 중 적어도 하나를 포함하고; 상기 CE의 물리 어드레스 정보는 상기 메모리에서의 상기 CE의 물리 위치를 표시하기 위해 사용되고; 상기 정정되지 않은 에러의 물리 어드레스 정보는 상기 메모리에서의 상기 정정되지 않은 에러의 물리 위치를 표시하기 위해 사용되는 방법.
  23. 제21항 또는 제22항에 있어서, 상기 결함 특징 모드는 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함하는 방법.
  24. 제21항 내지 제23항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 프로세서 펌웨어에 의해, 상기 관리 모듈에 제1 결함 복구 응답을 전송하는 단계- 상기 제1 결함 복구 응답은 상기 프로세서 펌웨어가 상기 메모리를 복구한 후에 획득되는 복구 결과를 운반함 -를 포함하는 방법.
  25. 제21항 내지 제24항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 프로세서 펌웨어에 의해, 상기 관리 모듈로부터 제1 결함 복구 정보 테이블을 수신하는 단계- 상기 제1 결함 복구 정보 테이블은 결함 특징 모드 및 상기 결함 특징 모드에 대응하는 하나 이상의 하드웨어 격리 복구 기술을 표시하기 위해 사용됨 -를 포함하는 방법.
  26. 제25항에 있어서, 상기 하드웨어 격리 복구 기술은 비트 비트 격리 및 교체, 셀 격리 및 교체, 행 행 격리 및 교체, 열 열 격리 및 교체, 뱅크 격리 및 교체, 디바이스 디바이스 격리 및 교체, 랭크 격리 및 교체, 채널 채널 격리 및 교체, 단일 디바이스 데이터 정정 SDDC, 단일 디바이스 에러 정정 SDEC, 적응형 이중 디바이스 데이터 정정-다중 영역 ADDDC-MR, 적응형 데이터 정정-단일 영역 ADC-SR, 적응형 이중 디바이스 에러 정정 ADDEC, 부분 캐시 라인 스페어링 PCLS, 적응형 캐시 라인 스페어링 ACLS, 하드웨어 사후-패키지 복구 hPPR, 소프트웨어 사후-패키지 복구 sPPR, 사후-패키지 복구 PPR, 또는 상기 메모리의 구체적인 어드레스 범위를 교체하기 위한 하드웨어 격리 복구 기술 중 적어도 하나를 포함하는 방법.
  27. 제25항 또는 제26항에 있어서, 상기 방법은 추가로,
    상기 메모리의 결함 특징 모드 및 상기 제1 결함 복구 정보 테이블에 기초하여 상기 프로세서 펌웨어에 의해, 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 단계를 포함하는 방법.
  28. 제21항 내지 제27항 중 어느 한 항에 있어서, 상기 프로세서 펌웨어는 펌웨어, 기본 입력/출력 시스템 BIOS, 관리 엔진 ME, 또는 지능형 관리 유닛 IMU를 포함하는 방법.
  29. 제21항 내지 제28항 중 어느 한 항에 있어서, 상기 관리 모듈은 비-서비스 모듈의 관리 유닛이고, 상기 관리 모듈은 실행 상태에 대한 관리 유닛, 프로세서에 내장되는 관리 유닛, 상기 프로세서 외부의 관리 칩에서의 관리 시스템, 서버 베이스보드 관리 제어기 BMC, 시스템 관리 모듈 SMM, 또는 상기 OS에서의 디바이스 관리 시스템을 포함하는 방법.
  30. 메모리 결함 취급 방법으로서, 상기 방법은,
    운영 체제 OS 관리 유닛에 의해, 관리 모듈로부터 제2 결함 복구 요청을 수신하는 단계- 상기 제2 결함 복구 요청은 상기 OS 관리 유닛에게 상기 메모리를 복구하라고 요청하기 위해 사용되고, 상기 제2 결함 복구 요청은 상기 메모리의 결함 특징 모드 또는 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술 중 적어도 하나를 포함함 -; 및
    상기 OS 관리 유닛에 의해, 상기 격리 복구 기술에 기초하여 상기 메모리를 복구하는 단계를 포함하는 방법.
  31. 제30항에 있어서, 상기 결함 특징 모드는 페이지 페이지 결함 모드, 단일-비트 비트 결함 모드, 셀 결함 모드, 행 행 결함 모드, 열 열 결함 모드, 뱅크 결함 모드, 디바이스 디바이스 결함 모드, 랭크 결함 모드, 채널 채널 결함 모드, 듀얼 인-라인 메모리 모듈 DIMM 결함 모드, 소량의 연속 에러들이 발생하는 결함 모드, 및 단기간에 대량의 에러들이 발생하는 결함 모드 중 적어도 하나를 포함하는 방법.
  32. 제30항 또는 제31항에 있어서, 상기 방법은 추가로,
    상기 OS 관리 유닛에 의해, 상기 관리 모듈에 제2 결함 복구 응답을 전송하는 단계- 상기 제2 결함 복구 응답은 상기 OS 관리 유닛이 상기 메모리를 복구한 후에 획득되는 복구 결과를 운반함 -를 포함하는 방법.
  33. 제30항 내지 제32항 중 어느 한 항에 있어서, 상기 방법은 추가로,
    상기 OS 관리 유닛에 의해, 상기 관리 모듈로부터 제2 결함 복구 정보 테이블을 수신하는 단계- 상기 제2 결함 복구 정보 테이블은 결함 특징 모드 및 상기 결함 특징 모드에 대응하는 하나 이상의 소프트웨어 격리 복구 기술을 표시하기 위해 사용됨 -를 포함하는 방법.
  34. 제33항에 있어서, 상기 소프트웨어 격리 복구 기술은 페이지 오프라인, 어드레스 격리, 프로세스 격리, 또는 상기 메모리의 구체적인 어드레스 범위를 교체하기 위한 소프트웨어 격리 복구 기술 중 적어도 하나를 포함하는 방법.
  35. 제33항 또는 제34항에 있어서, 상기 방법은 추가로,
    상기 메모리의 결함 특징 모드 및 상기 제2 결함 복구 정보 테이블에 기초하여 상기 OS 관리 유닛에 의해, 상기 메모리를 복구하기 위해 사용되는 격리 복구 기술을 결정하는 단계를 포함하는 방법.
  36. 제30항 내지 제35항 중 어느 한 항에 있어서, 상기 OS 관리 유닛은 OS에 내장되는 시스템 관리 유닛 또는 OS에 설치되는 디바이스 관리 에이전트 프로그램인 방법.
  37. 제30항 내지 제36항 중 어느 한 항에 있어서, 상기 관리 모듈은 비-서비스 모듈의 관리 유닛이고, 상기 관리 모듈은 실행 상태에 대한 관리 유닛, 프로세서에 내장되는 관리 유닛, 상기 프로세서 외부의 관리 칩에서의 관리 시스템, 서버 베이스보드 관리 제어기 BMC, 시스템 관리 모듈 SMM, 또는 상기 OS에서의 디바이스 관리 시스템을 포함하는 방법.
  38. 메모리 결함 취급 장치로서, 상기 장치는 제1항 내지 제20항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하기 위한 유닛 또는 수단을 포함하는 장치.
  39. 메모리 결함 취급 장치로서, 상기 장치는 제21항 내지 제29항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하기 위한 유닛 또는 수단을 포함하는 장치.
  40. 메모리 결함 취급 장치로서, 상기 장치는 제30항 내지 제37항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하기 위한 유닛 또는 수단을 포함하는 장치.
  41. 메모리 결함 취급 시스템으로서, 상기 시스템은 관리 모듈, 프로세서 펌웨어 및 OS 관리 유닛을 포함하고, 상기 관리 모듈은 제1항 내지 제20항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하도록 구성되고, 상기 프로세서 펌웨어는 제21항 내지 제29항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하도록 구성되고, 상기 OS 관리 유닛은 제30항 내지 제37항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하도록 구성되는 시스템.
  42. 컴퓨터-판독가능 저장 매체로서, 상기 컴퓨터-판독가능 저장 매체는 컴퓨터 프로그램 코드를 포함하고, 상기 컴퓨터 프로그램 코드가 프로세서상에서 실행될 때, 상기 프로세서는 제1항 내지 제37항 중 어느 한 항에 따른 메모리 결함 취급 방법을 수행하는 것이 가능하게 되는 컴퓨터-판독가능 저장 매체.
KR1020237006445A 2020-08-05 2021-07-12 메모리 고장 처리 방법 및 장치 KR20230041103A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN202010778351 2020-08-05
CN202010778351.0 2020-08-05
CN202010839242.5A CN114064333A (zh) 2020-08-05 2020-08-19 一种内存故障处理方法和装置
CN202010839242.5 2020-08-19
PCT/CN2021/105645 WO2022028209A1 (zh) 2020-08-05 2021-07-12 一种内存故障处理方法和装置

Publications (1)

Publication Number Publication Date
KR20230041103A true KR20230041103A (ko) 2023-03-23

Family

ID=80116935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237006445A KR20230041103A (ko) 2020-08-05 2021-07-12 메모리 고장 처리 방법 및 장치

Country Status (4)

Country Link
US (1) US20230185659A1 (ko)
EP (1) EP4180959A4 (ko)
KR (1) KR20230041103A (ko)
WO (1) WO2022028209A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046061A (zh) * 2019-03-01 2019-07-23 华为技术有限公司 内存错误处理方法和装置
US20220147267A1 (en) * 2020-11-10 2022-05-12 Micron Technology, Inc. ERROR INJECTION METHODS USING SOFT POST-PACKAGE REPAIR (sPPR) TECHNIQUES AND MEMORY DEVICES AND MEMORY SYSTEMS EMPLOYING THE SAME
CN115052042B (zh) * 2022-06-07 2023-05-26 成都北中网芯科技有限公司 一种高性能多通道共享缓存的实现方法
CN115080331A (zh) * 2022-07-09 2022-09-20 超聚变数字技术有限公司 故障处理方法及计算设备
CN116126581B (zh) * 2023-04-10 2023-09-01 阿里云计算有限公司 内存故障处理方法、装置、系统、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713350B2 (en) * 2009-12-08 2014-04-29 Hewlett-Packard Development Company, L.P. Handling errors in a data processing system
CN103167004A (zh) * 2011-12-15 2013-06-19 中国移动通信集团上海有限公司 云平台主机系统故障修复方法及云平台前端控制服务器
US9430324B2 (en) * 2013-05-24 2016-08-30 Rambus Inc. Memory repair method and apparatus based on error code tracking
CN105975377B (zh) * 2016-04-29 2018-05-25 浪潮电子信息产业股份有限公司 一种监控内存的方法及装置
CN106293984A (zh) * 2016-08-11 2017-01-04 浪潮(北京)电子信息产业有限公司 一种计算机故障自动处理方式以及装置
KR20210058750A (ko) * 2018-09-15 2021-05-24 인텔 코포레이션 메모리의 런타임 셀 행 교체
CN109658975B (zh) * 2018-11-02 2019-12-03 北京大学 一种面向纠删码的主动数据修复方法及系统
CN111078479B (zh) * 2019-09-26 2021-09-07 腾讯科技(深圳)有限公司 一种内存检测模型训练的方法、内存检测的方法及装置

Also Published As

Publication number Publication date
EP4180959A1 (en) 2023-05-17
US20230185659A1 (en) 2023-06-15
WO2022028209A1 (zh) 2022-02-10
EP4180959A4 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
KR20230041103A (ko) 메모리 고장 처리 방법 및 장치
CN114064333A (zh) 一种内存故障处理方法和装置
KR101615833B1 (ko) 데이터 신뢰성을 검출하기 위한 방법 및 장치
CN109656896B (zh) 故障修复方法、装置及分布式存储系统和存储介质
US11709745B2 (en) Method for a reliability, availability, and serviceability-conscious huge page support
CN104685474A (zh) 包括不可纠正的错误的地址范围的通知
CN111625387B (zh) 内存错误处理方法、装置及服务器
Du et al. Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data
CN114968652A (zh) 故障处理方法及计算设备
CN115016963A (zh) 内存页隔离方法、内存监控系统及计算机可读存储介质
CN112667422A (zh) 内存故障处理方法及装置、计算设备、存储介质
CN115168087A (zh) 一种确定内存故障的修复资源粒度的方法及装置
CN111221775B (zh) 处理器、缓存处理方法及电子设备
CN114996065A (zh) 内存故障预测方法、装置及设备
Zhang et al. Predicting dram-caused node unavailability in hyper-scale clouds
WO2024027325A1 (zh) 内存故障处理方法、装置和存储介质
Yu et al. Himfp: Hierarchical intelligent memory failure prediction for cloud service reliability
CN108964992B (zh) 一种节点故障检测方法、装置和计算机可读存储介质
US11734093B2 (en) Storage device block-level failure prediction-based data placement
CN115421947A (zh) 内存故障处理方法、装置和存储介质
CN113312276B (zh) 用于动态磨损均衡和负载重定向的方法和固态驱动器系统
US20220019375A1 (en) Abnormal condition detection based on temperature monitoring of memory dies of a memory sub-system
CN115269245B (zh) 一种内存故障处理方法及计算设备
CN115391075A (zh) 内存故障处理方法、系统及存储介质
WO2021103304A1 (zh) 一种数据回传方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination