KR20240065183A - 메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체 - Google Patents

메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체 Download PDF

Info

Publication number
KR20240065183A
KR20240065183A KR1020247014345A KR20247014345A KR20240065183A KR 20240065183 A KR20240065183 A KR 20240065183A KR 1020247014345 A KR1020247014345 A KR 1020247014345A KR 20247014345 A KR20247014345 A KR 20247014345A KR 20240065183 A KR20240065183 A KR 20240065183A
Authority
KR
South Korea
Prior art keywords
memory
data
error
log data
various log
Prior art date
Application number
KR1020247014345A
Other languages
English (en)
Inventor
저 이
징펭 후앙
지양 젱
샤오얀 첸
Original Assignee
지티이 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지티이 코포레이션 filed Critical 지티이 코포레이션
Publication of KR20240065183A publication Critical patent/KR20240065183A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 출원은 메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다. 메모리 오류의 예측 방법은, 측정 대상 메모리의 다양한 로그 데이터를 취득하되, 상기 다양한 로그 데이터는 적어도, 메모리 오류 정보 주소 데이터를 포함하는 단계; 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계; 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여, 특성 연결 데이터 테이블을 취득하는 단계; 및, 상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하되, 상기 오류 예측 모델은 사전 수집된 훈련 데이터 세트를 사용하여 훈련을 수행하는 방식으로 취득되고, 상기 훈련 데이터 세트 중의 샘플은 다양한 메모리의 다양한 로그 데이터를 포함하는 단계; 를 포함하여 구성된다.

Description

메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체
관련 출원과의 상호 참조
본 출원은 2021년10월12일에 중국 특허청으로 제출된 제202111189254.9호 특허 출원에 대한 우선권을 주장하며, 그 모든 내용은 참조를 통하여 이 출원에 합병된다.
기술분야
이 출원은 빅데이터 분석 및 인공지능 기술 분야에 관한 것이지만, 이에 한정되는 것은 아니다.
서버 등 빅데이터 적용 분야에 있어서, 예상치 못한 메모리 오류로 인한 컴퓨터 가동 중지 현상이 자주 발생하고, 심각한 경우에는 심지어 서버 업무의 중단이 초래된다. 따라서, 메모리에 대하여 실시간으로 오류 예측 및 건강도 평가를 수행하는 것은 업무의 신뢰성 및 안정성을 유지하는데 있어서 매우 중요한 실용적 가치가 있다.
현재 산업계에서 메모리 오류의 위험을 감지하기 위하여, 메모리 보고 로그에 대하여 간단한 합산 통계를 수행하는 방법을 사용하고 있는데, 즉 오류 검사 및 수정(Error Checking and Correcting, ECC로 약함) 횟수가 설정된 임계값에 도달하였을 경우, 네트워크 관리자에게 경보를 송신한다. 하지만, 실제적으로 ECC의 발생 횟수와 메모리 오류 사이에는 매우 높은 관련 관계가 없기 때문에, 단지 ECC를 카운팅하여 메모리의 오류를 예측하는 방식은 정확도가 매우 낮다.
본 출원은 메모리 오류의 예측 방법을 제공하기 위한 것으로서, 측정 대상 메모리의 다양한 로그 데이터를 취득하되, 그 중, 상기 다양한 로그 데이터는 적어도, 메모리 오류 정보 주소 데이터를 포함하는 단계; 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계; 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여, 특성 연결 데이터 테이블을 취득하는 단계; 및, 상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하되, 그 중, 상기 오류 예측 모델은 사전 수집된 훈련 데이터 세트를 사용하여 훈련을 수행하는 방식으로 취득하되, 상기 훈련 데이터 세트 중의 샘플은 다양한 메모리의 다양한 로그 데이터를 포함하는 단계; 를 포함하여 구성된다.
본 출원은 또한 전자 장치를 제공하기 위한 것으로서, 적어도 하나의 프로세서; 및, 상기 적어도 하나의 프로세서와 통신 연결되는 메모리; 를 포함하여 구성되고, 그 중, 상기 메모리에는 상기 적어도 하나의 프로세서에 의하여 수행되는 명령이 저장되어, 상기 적어도 하나의 프로세서가 본문에서 설명된 임의의 메모리 오류의 예측 방법을 수행하도록 한다.
본 출원은 또한 컴퓨터 판독 가능한 저장 매체를 제공하기 위한 것으로서, 컴퓨터 프로그램이 저장되고, 상기 컴퓨터 프로그램이 프로세서에 의하여 수행될 때 본문에서 설명된 임의의 메모리 오류 얘측 방법을 구현한다.
도 1은 본 출원에 따른 메모리 오류의 예측 방법 흐름도이다.
도 2는 본 출원에 따른 측정 대상 메모리의 아키텍쳐 다이어그램이다.
도 3은 본 출원에 따른 다양한 로그 데이터를 취득하는 예시도이다.
도 4는 본 출원에 따른 데이터 사전 처리 흐름도이다.
도 5는 본 출원에 따른 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득하는 흐름도이다.
도 6은 본 출원에 따른 오류 예측 모형 훈련 흐름도이다.
도 7은 본 출원에 따른 이항 분류 및 회귀 방법의 마킹 예시도이다.
도 8은 본 출원에 따른 전자 장치의 구조도이다.
본 출원의 실시방식의 목적, 기술적 방안 및 장점이 더욱 명확해질 수 있도록, 이하 첨부된 도면을 참조하여 본 출원의 각 실시방식에 대하여 상세하게 설명하고자 한다. 단, 이 분야의 일반적인 기술자들은, 본 출원의 각 실시방식에 있어서, 독자들이 본 출원을 더욱 잘 이해할 수 있도록 많은 기술적 세부사항을 제출하였음을 이해할 수 있을 것이다. 하지만, 이러한 기술적 세부사항 및 하기 각 실시방식에 따른 다양한 변화 및 수정이 없다 하더라도, 여전히 본 출원에서 보호하고자 하는 기술적 방안을 구현할 수 있다. 하기 각 실시방식의 구분은 단지 설명의 편리를 위한 것일 뿐, 본 출원의 구체적인 실시방식을 한정하고자 하는 것이 아니며, 각 실시방식은 서로 모순되지 않는 한 서로 결합하거나 서로 참조할 수 있다.
본 출원의 일 실시방식은 메모리 오류의 예측 방법에 관한 것으로서, 전자 장치에 적용되고, 상기 전자 장치는 오류 예측을 수행하는 서버(예측 서버로 약함)일 수 있는 바, 예를 들면, 메모리 오류 예측이 필요한 측정 대상 장치가 자신의 데이터를 수집한 후, 예측 서버로 송신하고, 예측 서버에서 측정 대상 장치의 메모리 오류의 예측을 수행할 수 있다. 그 중, 측정 대상 장치는 서버, 빅데이터 센터 클러스트, 통신 기지국 및 PC 등 메모리 소자를 포함하는 장치일 수 있다. 본 실시방식에 있어서, 메모리 오류의 예측 방법은 도 1에 도시된 바와 같이, 단계 101 내지 104를 포함하여 구성된다.
단계 101 : 측정 대상 메모리의 다양한 로그 데이터를 취득하되, 그 중, 다양한 로그 데이터는 적어도 메모리 오류 정보 주소 데이터를 포함한다.
단계 102 : 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득한다.
단계 103 : 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여, 특성 연결 데이터 테이블을 취득한다.
단계 104 : 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 측정 대상 메모리의 오류 예측 결과를 취득하되, 그 중, 오류 예측 모델은 사전 수집된 훈련 데이터 세트를 사용하여 훈련을 수행하는 방식으로 취득되고, 상기 훈련 데이터 세트 중의 샘플은 다양한 메모리의 다양한 로그 데이터를 포함한다.
본 실시방식에 있어서, 측정 대상 메모리의 다양한 로그 데이터를 취득하되, 다양한 로그 데이터는 적어도 메모리 오류 정보 주소 데이터를 포함하고, 다양한 로그 데이터는 여러 방면으로부터 측정 대상 메모리의 상태를 측정함으로써 오류 예측을 위하여 더욱 전면적인 참고를 제공함에 따라, 오류 예측의 정확성을 향상시킬 수 있으며, 다양한 로그 데이터는 적어도 메모리 오류 정보 주소 데이터를 포함함으로써, 오류 예측을 위하여 반드시 필요한 참고 정보를 제공할 수 있다. 다양한 로그 데이터에 대하여 각각 특성 공학 구축을 수행하고, 특성 공학 구축을 거친 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결함으로써, 오류 예측 모델에 적합한 특정 연결 데이터 테이블을 취득함으로써, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델을에 의하여, 측정 대상 메모리의 오류 예측 결괴를 취득할 수 있다. 오류 예측 모델의 훈련 데이터 세트 중의 샘플에는 다양한 메모리의 다양한 로그 데이터를 포함하기 때문에, 오류 예측 모델의 범용화 능력 및 안정성이 더 강해지기 때문에, 상기 오류 예측 모델을 기반으로 취득한 예측 결과가 더욱 정확하게 되는 바, 즉, 메모리 오류 예측의 정확성을 향상시킬 수 있다.
이하 본 실시방식의 메모리 오류의 예측 방법의 구현 세부사항에 대하여 예시적인 설명을 하고자 한다. 단, 하기 내용은 이해를 돕기 위하여 제공되는 구현 세부사항일 뿐, 본 방안을 실시하기 위하여 반드시 필요한 것은 아니다.
단계 101에 있어서, 측정 대상 메모리가 설치된 측정 대상 장치(예를 들면 서버)는 측정 대상 메모리로부터 다양한 로그 데이터를 취득하고, 다양한 로그 데이터를 예측 서버로 송신함으로써, 예측 서버가 측정 대상 메모리의 다양한 로그 데이터를 취득하도록 할 수 있다. 그 중, 다양한 로그 데이터는 적어도 메모리 오류 정보 주소 데이터를 포함함으로써, 메모리 오류 예측을 위하여 반드시 필요한 참고 정보를 제공할 수 있다.
그 중, 측정 대상 메모리의 아키텍쳐 다이어그램은 도 2에 도시뵌 바와 같다. 도 2 중의 좌측은 측정 대상 메모리 중의 복수의 메모리 칩(chip)의 예시도이고, 도 2 중의 우측은 측정 대상 메모리 중의 하나의 chip의 예시도이며, 하나의 chip은 물리적 구조 상에서 8개의 레이어로 나뉘고, 한 레이어는 하나의 bank이다. 예를 들면, 도 2 중의 레이어 1(bank 1)은 해당 레이어가 chip 중의 제1 레이어라는 것을 의미할 수 있고, 행(row)은 bank 1 상의 한 행이고, 열(column)은 bank 1 상의 한 열이며, row와 column이 교차되는 점은 하나의 메모리 셀(cell)이다.
그 중, 취득된 메모리 오류 정보 주소 데이터는 매모리 일련번호, 메모리 제조업체, 로그 보고 시간, 메모리의 듀얼 인라인 메모리 모듈(Dual-Inline-Memory-Modules, "DIMM"으로 약함), 메모리 rank 번호, 메모리 chip 번호, 메모리 bank 정보, 메모로 셀이 위치한 행 번호 및 메모리 셀이 위치한 열 번호를 포함한다. 그 중, 메모리 오류 정보 주소 데이터는 메모리 오류 로그로부터 분석해낸 메모리 오류가 발생한 상세한 물리적 위치를 더 포함할 수 있다.
일 실시방식에 있어서, 취득된 다양한 로그 데이터가 메모리 오류 정보 주소 데이터를 포함하는 경우, 메모리 로그 데이터, 운영체제 커널 로그, 오류 검사 및 수정(EDAC) 로그, 성능 데이터, 환경 및 위치 정보 데이터 중의 한가지 또는 여러가지의 조합을 더 포함한다.
그 중, 메모리 로그 데이터는 레지스터 블록 번호 필드, 트랜잭션(transaction) 필드, 메모리 일련번호, 메모리 제조업체 및 로그 보고 시간을 포함한다.
일 예에 있어서, 메모리 로그 데이터는 mcelog 툴을 사용하여 수집한 mcelog가 보고한 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM) 오류 로그이고, mcelog 툴은 Linux 운영체제가 Intel의 머신 검사 아키텍쳐(Machine Check Architecture, MCA)를 기반으로 하여 DRAM 오류를 기록하는 표준 툴인 바, 즉, 메모리 로그 데이터는 mcelog 데이터일 수 있다.
일 예에 있어서, 운영체제 커널 로그는 Linux 커널 로그로부터 취득한 메모리 오류와 관련이 있는 정보를 기록할 수 있다. 운영체제 커널 로그는 메모리 일련번호, 메모리 제조업체, 메모리 보고 시간 및 메모리 오류와 관련이 있는 각 유형의 필드를 포함한다.
일 예에 있어서, 오류 검사 및 수정(Error Detection and Correction, EDAC) 로그는 메모리 일련번호, 로그 보고 시간, 메모리 컨트롤러(Memory Controller, MC) 필드, page 필드 및 offset 필드를 포함한다. 그 중, EDAC 및 ECC는 모두 오류 검사 및 수정으로서, ECC는 메모리 하드웨어 상의 오류 검사 및 수정이고, EDAC는 linux 코어 내부의 소프트웨어 상의 오류 섬사 및 수정이다.
일 예에 있어서, 성능 데이터는 측정 대상 메모리가 설치된 서버에 관련이 있는 물리적 성능 데이터를 기록한 것으로서, 1초 당 데이터를 디스크로부터 메모리로 전송한 횟수(page in), 1초 당 데이터를 메모리로부터 디스크로 전송한 횟수(page out), 최저 전압, 최고 전압, 설정 전압 및 메모리 실행 속도를 포함한다.
일 예에 있어서, 환경 및 위치 정보 데이터는 측정 대상 메모리가 설치된 서버의 환경 및 위치 정보를 기록한 것으로서, 온도, 습도, 측정 대상 메모리가 설치된 서버가 위치한 사이트(site), 측정 대상 메모리가 설치된 서버가 위치한 룸(room) 및 측정 대상 메모리가 설치된 서버가 위치한 랙(rack)을 포함한다.
본 실시방식에 있어서, 연구를 통하여 메모리 로그 데이터, 운영체제 커널 로그, EDAC 로그, 성능 데이터, 환경 및 위치 데이터가 모두 메모리 오류에 중요한 영향을 미치게 된다는 것을 발견하였기 때문에, 상기 데이터를 도입함으로써 오류 예측 모듈의 범용화 능력 및 안정성을 향상시킴에 따라, 오류 예측의 정확도를 향상시키는데 도움을 줄 수 있다.
일 실시방식에 있어서, 단계 101를 구현할 때, 측정 대상 메모리가 설치된 서버는 동시에 측정 대상 메모리 중의 6가지 로그 데이터를 취득할 수 있는 바, 도 3에 도시된 바와 같이, mcelog 데이터, Linux 커널 로그 데이터, EDAC 로그 데이터, 성능 데이터, 환경 및 위치 정보 데이터, 메모리 오류 정보 주소 데이터를 포함한다.
단계 102에 있어서, 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하기 전에, 예측 서버는 취득된 측정 대상 메모리 중의 다양한 로그 데이터에 대한 사전 처리를 수행할 수 있는데, 그 중, 사전 처리의 내용은, 다양한 로그 데이터 중 취득하지 못한 필드에 대하여 균일값 채우기 또는 0값 채우기를 수행하고; 메모리 오류과 관련이 없는 필드를 삭제하며; 복수의 로그 데이터 중 여러개 열의 필드의 관련성이 매우 큰 경우, 그 중의 한 열의 필드만 남기고 기타 열의 필드를 삭제하는 것을 포함할 수 있다.
일 예에 있어서, 사전 처리를 거친 다양한 로그 데이터에 대하여 데이터 검증을 더 수행할 수 있는데, 예를 들면, 데이터의 시간 길이 및 샘플링 포인트 수량이 오류 예측 또는 오류 예측에 필요한 데이터 량의 최소 조건 요구의 만족 여부를 검사, 즉, 데이터 수집 시간이 특성 공학 구축에 필요한 시간 길이의 만족 여부, 및 수집된 다양한 로그 데이터 중에 적어도 메모리 오류 정보 주소 데이터의 포함 여부를 검사할 수 있다.
일 실시방식에 있어서, 단계 102에서 다양한 로그 데이터에 대한 처리 및 특성 공학 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계는, 하기와 같은 하위 단계를 통하여 실현될 수 있는 바, 예시적인 흐름도로서 도 4에 도시된 바와 같이, 하위 단계 1021 내지 1023을 포함한다.
하위 단계 1021에 있어서, 다양한 로그 데이터에 대한 사전 처리를 수행한다.
그 중, 사전 처리는 빈 값을 "0" 으로 채우고, 수집된 다양한 로그 데이터에 대하여 Pearson 관련 계수를 사용하여 분석을 수행하며, 필드 사이의 관련성이 큰 열 및 데이터에 변화가 없거나 모두 "0" 인 열을 삭제하고, 메모리 오류와 관련이 없는 필드를 삭제하는 것을 포함한다.
하위 단계 1022에 있어서, 데이터 검증을 수행한다.
그 중, 데이터 검증은 사전 처리를 거친 다양한 로그 데이터의 시간 길이 및 샘플링 포인트 수량을 검증하는 것을 포함할 수 있다. 데이터의 시간 길이 및 샘플링 포인트 수량이 오류 검사 및 예측에 필요한 데이터 량의 최소 조건 요구의 만족 여부를 검사, 즉, 데이터 수집 시간이 특성 공학 구축에 필요한 시간 길이의 만족 여부, 및 다양한 로그 데이터 중에 적어도 메모리 오류 정보 주소 데이터의 포함 여부를 검사할 수 있다.
하위 단계 1023에 있어서, 검증을 거친 다양한 로그 데이터에 의하여, 각각 특성 공학 구축을 수행한다.
일 실시방식에 있어서, 예측 서버는 사전 처리를 거친 메모리 오류 정보 주소 데이터에 의하여 특성 구축을 수행함으로써, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득한다. 도 5를 참조하면, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득하는 단계는 단계 501 내지 506을 포함한다.
단계 501에 있어서, 제1 수량 및 제1 횟수를 통계한다. 그 중, 예측 서버는 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제1 사전 설정 시간대 내에 발생한 제1 목표의 제1 수량 및 각 제1 목표 상에서 ECC가 발생한 제1 횟수를 통계하되, 그 중, 제1 목표는 지난 제2 사전 설정 시간대 내에 측정 대상 메모리의 각 메모리 셀에서 누적 2회 또는 2회 이상의 ECC가 발생한 메모리 셀이고, 제2 사전 설정 시간대의 지속 시간의 길이는 제1 사전 설정 시간대의 지속 시간의 길이보다 크다.
단계 502에 있어서, 제2 수량 및 제2 횟수를 통계한다. 그 중, 예측 서버는 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제3 사전 설정 시간대 내에 발생한 제2 목표의 제2 수량 및 각 제2 목표 상에서 ECC가 발생한 제2 횟수를 통계하되, 그 중, 제2 목표는 지난 제4 사전 설정 시간대 내에 측정 대상 메모리의 각 열의 메모리 셀에서 동일한 시각에 누적 2회 또는 2회 이상의 ECC가 발생한 열이고, 제4 사전 설정 시간대의 지속 시간의 길이는 제3 사전 설정 시간대의 지속 시간의 길이보다 크다. 그 중, 동일한 시각은 동일한 초일 수 있고, 동일한 분일 수도 있다.
단계 503에 있어서, 제3 수량 및 제3 횟수를 통계한다. 그 중, 예측 서버는 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제5 사전 설정 시간대 내에 발생한 제3 목표의 제3 수량 및 각 제3 목표 상에서 ECC가 발생한 제3 횟수를 통계하되, 그 중, 제3 목표는 지난 제6 사전 설정 시간대 내에 측정 대상 메모리의 각 행의 메모리 셀에서 동일한 시각에 누적 2회 또는 2회 이상의 ECC가 발생한 행이고, 제6 사전 설정 시간대의 지속 시간의 길이는 제5 사전 설정 시간대의 지속 시간의 길이보다 크다.
단계 504에 있어서, 제4 수량을 통계한다. 그 중, 예측 서버는 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제7 사전 설정 시간대 내에 발생한 제4 목표의 제4 수량을 통계하되, 그 중, 제4 목표는 상기 측정 대상 메모리 중에서 적어도 3개의 동일한 열에 위치한 메모리 셀로 구성된 메모리 셀 블록이고, 적어도 3개의 동일한 열에 위치한 메모리 셀이 지난 제8 사전 설정 시간대 내에 동일한 시각에 모두 ECC가 발생하였으며, 적어도 3개의 동일한 열에 위치한 메모리 셀의 서로 사이에는 최대 1개의 메모리 셀이 이격되고, 제8 사전 설정 시간대의 지속 시간 길이는 제7 사전 설정 시간대의 지속 시간 길이보다 크다.
단계 505에 있어서, 제5 수량을 통계한다. 그 중, 예측 서버는 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제9 사전 설정 시간대 내에 발생한 제5 목표의 제5 수량을 통계하되, 그 중, 제5 목표는 상기 측정 대상 메모리 중에서 적어도 3개의 동일한 행에 위치한 메모리 셀로 구성된 메모리 셀 블록이고, 적어도 3개의 동일한 행에 위치한 메모리 셀이 지난 제10 사전 설정 시간대 내에 동일한 시각에 모두 ECC가 발생하였으며, 적어도 3개의 동일한 행에 위치한 메모리 셀의 서로 사이에는 최대 1개의 메모리 셀이 이격되고, 제10 사전 설정 시간대의 지속 시간 길이는 상기 제9 사전 설정 시간대의 지속 시간 길이보다 크다.
단계 506에 있어서, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득한다.
제1 수량, 제1 횟수, 제2 수량, 제2 횟수, 제3 수량, 제3 횟수, 제4 수량 및 제5 수량 중의 하나 또는 임의의 조합에 의하여, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득한다.
단계 501에 있어서, 제1 사전 설정 시간대는 핸재 시점 이전의 일정한 시간이고, 제1 목표는 ERROR CELL로 표기할 수 있으며, 제1 수량은 현재 시점 이전의 제1 사전 설정 시간대 내에 발생한 제1 목표(ERROR CELL)의 수량이며, 제1 횟수는 현재 시점 이전의 제1 사전 설정 시간대 내의 각 ERROR CELL에서 발생한 ECC의 총 횟수이고, 제2 사전 설정 시간대는 제1 목표를 구축할 때 필요한 메모리 오류 정보 주소 데이터의 수집 시간 길이이다.
일 예에 있어서, 제2 사전 설정 시간대는 3개월일 수 있고, 데이터의 연결 정렬의 편리를 위하여, 제1 사전 설정 시간대는 현재 시점 이전의 1분 단위 시간대일 수 있다. 예를 들면, 제1 사전 설정 시간대는 현재 시점 이전의 8분, 4분, 2분, 1분일 수 있는 바, 즉, 각각 현재 시점 이전의 8분, 4분, 2분, 1분 이내에 ERROR CELL에서 발생한 ECC의 총 횟수(즉 상기 제1 횟수) 및 ECC에 대응되는 ERROR CELL의 수량(즉 상기 제1 수량)을 통계한다.
단계 502에 있어서, 제2 목표는 ERROR COLUMN으로 표기할 수 있고, 제2 수량은 현재 시점 이전의 제3 사전 설정 시간대 내에 발생한 제2 목표(ERROR COLUMN)의 수량이며, 제2 횟수는 현재 시점 이전의 제3 사전 설정 시간대 내의 각 ERROR COLUMN에서 발생한 ECC의 총 횟수이고, 제4 사전 설정 시간대는 제2 목표를 구축할 때 필요한 메모리 오류 정보 주소 데이터의 수집 시간 길이이다.
일 예에 있어서, 제4 사전 설정 시간대는 3개월일 수 있고, 제3 사전 설정 시간대는 현재 시점 이전의 8분, 4분, 2분, 1분일 수 있는 바, 즉, 각각 현재 시점 이전의 8분, 4분, 2분, 1분 이내에 ERROR COLUMN에서 발생한 ECC의 총 횟수(즉 상기 제2 횟수) 및 ECC에 대응되는 ERROR COLUMN의 수량(즉 상기 제2 수량)을 통계한다.
단계 503에 있어서, 제3 목표는 ERROR ROW로 표기할 수 있으며, 제3 수량은 현재 시점 이전의 제5 사전 설정 시간대 내에 발생한 제3 목표(ERROR ROW)의 수량이며, 제3 횟수는 현재 시점 이전의 제5 사전 설정 시간대 내의 각 ERROR ROW에서 발생한 ECC의 총 횟수이고, 제6 사전 설정 시간대는 제3 목표를 구축할 때 필요한 메모리 오류 정보 주소 데이터의 수집 시간 길이이다.
일 예에 있어서, 제6 사전 설정 시간대는 3개월일 수 있고, 제5 사전 설정 시간대는 현재 시점 이전의 8분, 4분, 2분, 1분일 수 있는 바, 즉, 각각 현재 시점 이전의 8분, 4분, 2분, 1분 이내에 ERROR ROW에서 발생한 ECC의 총 횟수(즉 상기 제3 횟수) 및 ECC에 대응되는 ERROR ROW의 수량(즉 상기 제3 수량)을 통계한다.
단계 504에 있어서, 제4 목표는 ERROR COL BLOCK으로 표기할 수 있고, 제4 수량은 현재 시점 이전의 제7 사전 설정 시간대 내에 발생한 제4 목표(ERROR COL BLOCK)의 수량이며, 제8 사전 설정 시간대는 제4 목표를 구축할 때 필요한 메모리 오류 정보 주소 데이터의 수집 시간 길이이다.
일 예에 있어서, 제8 사전 설정 시간대는 3개월일 수 있고, 예를 들면, 동일한 시각에 동일한 열의 연속된 5개의 메모리 셀 중의 3개에서 ECC가 발생, 즉 5개의 메모리 셀에서 제1, 3, 5번째 메모리 셀에서 ECC가 발생한 경우, 상기 5개의 메모리 셀이 하나의 ERROR COL BLOCK를 구성한다. 또는, 동일한 시각에 동일한 열의 연속된 3개의 메모리 셀에서 제1, 3, 5번째 메모리 셀에서 모두 ECC가 발생한 경우, 상기 3개의 메모리 셀이 하나의 ERROR COL BLOCK를 구성한다. 제7 사전 설정 시간대는 현재 시점 이전의 8분, 4분, 2분, 1분일 수 있는 바, 즉, 각각 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 ERROR COL BLOCK의 수량(즉 상기 제4 수량)을 통계한다. 그 중, 동일한 시각은 동일한 초 또는 동일한 분일 수 있다.
단계 505에 있어서, 제5 목표는 ERROR ROW BLOCK으로 표기할 수 있고, 제5 수량은 현재 시점 이전의 제9 사전 설정 시간대 내에 발생한 제5 목표(ERROR ROW BLOCK)의 수량이며, 제10 사전 설정 시간대는 제5 목표를 구축할 때 필요한 메모리 오류 정보 주소 데이터의 수집 시간 길이이다.
일 예에 있어서, 제10 사전 설정 시간대는 3개월일 수 있고, 예를 들면, 동일한 시각에 동일한 행의 연속된 5개의 메모리 셀 중의 3개에서 ECC가 발생, 즉 5개의 메모리 셀에서 제1, 3, 5번째 메모리 셀에서 ECC가 발생한 경우, 상기 연속된 5개의 메모리 셀이 하나의 ERROR ROW BLOCK를 구성한다. 또는, 동일한 시각에 동일한 행의 연속된 3개의 메모리 셀에서 제1, 3, 5번째 메모리 셀에서 모두 ECC가 발생한 경우, 상기 3개의 메모리 셀이 하나의 ERROR ROW BLOCK를 구성한다. 제9 사전 설정 시간대는 현재 시점 이전의 8분, 4분, 2분, 1분일 수 있는 바, 즉, 각각 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 ERROR ROW BLOCK의 수량(즉 상기 제5 수량)을 통계한다.
설명하여야 할 것은, 상기 단계 중의 제1, 제3, 제5, 제7 및 제9 사전 설정 시간대는 서로 같거나 또는 서로 다를 수도 있고, 제2, 제4, 제6, 제8, 제10 사전 설정 시간대도 서로 같거나 또는 서로 다를 수도 있다.
본 실시방식에 있어서, 메모리의 오류는 메모리의 행 또는 열에서 전염성을 가지기 때문에, 제1 목표(ERROR CELL), 제2 목표(ERROR COLUMN), 제3목표(ERROR ROW), 제4목표(ERROR COL BLOCK), 제5목표(ERROR ROW BLOCK) 등 메모리 오류와 관련이 있는 개념을 구축하고 관련 수량 및 횟수의 통계를 수행함으로써, 메모리 오류를 정확하게 판단하고, 메모리 오류 예측의 정확도를 향상시키는데 도움을 줄 수 있다.
일 실시방식에 있어서, 예측 서버는 다양한 로그 데이터에 의하여 특성 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득한다. 그 중, 다양한 로그 데이터가 메모리 오류 정보 주소 데이터를 포함하는 경우, 메모리 로그 데이터, 운영체제 커널 로그, 오류 검사 및 수정(EDAC) 로그, 성능 데이터, 환경 및 위치 정보 데이터 중의 한가지 또는 여러가지의 조합을 더 포함한다. 메모리 로그 데이터, 운영체제 커널 로그, 오류 검사 및 수정(EDAC) 로그, 성능 데이터, 환경 및 위치 정보 데이터 등에 대하여 정밀화 처리를 수행함으로써, 각 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득할 수 있음에 따라, 오류 예측의 정확도를 향상시키는데 도움을 줄 수 있다. 이하 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블에 대하여 예시적인 설명을 하고자 한다.
일 예에 있어서, 다양한 로그 데이터에 메모리 로그 데이터가 더 포함되는 경우, 메모리 로그 데이터에 의하여, 현재 시점 이전의 제11 사전 설정 시간대 내의 트랜잭션(transaction) 필드를 합산하여 transaction 필드의 합산 결과를 취득하고, 현재 시점 이전의 제11 사전 설정 시간대 내의 레지스터 블록 번호 필드를 카운팅하여 레지스터 블록 번호 필드의 카운팅 결과를 취득한 다음, transaction 필드의 합산 결과 및 레지스터 블록 번호 필드의 카운팅 결과에 의하여 메모리 로그 데이터에 대응되는 특성 데이터 테이블을 취득한다.
일 예에 있어서, 레지스터 블록 번호 필드는 mca_bank 필드일 수 있고, 제11 사전 설정 시간대는 8분, 4분, 2분, 1분일 수 있는 바, 즉, 예측 서버는 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 mca_bank를 카운팅하고 transaction 필드를 합산하여 새로운 특성 열로 할 수 있으며, 상기 새로운 특성 열이 바로 메모리 로그 데이터에 대응되는 특성 데이터 테이블 중의 특성 열이 되는 것이다.
예를 들면, 현재 시간이 10:27인 경우, 현재 시점 이전의 1분 내의 데이터는 10:26 - 10:27 사이에서 수집된 데이터로서, 10:26 - 10:27 사이에서 수집된 mca_bank 필드를 카운팅하고 transaction 필드를 합산하며; 현재 시점 이전의 2분 내의 데이터는 10:25 - 10:27 사이에서 수집된 데이터이고; 현재 시점 이전의 4분 내의 데이터는 10:23 - 10:27 사이에서 수집된 데이터이며; 현재 시점 이전의 8분 내의 데이터는 10:19 - 10:27 사이에서 수집된 데이터이다.
일 예시적인 구현에 있어서, 레지스터 블록 번호 필드는 mcelog 툴을 사용하여 메모리로부터 캡처한 레지스터 블록 번호이기 때문에, 그 데이터 유형은 문자열 유형이고, 이에 대하여 카운팅을 수행할 수 있으며; transaction 필드는 CPU와 메모리 사이에서 서로 전송하는 일련의 작업으로서, 읽기 트랜잭션 및 쓰기 트랜잭션을 포함하고, 그 데이터 유형은 정수이며, transaction 필드를 합산함으로써 해당 필드의 데이터 특성을 더욱 잘 반영할 수 있는 바, 카운팅만 수행하는 경우 transaction 필드 중의 데이터 정보가 분실되기 때문에, transaction 필드에 대하여서는 합산을 수행하여야 한다.
일 예에 있어서, 다양한 로그 데이터에 운영체제 커널 로그를 더 포함하는 경우, 운영체제 커널 로그 중의 메모리 오류와 관련이 있는 각 유형의 필드를 통계하고, 현재 시점 이전의 제12 사전 설정된 시간대 내의 각 유형의 필드를 카운팅하여 각 유형의 필드에 각각 대응되는 카운팅 결과를 취득한 다음, 각 유형의 필드에 각각 대응되는 카운팅 결과에 의하여, 운영체제 커널 로그에 대응되는 특성 데이터 테이블을 취득한다.
그 중, 1분 단위에 따라 제12 사전 설정된 시간대 내 및 메모리 오류와 관련이 있는 각 유형의 필드를 통계할 수 있는 바, 예를 들면, 제12 사전 설정 시간대가 8분, 4분, 2분, 1분일 경우, 예측 서버는 현재 시점 이전의 8분, 4분, 2분, 1분 이내 및 메모리 오류와 관련이 있는 각 유형의 필드를 카운팅하여 새로운 특성 열로 할 수 있고, 상기 새로운 특성 열이 바로 운영체제 커널 로그에 대응되는 특성 데이터 테이블 중의 특성 열이 되는 것이다.
일 예시적인 구현에 있어서, 운영체제 커널 로그 중에는 24개 유형의 필드가 있고, 그 중 8개 유형의 필드가 메모리 오류와 관련이 있기 때문에, 현재 시점 이전의 제12 사전 설정된 시간대 내의 8개 유형의 메모리 오류와 관련이 있는 필드만 카운팅하여 8개 유형의 메모리 오류와 관련이 있는 필드의 카운팅 결과를 취득한 다음, 상기 8개 유형의 메모리 오류와 관련이 있는 필드에 각각 대응되는 카운팅 결과에 의하여, 운영체제 커널 로그에 대응되는 특성 데이터 테이블을 취득한다.
일 예에 있어서, 다양한 로그 데이터에 EDAC 로그를 더 포함하는 경우, EDAC 로그에 의하여 현재 시점 이전의 제13 사전 설정된 시간대 내의 MC 필드, page 필드 및 offset 필드를 카운팅하여 MC 필드의 카운팅 결과, page 필드의 카운팅 결과 및 offset 필드의 카운팅 결과를 취득한 다음, MC 필드의 카운팅 결과, page 필드의 카운팅 결과 및 offset 필드의 카운팅 결과에 의하여, EDAC 로그에 대응되는 특성 데이터 테이블을 취득한다. 그 중, MC 필드는 메모리 컨트롤러의 번호를 의미하고, page는 가상 메모리의 페이지를 의미하며, offset은 오프셋을 의미하고, page + offset을 통하여 메모리의 물리적 주소를 계산해낼 수 있다.
그 중, 1분 단위에 따라 제13 사전 설정된 시간대 내의 필드(MC, page, offset)를 통계할 수 있는 바, 예를 들면, 제13 사전 설정 시간대가 8분, 4분, 2분, 1분일 경우, 예측 서버는 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 필드(MC, page, offset)를 통계하여 새로운 특성 열로 할 수 있다. 상기 새로운 특성 열이 바로 EDAC 로그에 대응되는 특성 데이터 테이블 중의 특성 열이 되는 것이다.
일 예에 있어서, 다양한 로그 데이터에 성능 데이터를 더 포함하는 경우, 성능 데이터에 의하여, 현재 시점 이전의 제14 사전 설정된 시간대 내의 메모리 오류에 영향을 주는 각 유형의 성능 데이터를 평균 계산하여 각 유형의 성능 데이터의 평균값을 취득하고, 각 유형의 성능 데이터의 평균값에 의하여, 성능 데이터에 대응되는 특성 데이터 테이블을 취득한다.
그 중, 1분 단위에 따라 제14 사전 설정된 시간대 내의 필드(Page_in, Page_out, 최저 전압, 최고 전압, 설정 전압, 메모리 실행 속도)를 통계할 수 있는 바, 예를 들면, 제14 사전 설정 시간대가 8분, 4분, 2분, 1분일 경우, 예측 서버는 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 성능 데이터에 관련이 있는 필드를 평균 계산하여 새로운 특성 열로 할 수 있다.
일 예시적인 구현에 있어서, 현재 시점 이전의 제14 사전 설정된 시간대 내의 page_in, Page_out, 최저 전압, 최고 전압, 설정 전압 및 메모리 실행 속도를 평균 계산하여, 각각 page_in, Page_out, 최저 전압, 최고 전압, 설정 전압 및 메모리 실행 속도의 평균값을 취득한 다음, 상기 평균값에 의하여 성능 데이터에 대응되는 특성 데이터 테이블을 취득한다.
일 예에 있어서, 다양한 로그 데이터에 환경 및 위치 정보 데이터를 더 포함하는 경우, 환경 및 위치 정보 데이터에 의하여, 현재 시점 이전의 제15 사전 설정된 시간대 내의 온도 및 습도를 평균 계산하여 온도의 평균값 및 상기 습도의 평균값을 취득하고, 온도의 평균값 및 상기 습도의 평균값에 의하여, 환경 및 위치 정보 데이터에 대응되는 특성 데이터 테이블을 취득한다.
그 중, 1분 단위에 따라 제15 사전 설정된 시간대 내의 필드(예를 들면 온도, 습도)를 통계할 수 있는 바, 예를 들면, 제15 사전 설정 시간대가 8분, 4분, 2분, 1분일 경우, 예측 서버는 현재 시점 이전의 8분, 4분, 2분, 1분 이내의 온도 및 습도 등 환경 데이터에 관련이 있는 필드를 평균 계산하여 새로운 특성 열로 할 수 있고, 상기 새로운 특성 열이 바로 환경 및 위치 정보 데이터에 대응되는 특성 데이터 테이블 중의 특성 열이 되는 것이다. 이어서, 상기 측정 대상 메모리는 상기 서버의 site, room, rack 등 위치 정보에 대응된다.
설명하여야 할 것은, 구체적인 구현에 있어서, 상기 제11, 제12, 제13, 제14 및 제15 사전 설정된 시간대는 서로 같거나 또는 서로 다를 수도 있으며, 본 실시방식에서는 이를 구체적으로 한정하지 않는다.
일 실시방식에 있어서, 단계 101에서 예측 서버는 1분 단위에 따라 측정 대상 메모리의 다양한 로그 데이터를 취득하고, 단계 102에서 특성 공학 구축을 수행하는 단계는, 현재 시점과 가장 가까운 m분 이내의 다양한 로그 데이터를 취득한 다음, m분 내의 다양한 로그 데이터 및 m분 이전의 n분 이내의 다양한 로그 데이트를 합병하고, 합병된 다양한 로그 데이터를 현재 시험에서 오류 예측을 수행하는데 필요한 로그 데이터로 사용하되, 그 중, n+m분은 사전 설정된 오류 예측을 수행하는데 필요한 최소 시간 길이인 단계; 를 포함한다. 현재 시점에서 오류 예측을 수행하는데 필요한 로그 데이터를 1분 단위로 특성 공학 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득한다. 예를 들면, m의 값은 1, 10, 0,1 등일 수 있다. 1분 단위로 로그 데이터를 취득하는 방식은 1분 단위로 예측을 완성하는데 도움을 줄 수 있기 때문에, 메모리 상태의 실시간 모니터링을 실현하여 메모리의 오류 예측의 실시간 성능을 향상시킬 수 있다.
일 예에 있어서, m의 값은 1이고, n의 값은 7이며, 예시적으로, 현재 시점과 가장 가까운 1분 이내의 다양한 로그 데이터를 취득하였고, 8분 이내의 다양한 로그 데이터가 있어야만 오류 예측을 수행할 수 있는 경우, 즉, 8분이 사전 설정된 오류 예측을 수행하는데 필요한 최소 시간 길이일 경우, 제9분에 도달하였을 때 취득된 제9분의 다양한 로그 데이터와 이전의 7분 이내에 취득한 다양한 로그 데이터를 합병하고, 합병된 다양한 로그 데이터를 제9분에서 오류 예측을 수행하는데 필요한 다양한 로그 데이터로 사용할 수 있다. 예를 들면, 현재 시간이 10:27이고, 10:27 이전의 1분 이내의 다양한 로그 데이터 즉 10:26 - 10:27 사이의 다양한 로그 데이터를 취득하였고, 10:19 - 10:27의 8분 이내의 다양한 로그 데이터가 있어야만 오류 예측을 수행할 수 있는 경우, 10:26 - 10:27의 1분과 10:19 - 10:26의 7분 이내에 취득한 다양한 로그 데이터를 합병하고, 합병된 8분 이내의 데이터를 10:27에 오류 예측을 수행하는데 필요한 다양한 로그 데이터로 사용할 수 있다.
단계 103에 있어서, 측정 대상 메모리의 다양한 로그 데이터에 대하여 특성 구축을 수행하여 대응되는 특성 데이터 테이블을 취득한 후, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블과, 메모리 로그 데이터에 대응되는 특성 데이터 테이블, 운영체제 커널 로그에 대응되는 특성 데이터 테이블, 성능 데이터에 대응되는 특성 데이터 테이블, 환경 및 위치 정보 데이터에 대응되는 특성 데이터 테이블 중의 하나 또는 복수의 임의 조합에 대하여 메모리 일련번호에 따라 1분 단위로 연결시켜 특성 연결 데이터 테이블을 취득한다.
단계 104에 있어서, 다양한 메모리가 설치된 서버는 우선 다양한 메모리의 다양한 로그 데이터를 수집하고, 예측 서버는 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하며, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여 특성 연결 데이터 테이블을 취득하고, 특성 연결 데이터 테이블을 훈련 데이터 세트 중의 샘플로 사용하여 모델 훈련을 수행하여, 사전 훈련된 오류 예측 모델을 취득한다. 훈련을 통하여 오류 예측 모델을 취득한 다음, 상기 오류 예측 모델에 의하여 측정 대상 메모리에 대하여 오류 예측을 수행할 수 있다.
일 실시방식에 있어서, 오류 예측 모듈은 사전 수집된 훈련 데이터 세트 및 LightGBM 머신 러닝 방법에 의하여 훈련을 통하여 취득되고, 그 중, LightGBM 머신 러닝 방법의 손실 함수는 Focal Loss이며, Focal Loss 공식은 다음과 같고,
그 중, α는 평형 인자이고, γ는 변조 파라미터이며, y'는 샘플 예측값이고, y는 샘플 라벨이며, Lfl은 샘플 예측값 및 샘플 라벨값의 오차이다.
일 예시적인 구현에 있어서, 메모리의 오류 예측에는 양의 샘플과 음의 샘플의 불균형 문제가 있어, 정상적인 메모리 데이터가 오류가 발생한 메모리 데이터보다 훨씬 많은데, Focal Loss 손실 함수는 전문적으로 양의 샘플과 음의 샘플이 불균형한 문제를 처리하기 위한 함수이다. 따라서, LightGBM 머신 러닝 방법을 사용하여 훈련 모델을 구축할 때, Focal Loss 손실 함수를 사용함으로써, 오류 예측 모델의 훈련 데이터 세트 중의 양의 샘플과 음의 샘플이 불균형한 문제를 효과적으로 해결하여, 메모리 오류 예측을 수행할 때의 정확도를 확보할 수 있다.
일 실시방식에 있어서, 훈련 데이터 세트 중의 샘플에는 모두 라벨값이 표기되고, 라벨값은 바이너리 방식으로 확정되는데, 예를 들면, 어느 시점의 샘플이 메모리 오류의 샘플일 경우, 해당 시점으로부터 앞으로 T분 앞당길 때, 상기 T분 내의 샘플을 "1"로 표기하고, T분 이전의 샘플을 "0"으로 표기하되, 그 중, T의 값은 30 - 100일 수 있는 바, 예를 들면 90일 수 있다. 다시 말하면, 비록 오류가 발생한 메모리이지만, 90분 이전에는 위험 한계에 도달하지 않았으므로 정상적인 데이터로 간주하는 것이다. 바이너리 방식으로 표기된 샘플을 기반으로 훈련을 수행하여 취득한 오류 예측 모델에 있어서, 상기 오류 예측 모듈의 출력 결과가 "1"인 경우, 측정 대상 메모리가 미래의 T 시간대 내에 오류가 발생할 가능성이 있음을 의미하고; 오류 예측 모듈의 출력 결과가 "0"인 경우, 측정 대상 메모리가 정상적인 메모리임을 의미한다.
일 실시방식에 있어서, 훈련 데이터 세트 중의 샘플은 모두 라벨값이 표기되고, 라벨값은 회귀 방식으로 확정되는데, 예를 들면, 각 샘플에 대응되는 시점과 메모리 오류가 발생한 샘플에 대응되는 시점 사이의 시간 간격을 계산하고; 시간 간격 및 시간 간격을 [0, 1] 구간 내로 매핑하기 위한 계산식에 의하여 각 샘플의 라벨값을 계산하며; 그 중, 계산식은 다음과 같되,
그 중, label은 계산된 라벨값이고, X축은 시간 간격이며, a는 제1 사전 설정 계수이고, T는 사전 설정된 오류 영향 시간 길이이다. 회귀 방식을 사용하여 라벨를 표기하는 경우, 바이너리 방식을 사용하여 라벨를 표기할 때의 일률적인 방식으로 인한 데이터 손실을 방지할 수 있고, 라벨값이 데이터와 오류가 발생할 때와의 이격 정도를 나타낼 수 있기 때문에 진실성을 향상시킬 수 있다.
일 예시적인 구현에 있어서, 훈련 데이터 세트 중의 샘플은 변형된 sigmoid 함수를 사용하여 시간 간격을 [0, 1] 구간 내에 매핑하고, 각 샘플의 라벨값을 계산하며, sigmoid 함수를 사용하여 측정 대상 메모리에 오류가 발생한 시점을 예측해냄으로써 라벨와 오류 시점과의 이격 정도를 판단할 수 있다. 그 중, 제1 사전 설정 계수 a는 하나의 경험값으로서, 그 값의 범위는 [1, 10]인 바, 예를 들면 8일 수 있고; X/T/의 값 범위는 [0, 1]이다.
일 실시방식에 있어서, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 오류 예측 모델의 출력 결과를 취득한 후, 출력 결과 및 오류 발생 시점을 예측하기 위한 시간 계산식에 의하여 측정 대상 메모리의 오류 발생 시점의 예측 결과를 취득할 수 있는데,
그 중, 시간 계산식은 다음과 같다.
그 중, t는 측정 대상 메모리의 오류 발생 시점이고, b는 제2 사전 설정 계수이며, output는 출력 결과이고, T는 사전 설정된 오류 영향 시간 길이이다. 이를 통하여, 미래의 오류 발생 가능성을 예측할 수 있을 뿐만 아니라, 구체적으로 어떠한 시간에 오류가 발생하는지 예측할 수 있기 때문에, 예측의 정확성을 더욱 향상시킬 수 있다.
그 중, 오류 예측 모델의 출력 결과의 값 범위는 [0, 1]이고, 제2 사전 설정 계수는 하나의 경험값으로서, 값 범위는 [1, 20]인 바, 예를 들면 11.25일 수 있다.
일 예에 있어서, a*b=T인 바, 예를 들면 a=8, b=11.25일 때, a*b=8*11.25=90, 즉, 사전 설정된 오류 영향 시간 길이는 T=90이다.
일 실시방식에 있어서, 단계 104 중의 오류 예측 모델은 도 6에 도시된 바와 같은 방식으로 취득할 수 있는데, 단계 601 내지 603을 포함하여 구성된다.
단계 601에 있어서, 훈련 데이터 세트 중의 샘플을 표기하고, 각 샘플의 라벨값을 취득한다.
단계 602에 있어서, 라벨값이 표기된 각 샘플에 의하여 모델 훈련을 수행하여 오류 예측 모델을 취득한다.
단계 603에 있어서, 오류 예측 모델에 대한 평가를 수행한다.
그 중, 훈련 데이터 세트의 형성 방식은 다음과 같을 수 있다.
S1 : 서로 다른 데이터 센터, 제조업체 및 모델의 메모리 관련 로그 데이터 수집(예를 들면 상기 6가지 로그 데이터);
S2 : 로그 데이터에 대하여 특성 공학 구축을 수행함으로써, 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득;
S3 : 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여, 훈련 데이터 세트 형성.
S2에 있어서, 다양한 로그 데이터가 메모리 오류 정보 주소 데이터를 포함하는 경우, 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득하기 위하여, 이를 오류 예측 모델의 훈련 데이터 세트 샘플로 사용하여, 예측 서버가 오류 예측 모델을 구축하도록 하며, S1에서 취득된 메모리 오류 정보 주소 데이터 한가지 로그 데이터에 의하여 특성 공학 구축을 수행할 수 있다. 그 중, 메모리 오류 정보 주소 데이터에 의하여 특성 공학 구축을 수행하는 방식으로서, 도 5에 도시된 방식을 참조할 수 있기 때문에, 중복되는 설명을 피하기 위하여 상세한 설명은 생략하기로 한다.
S2에 있어서, 다양한 로그 데이터가 메모리 로그 데이터, 운영체제 커널 로그, 성능 데이터, 환경 및 위치 정보 데이터를 더 포함하는 경우, 메모리 로그 데이터에 대응되는 특성 데이터 테이블, 운영체제 커널 로그에 대응되는 특성 데이터 테이블, 성능 데이터에 대응되는 특성 데이터 테이블, 환경 및 위치 정보 데이터에 대응되는 특성 데이터 테이블을 취득하기 위하여, 이를 오류 예측 모델의 훈련 데이터 세트 샘플로 사용하여, 예측 서버가 오류 예측 모델을 구축하도록 하며, 이에 따라, S1에서 취득된 메모리 로그 데이터, 운영체제 커널 로그, 오류 검사 및 수정(EDAC) 로그, 성능 데이터, 환경 및 위치 정보 데이터 등 로그 데이터에 의하여 특성 공학 구축을 수행할 수 있다. 그 중, 특성 공학 구축의 방식은 상기 내용에서 이미 설명하였기 때문에, 중복되는 설명을 피하기 위하여 상세한 설명은 생략하기로 한다.
일 예에 있어서, 단계 601에서는 이항 분류법(즉 상기 바이너리 방식)을 사용하여 훈련 데이터 세트 중의 샘플을 표기할 수 있는데, 예시적으로, 이항 분류의 라벨-시간 관계는 도 7 중의 점선 분류(Classification)에 도시된 바와 같이, 횡좌표는 측정 대상 메모리의 오류 발생 전의 일정한 시간(Time before failure)이고, 종좌표는 이항 분류법을 이용하여 표기한 라벨값(Label)이다. 그 중, 사전 설정된 오류 영상 시간 길이 T가 90분인 경우, 이항 분류법에 있어서, 예측 서버는 훈련 데이터 세트의 샘플 중의 오류 발생 이전의 90분 내의 샘플의 라벨값을 모두 "1"로 표기하고, 90분 이전의 샘플의 라벨값을 "0"으로 표기한다.
다른 일 예에 있어서, 단계 601에서는 회귀 방식을 사용하여 훈련 데이터 세트 중의 샘플을 표기할 수 있는데, 예시적으로, 회구 모형의 라벨-시간 관계는 도 7 중의 실선 회구(Regression)에 도시된 바와 같이, 횡좌표는 측정 대상 메모리의 오류 발생 전의 일정한 시간이고, 종좌표는 이항 회귀 방법을 이용하여 표기한 라벨값이다. 그 중, 사전 설정된 오류 영향 시간 길이 T가 90분인 경우, 회귀 방법에 있어서, 예측 서버는 하기와 같은 변형된 sigmoid 함수를 통하여 시간 간격을 [0, 1] 구간 내에 매핑한다.
그 중, label은 계산된 라벨값이고, X축은 시간 간격이다. 정상적인 메모리 데이터에 대하여, X는 +∞이고, label은 0이다.
일 예에 있어서, 단계 602에서는 LightGBM을 사용하여 라벨값이 표기된 각 샘플에 대하여 훈련 모델링을 수행할 수 있고, 손실 함수로서 평균 제곱 오차(Mean Square Error, MSE) 손실 함수 또는 Focal Loss 손실 함수를 사용할 수 있다.
다른 일 예에 있어서, 단계 602에서는 랜덤 포레스트를 사용하여 라벨값이 표기된 각 샘플에 대하여 훈련 모델링을 수행할 수 있다.
단계 603에 있어서, 훈련 데이터 세트로부터 무작위로 30%의 샘플 데이터를 추출하여 검증 세트로 사용하고, 나머지 샘플 데이터는 훈련 세트로 사용한다.
일 예에 있어서, 모델의 평가 지표로서 F1_Score 지표를 사용할 수 있는 바, 즉, F1_Score 지표를 사용하여 검증 세터에서 평가를 수행한다. 그 중, F1_Score 지표에서 관련 용어 및 상세한 지표에 대한 정의는 하기와 같고, 그 중 precision은 정확율이고, recall은 재현율이다.
n pp : 평가 윈도우 내에서 미래의 T 시간 이내에 오류가 발생할 것이라고 예측되는 메모리 수;
n tp : 평가 윈도우 내에서 이전의 T 시간에 이미 오류가 발생한 것으로 발견된 메모리 수;
n tr : 평가 윈도우 내의 모든 오류가 발생한 메모리 수.
그 중, 모델 관련 파라미터에 대하여 그리드 검색을 사용함으로써 모델 평점 F1이 최대값에 도달하도록 할 수 있다.
일 실시방식에 있어서, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여 측정 대상 메모리의 오류 예측 결과를 취득하는 단계는, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여 측정 대상 메모리를 1로 분류하는 신뢰성 수준을 취득하는 단계; 및, 신뢰성 수준에 의하여 측정 대상 메모리의 건강도를 확정하되, 그 중, 건강도는 1 - 신뢰성 수준으로서, 건강도가 낮을 수록 측정 대상 메모리에 오류가 발생할 가능성이 더욱 높은 단계; 를 포함한다. 다시 말하면, 이항 분류법을 사용하여 훈련 데이터 세트 중의 샘플을 표기하는 경우, 도 6에 도시된 방식으로 취득한 오류 예측 모델의 출력 결과는, 모신 러닝 알고리즘이 측정 대상 메모리를 "1"의 신뢰성 수준(범위는 0 - 100%)로 분류하고, 이에 따라 신뢰성 수준에 의하여 측정 대상 메모리의 건강도를 확정할 수 있으며, 마지막으로 건강도 지표를 모니터링 센터로 보고한다.
일 실시방식에 있어서, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여 측정 대상 메모리의 오류 예측 결과를 취득하는 단계는, 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여 측정 대상 메모리의 예측값을 취득하되, 그 중, 예측값은 0 - 1 사이의 부동 소수점 수인 단계; 및, 예측값에 의하여 측정 대상 메모리의 건강도를 확정하되, 그 중, 건강도는 1 - 예측값으로서, 건강도가 낮을 수록 측정 대상 메모리에 오류가 발생할 가능성이 더욱 높은 단계; 를 포함한다. 다시 말하면, 회귀법을 사용하여 훈련 데이터 세트 중의 샘플을 표기하는 경우, 예측 서버는 하기와 같은 변형된 sigmoid 함수를 통하여 시간 간격을 [0, 1] 구간 내에 매핑한다.
그 중, label은 계산된 라벨값이고, X축은 시간 간격이다. 정상적인 메모리 데이터에 대하여, X는 +∞이고, label은 0이다. 도 6에 도시된 방식으로 취득한 오류 예측 모델의 출력 결과는, [0, 1] 사이의 부동 소수점 수이다. 통상적으로, 출력 결과가 0.5보다 큰 경우, 미래의 T 시간 내에 메모리 오류가 발생한다는 것을 의미하고; 그렇지 아니한 경우, 미래의 T 시간 내에 메모리 오류가 발생하지 않는다는 것을 의미한다. 출력 결과를 0 - 100%의 건강도로 전환한다. 그 중, 출력 결과가 바로 머신 러닝 알고리즘을 통하여 측정 대상 메모리에 대하여 오류 예측을 수행한 예측값(범위는 0 - 1)이고, 측정 대상 메모리의 건강도는 1 - 예측값이다. 건강도가 낮을 수록, 메모리가 미래의 T 시간 내에 오류가 발생할 확률이 더 높다는 것을 의미하고, 마지막으로 건강도 지표를 모니터링 센터로 보고한다.
일 실시방식에 있어서, 회귀법을 사용하여 훈련 데이터 세트 중의 샘플을 표기하는 경우, 도 6에 도시된 방법을 통하여 취득된 오류 예측 모형의 예측 결과는, 메모리 오류가 발생하게 될 시점일 수 있다. 예를 들면, 오류 예측 모델을 구축할 때, 손실 함수로서 MSE 손실 함수를 사용하고, 하기와 같은 계산식을 통하여 메모리 오류가 발생하게 될 시점을 취득할 수 있다.
마지막으로, 예측 서버는 계산을 통하여 취득된 메모리 오류가 발생하게 될 시점을 모니터링 센터로보고하여, 모니터링 센터에서 대응되는 조치를 취하도록 할 수 있다.
설명하여야 할 것은, 본 실시방식 중의 상기 각 예는 모두 본 발명의 이해를 돕기 위하여 제시된 예시적인 설명일 뿐, 본 발명의 기술적 방안을 한정하고자 하는 것은 아니다.
상기 각 방법의 단계 구분은 더욱 명확하게 설명하기 위한 것일 뿐, 구체적으로 구현할 때 하나의 단계로 합병하거나 또는 일부 단계를 여러개의 단계로 분해할 수 있고, 동일한 논리적 관계를 포함하기만 하면 모두 본 특허의 보호 범위에 포함되며; 알고리즘 또는 과정 중에 중요한 영향을 미치지 않는 수정을 추가하거나 또는 중요한 영향을 미치지 않는 설계를 도입할 뿐, 그 알고리즘 또는 과정의 핵심 설계를 변경하지 않는 한 모두 본 특허의 보호 범위에 포함된다.
본 출원의 다른 일 실시방식은 전자 장치를 제공하기 위한 것으로서, 도 8에 도시된 바와 같이, 적어도 하나의 프로세서(801); 및, 적어도 하나의 프로세서(801)와 통신 연결되는 메모리(802); 를 포함하여 구성되고, 그 중, 메모리(802)에는 적어도 하나의 프로세서(801)에 의하여 수행되는 명령이 저장되어, 적어도 하나의 프로세서(801)가 상기 임의의 실시방식의 메모리 오류의 예측 방법을 수행하도록 한다.
그 중, 메모리(802) 및 프로세서(801)는 버스 방식을 통하여 연결되고, 버스는 임의의 수량의 서로 연결된 버스 및 브리지를 포함하여 구성될 수 있으며, 버스는 하나 또는 복수의 프로세서(801) 및 메모리(802)의 다양한 회로를 서로 연결시킬 수 있다. 버스는 주변기기, 전압 조정기 및 출력 관리 회로 등 다양한 기타 회로를 서로 연결시킬 수 있으며, 이는 이 분야의 공지된 상식이기 때문에 본문에서는 그 상세한 설명을 생략하기로 한다. 버스 언터페이스는 버스와 트랜시버 사이의 인터페이스를 제공한다. 트랜시버는 하나의 소자일 수 있고, 복수의 소자일 수도 있으며, 예를 들면 복수의 수신기 및 송신기일 수 있는 바, 전송 매체에서 다양한 기타 장치와 통신을 수행하기 위한 유닛을 제공한다. 프로세서(801)의 처리를 거친 데이터는 안테나를 통하여 무선 매체에서 전송되고, 더 나아가서, 안테나는 데이터를 수신하여 데이터를 프로세서(801)로 전송한다.
프로세서(801)는 버스의 관리 및 일반 처리를 책임지고, 예를 들면, 타이머, 주변기기 인터페이스, 전압 조절, 저원 관리 및 기타 제어 기능 등 다양한 기능을 제공한다. 메모리(802)는 프로세서(801)가 작업을 수행할 때 사용하는 데이터를 저장하기 위하여 사용될 수 있다.
본 발명의 다른 일 실시방식은 컴퓨터 판독 가능한 저장 매체에 관헌 것으로서 컴퓨터 프로그램이 저장된다. 컴퓨터 프로그램은 프로세서에 의하여 실행되여 상기 방법의 실시방식을 구현한다.
즉, 본 분야의 기술자들에게 있어서, 상기 실시방식을 구현하는 방법 중의 전부 또는 일부분 단계는 프로그램을 통하여 관련 하드웨어를 지시하여 완성할 수 있으며, 상기 프로그램은 하나의 저장 매체에 저장되고, 하나의 장치(마이크로 컨트롤러, 칩 등일 수 있음) 또는 프로세서(processor)이 본 출원의 각 실시방식에 따른 방법의 전부 또는 일부분 단계를 수행하도록 하는 약간의 명령을 포함하여 구성된다는 것을 이해할 수 있을 것이다. 상기 저장 매체는 플래시 메모리, 모바일 하드 디스크, 읽기 전용 메모리(ROM, Read-Only Memory), 랜덤 액세서 메모리(RAM, Random Access Memory), 자기 디스크 또는 광 디스크 등 프로크램 코드를 저장할 수 있는 다양한 매체를 포함한다.
본 분야의 일분적인 기술자들에게 있어서, 상기 각 실시방식은 본 발명을 구현하기 위한 예시적인 실시방식이고, 실제적인 응용 과정 중 본 발명의 주지 및 범위를 벗어나지 않는 범위 내에서 그 형식 또는 세부사항에 다양한 변경을 가할 수 있다는 것을 이해할 수 있을 것이다.

Claims (12)

  1. 측정 대상 메모리의 다양한 로그 데이터를 취득하되, 상기 다양한 로그 데이터는 적어도 메모리 오류 정보 주소 데이터를 포함하는 단계;
    상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계;
    상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 연결하여, 특성 연결 데이터 테이블을 취득하는 단계; 및,
    상기 성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하되, 상기 오류 예측 모델은 사전 수집된 훈련 데이터 세트를 사용하여 훈련을 수행하는 방식으로 취득되고, 상기 훈련 데이터 세트 중의 샘플은 다양한 메모리의 다양한 로그 데이터를 포함하는 단계; 를 포함하는 메모리 오류의 예측 방법.
  2. 제1항에 있어서,
    상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계는,
    상기 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제1 사전 설정 시간대 내에 발생한 제1 목표의 제1 수량 및 각 상기 제1 목표 상에서 오류 검사 및 수정(ECC)이 발생한 제1 횟수를 통계하되, 상기 제1 목표는 지난 제2 사전 설정 시간대 내에 상기 측정 대상 메모리의 각 메모리 셀에서 누적 2회 또는 2회 이상의 ECC가 발생한 메모리 셀이고, 상기 제2 사전 설정 시간대의 지속 시간의 길이는 상기 제1 사전 설정 시간대의 지속 시간의 길이보다 큰 단계;
    상기 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제3 사전 설정 시간대 내에 발생한 제2 목표의 제2 수량 및 각 상기 제2 목표 상에서 ECC가 발생한 제2 횟수를 통계하되, 상기 제2 목표는 지난 제4 사전 설정 시간대 내에 상기 측정 대상 메모리의 각 열의 메모리 셀에서 동일한 시각에 누적 2회 또는 2회 이상의 ECC가 발생한 열이고, 상기 제4 사전 설정 시간대의 지속 시간의 길이는 상기 제3 사전 설정 시간대의 지속 시간의 길이보다 큰 단계;
    상기 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제5 사전 설정 시간대 내에 발생한 제3 목표의 제3 수량 및 각 상기 제3 목표 상에서 ECC가 발생한 제3 횟수를 통계하되, 상기 제3 목표는 지난 제6 사전 설정 시간대 내에 상기 측정 대상 메모리의 각 행의 메모리 셀에서 동일한 시각에 누적 2회 또는 2회 이상의 ECC가 발생한 행이고, 제6 사전 설정 시간대의 지속 시간의 길이는 제5 사전 설정 시간대의 지속 시간의 길이보다 큰 단계;
    상기 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제7 사전 설정 시간대 내에 발생한 제4 목표의 제4 수량을 통계하되, 상기 제4 목표는 상기 측정 대상 메모리 중에서 적어도 3개의 동일한 열에 위치한 메모리 셀로 구성된 메모리 셀 블록이고, 상기 적어도 3개의 동일한 열에 위치한 메모리 셀이 지난 제8 사전 설정 시간대 내에 동일한 시각에 모두 ECC가 발생하였으며, 상기 적어도 3개의 동일한 열에 위치한 메모리 셀의 서로 사이에는 최대 1개의 메모리 셀이 이격되고, 상기 제8 사전 설정 시간대의 지속 시간 길이는 상기 제7 사전 설정 시간대의 지속 시간 길이보다 큰 단계;
    상기 메모리 오류 정보 주소 데이터에 의하여, 현재 시점 이전의 제9 사전 설정 시간대 내에 발생한 제5 목표의 제5 수량을 통계하되, 상기 제5 목표는 상기 측정 대상 메모리 중에서 적어도 3개의 동일한 행에 위치한 메모리 셀로 구성된 메모리 셀 블록이고, 상기 적어도 3개의 동일한 행에 위치한 메모리 셀이 지난 제10 사전 설정 시간대 내에 동일한 시각에 모두 ECC가 발생하였으며, 상기 적어도 3개의 동일한 행에 위치한 메모리 셀의 서로 사이에는 최대 1개의 메모리 셀이 이격되고, 상기 제10 사전 설정 시간대의 지속 시간 길이는 상기 제9 사전 설정 시간대의 지속 시간 길이보다 큰 단계; 및,
    상기 제1 수량, 상기 제1 횟수, 상기 제2 수량, 상기 제2 횟수, 상기 제3 수량, 상기 제3 횟수, 상기 제4 수량 및 상기 제5 수량 중의 하나 또는 임의의 조합에 의하여, 상기 메모리 오류 정보 주소 데이터에 대응되는 특성 데이터 테이블을 취득하는 단계; 를 포함하는 메모리 오류의 예측 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 다양한 로그 데이터는 메모리 로그 데이터, 운영체제 커널 로그, 오류 검사 및 수정(EDAC) 로그, 성능 데이터, 환경 및 위치 정보 데이터 중의 한가지 또는 여러가지의 조합을 더 포함하는 메모리 오류의 예측 방법.
  4. 제3항에 있어서,
    상기 다양한 로그 데이터에 상기 메모리 로그 데이터가 더 포함되는 경우, 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계에 있어서,
    상기 메모리 로그 데이터에 의하여, 현재 시점 이전의 제11 사전 설정 시간대 내의 트랜잭션(transaction) 필드를 합산하여 상기 transaction 필드의 합산 결과를 취득하고, 현재 시점 이전의 제11 사전 설정 시간대 내의 레지스터 블록 번호 필드를 카운팅하여 상기 레지스터 블록 번호 필드의 카운팅 결과를 취득하며;
    상기 transaction 필드의 합산 결과 및 상기 레지스터 블록 번호 필드의 카운팅 결과에 의하여, 상기 메모리 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하며;
    상기 다양한 로그 데이터에 상기 운영체제 커널 로그가 더 포함되는 경우, 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계에 있어서,
    상기 운영체제 커널 로그 중의 메모리 오류와 관련이 있는 각 유형의 필드를 통계하고;
    현재 시점 이전의 제12 사전 설정된 시간대 내의 각 유형의 필드를 카운팅하여 상기 각 유형의 필드에 각각 대응되는 카운팅 결과를 취득하며;
    상기 각 유형 필드에 각각 대응되는 카운팅 결과에 의하여, 상기 운영체제 커널 로그에 대응되는 특성 데이터 테이블을 취득하고;
    상기 다양한 로그 데이터에 상기 EDAC 로그가 더 포함되는 경우, 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계에 있어서,
    상기 EDAC 로그에 의하여 현재 시점 이전의 제13 사전 설정된 시간대 내의 MC 필드, page 필드 및 offset 필드를 카운팅하여 상기 MC 필드의 카운팅 결과, 상기 page 필드의 카운팅 결과 및 상기 offset 필드의 카운팅 결과를 취득하고;
    상기 MC 필드의 카운팅 결과, 상기 page 필드의 카운팅 결과 및 상기 offset 필드의 카운팅 결과에 의하여, 상기 EDAC 로그에 대응되는 특성 데이터 테이블을 취득하며;
    상기 다양한 로그 데이터에 상기 성능 데이터가 더 포함되는 경우, 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계에 있어서,
    상기 성능 데이터에 의하여, 현재 시점 이전의 제14 사전 설정된 시간대 내의 메모리 오류에 영향을 주는 각 유형의 성능 데이터를 평균 계산하여 각 유형의 성능 데이터의 평균값을 취득하고,
    상기 각 유형의 성능 데이터의 평균값에 의하여, 상기 성능 데이터에 대응되는 특성 데이터 테이블을 취득하며;
    상기 다양한 로그 데이터에 상기 환경 및 위치 정보 데이터가 더 포함되는 경우, 상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계에 있어서,
    상기 환경 및 위치 정보 데이터에 의하여, 현재 시점 이전의 제15 사전 설정된 시간대 내의 온도 및 습도를 평균 계산하여 상기 온도의 평균값 및 상기 습도의 평균값을 취득하고,
    상기 온도의 평균값 및 상기 습도의 평균값에 의하여, 상기 환경 및 위치 정보 데이터에 대응되는 특성 데이터 테이블을 취득하는; 메모리 오류의 예측 방법.
  5. 제1항에 있어서,
    상기 오류 예측 모듈은 사전 수집된 훈련 데이터 세트 및 머신 러닝 방법에 의하여 훈련을 통하여 취득되고, 머신 러닝 방법의 사전 설정된 손실 함수는 Focal Loss이며, 상기 손실 함수의 계산식은 다음과 같되,

    여기서, α는 평형 인자이고, γ는 변조 파라미터이며, y'는 샘플 예측값이고, y는 샘플 라벨값이며, Lfl은 샘플 예측값 및 샘플 라벨값의 오차인 메모리 오류의 예측 방법.
  6. 제1항에 있어서,
    상기 훈련 데이터 세트 중의 샘플은 모두 라벨값이 표기되고, 상기 라벨값은,
    각 샘플에 대응되는 시점과 메모리 오류가 발생한 샘플에 대응되는 시점 사이의 시간 간격을 계산하고;
    상기 시간 간격 및 상기 시간 간격을 [0, 1] 구간 내로 매핑하기 위한 계산식에 의하여 각 상기 샘플의 라벨값을 계산하는 방식; 을 통하여 확정되며,
    상기 계산식은 다음과 같되,

    여기서, label은 계산된 라벨값이고, X축은 상기 시간 간격이며, a는 제1 사전 설정 계수이고, T는 사전 설정된 오류 영향 시간 길이인 메모리 오류의 예측 방법.
  7. 제1항 또는 제6항에 있어서,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하는 단계는,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 하는 단계; 및,
    상기 출력 결과 및 오류 발생 시점을 예측하기 위한 시간 계산식에 의하여 상기 측정 대상 메모리의 오류 발생 시점의 예측 결과를 취득하는 단계; 를 포함하고,
    시간 시간 계산식은 다음과 같되,

    여기서, t는 측정 대상 메모리의 오류 발생 시점이고, b는 제2 사전 설정 계수이며, output는 출력 결과이고, T는 사전 설정된 오류 영향 시간 길이인 메모리 오류의 예측 방법.
  8. 제1항에 있어서,
    상기 측정 대상 메모리의 다양한 로그 데이터를 취득하는 단계는,
    1분 단위로 특정 대상 메모리의 다양한 로그 데이터 취득하는 단계; 를 포함하고,
    상기 다양한 로그 데이터에 의하여 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계는,
    현재 시점과 가장 가까운 m분 이내의 다양한 로그 데이터를 취득한 다음, 상기 m분 내의 다양한 로그 데이터 및 상기 m분 이전의 n분 이내의 다양한 로그 데이트를 합병하고, 합병된 다양한 로그 데이터를 현재 시험에서 오류 예측을 수행하는데 필요한 로그 데이터로 사용하되, n+m분은 사전 설정된 오류 예측을 수행하는데 필요한 최소 시간 길이인 단계; 및,
    현재 시점에서 오류 예측을 수행하는데 필요한 로그 데이터를 1분 단위로 특성 공학 구축을 수행함으로써, 상기 다양한 로그 데이터에 각각 대응되는 특성 데이터 테이블을 취득하는 단계; 를 포함하는 메모리 오류의 예측 방법.
  9. 제5항에 있어서,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하는 단계는,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리를 1로 분류하는 신뢰성 수준을 취득하는 단계; 및,
    상기 신뢰성 수준에 의하여 상기 측정 대상 메모리의 건강도를 확정하되, 상기 건강도는 1 - 신뢰성 수준으로서, 상기 건강도가 낮을 수록 상기 측정 대상 메모리에 오류가 발생할 가능성이 더욱 높은 단계; 를 포함하는 메모리 오류의 예측 방법.
  10. 제6항에 있어서,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 오류 예측 결과를 취득하는 단계는,
    상기 특성 연결 데이터 테이블 및 사전 훈련된 오류 예측 모델에 의하여, 상기 측정 대상 메모리의 예측값을 취득하되, 상기 예측값은 0 - 1 사이의 부동 소수점 수인 단계; 및,
    상기 예측값에 의하여 상기 측정 대상 메모리의 건강도를 확정하되, 상기 건강도는 1 - 예측값으로서, 상기 건강도가 낮을 수록 상기 측정 대상 메모리에 오류가 발생할 가능성이 더욱 높은 단계; 를 포함하는 메모리 오류의 예측 방법.
  11. 적어도 하나의 프로세서; 및,
    상기 적어도 하나의 프로세서와 통신 연결되는 메모리; 를 포함하여 구성되고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의하여 수행되는 명령이 저장되어, 상기 적어도 하나의 프로세서가 제1항 내지 제10항 중의 임의 항에 따른 메모리 오류의 예측 방법을 수행하도록 하는 전자 장치.
  12. 컴퓨터 프로그램이 저장되되, 상기 컴퓨터 프로그램이 프로세서에 의하여 수행될 때 제1항 내지 제10항 중의 임의 항에 따른 메모리 오류 예측 방법을 구현하는 컴퓨터 판독 가능한 저장 매체.
KR1020247014345A 2021-10-12 2022-09-27 메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체 KR20240065183A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111189254.9A CN115981911A (zh) 2021-10-12 2021-10-12 内存故障的预测方法、电子设备和计算机可读存储介质
CN202111189254.9 2021-10-12
PCT/CN2022/121694 WO2023061209A1 (zh) 2021-10-12 2022-09-27 内存故障的预测方法、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
KR20240065183A true KR20240065183A (ko) 2024-05-14

Family

ID=85966745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247014345A KR20240065183A (ko) 2021-10-12 2022-09-27 메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체

Country Status (3)

Country Link
KR (1) KR20240065183A (ko)
CN (1) CN115981911A (ko)
WO (1) WO2023061209A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116755910B (zh) * 2023-08-16 2023-11-03 中移(苏州)软件技术有限公司 基于冷启动的宿主机高可用预测方法、装置和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2013MU02794A (ko) * 2013-08-27 2015-07-03 Tata Consultancy Services Ltd
CN106598800A (zh) * 2015-10-14 2017-04-26 中兴通讯股份有限公司 一种硬件故障分析系统和方法
CN110598802B (zh) * 2019-09-26 2021-07-27 腾讯科技(深圳)有限公司 一种内存检测模型训练的方法、内存检测的方法及装置
CN112579327B (zh) * 2019-09-27 2024-05-14 阿里巴巴集团控股有限公司 一种故障检测方法、装置及设备
CN113297046A (zh) * 2020-08-03 2021-08-24 阿里巴巴集团控股有限公司 一种内存故障的预警方法及装置

Also Published As

Publication number Publication date
WO2023061209A1 (zh) 2023-04-20
CN115981911A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
Sun et al. System-level hardware failure prediction using deep learning
CN108052528A (zh) 一种存储设备时序分类预警方法
Shang et al. Automated detection of performance regressions using regression models on clustered performance counters
CN106897178B (zh) 一种基于极限学习机的慢盘检测方法及系统
KR101948634B1 (ko) 스마트 컴퓨팅을 위한 시스템 자원의 장애 예측 방법
US20200133758A1 (en) Method, device, and computer program product for facilitating prediction of disk failure
CN110164501B (zh) 一种硬盘检测方法、装置、存储介质及设备
WO2022089202A1 (zh) 故障识别模型训练方法、故障识别方法、装置及电子设备
US11429497B2 (en) Predicting and handling of slow disk
CN112596964B (zh) 磁盘故障的预测方法及装置
WO2022001125A1 (zh) 一种存储系统的存储故障预测方法、系统及装置
CN115248757A (zh) 一种硬盘健康评估方法和存储设备
KR20240065183A (ko) 메모리 오류의 예측 방법, 전자 장치 및 컴퓨터 판독 가능한 저장 매체
CN112951311A (zh) 一种基于变权重随机森林的硬盘故障预测方法及系统
CN109919335A (zh) 基于深度学习的磁盘故障预测系统
Pinciroli et al. Lifespan and failures of SSDs and HDDs: similarities, differences, and prediction models
CN113688564B (zh) 一种预测ssd硬盘剩余寿命的方法、装置、终端及存储介质
CN113946983A (zh) 产品可靠性薄弱环节评估方法、装置和计算机设备
CN116775436A (zh) 芯片故障预测方法、装置、计算机设备和存储介质
CN101752008B (zh) 固态储存媒体可靠度的测试方法
CN113539352A (zh) 一种固态硬盘隐性故障检测方法及相关设备
CN117251327A (zh) 模型训练方法、磁盘故障预测方法、相关装置及设备
CN117591337B (zh) 计算机信息数据交互传输管理系统及方法
CN117271350B (zh) 一种基于日志分析的软件质量评估系统及方法
CN115269245B (zh) 一种内存故障处理方法及计算设备