KR20220013313A - 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법 - Google Patents

비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법 Download PDF

Info

Publication number
KR20220013313A
KR20220013313A KR1020210079984A KR20210079984A KR20220013313A KR 20220013313 A KR20220013313 A KR 20220013313A KR 1020210079984 A KR1020210079984 A KR 1020210079984A KR 20210079984 A KR20210079984 A KR 20210079984A KR 20220013313 A KR20220013313 A KR 20220013313A
Authority
KR
South Korea
Prior art keywords
storage device
storage
electronic device
processor
data
Prior art date
Application number
KR1020210079984A
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 팅크웨어(주)
Priority to JP2021119169A priority Critical patent/JP2022022152A/ja
Priority to US17/383,872 priority patent/US11720257B2/en
Publication of KR20220013313A publication Critical patent/KR20220013313A/ko
Priority to US18/212,837 priority patent/US20230333748A1/en

Links

Images

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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • 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
    • 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/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

다양한 실시예들은 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법을 제공한다. 다양한 실시예들에 따른 전자 장치 및 그의 방법은, 저장 장치의 연결에 응답하여, 저장 장치의 고장 여부를 판단하고, 저장 장치가 고장이면, 저장 장치의 교체를 위한 안내 메시지를 출력하고, 저장 장치가 정상이면, 저장 장치가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하고, 저장 장치가 기능을 가지면, 저장 장치로부터 수신되는 상태 정보를 기반으로, 저장 장치의 수명을 확인하고, 저장 장치가 기능을 갖지 않으면, 저장 장치의 수명을 추정하고, 수명을 기반으로, 저장 장치의 교체를 위한 안내 메시지를 출력하도록 구성될 수 있다.

Description

비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법{ELECTRONIC DEVICE FOR DETERMINING LIFTTIME AND FAILURE NON-VOLATILE MEMORY STORAGE DEVICE, AND METHOD OF THE SAME}
다양한 실시예들은 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법에 관한 것이다.
비휘발성 메모리 저장 장치는 용량과 속도가 빠르게 발전하고 있으며, 이에 따라 전자 장치에 장착되어, 널리 사용되고 있다. 저장 장치는 물리적, 전기적 특성에 의해 쓰기와 지우기 동작에 대한 수명이 정해져 있으며, 저장 장치가 사용됨에 따라, 수명이 감소된다. 그리고, 수명이 특정 값 이하로 남아 있는 경우, 저장 장치는 정상적으로 작동하지 않게 된다. 예를 들어, 저장 장치의 평균 쓰기 속도가 감소되거나, 저장 장치에 데이터가 정상적으로 저장되지 않는다. HDD(hard disk drive) 또는 SSD(solid state drive)와 같은 저장 장치는 자체적으로 상태를 파악하는 기능을 갖고, 이를 기반으로 상태 정보를 제공하여, 사용자가 저장 장치를 교체하게 한다. 그러나, SD(secure digital) 카드 또는 USB 메모리(USB flash drive)와 같은 저장 장치는 이러한 기능을 갖지 않는다.
다양한 실시예들은, 장착되는 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법을 제공한다.
다양한 실시예들은, 자체적으로 상태를 파악하는 기능을 갖지 않는 비휘발성 메모리 저장 장치에 대해, 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법을 제공한다.
다양한 실시예들은 비휘발성 메모리 저장 장치의 장착 및 분리가 가능한 전자 장치 및 그의 방법을 제공한다.
다양한 실시예들에 따른 전자 장치의 방법은, 저장 장치의 연결을 감지하는 단계, 상기 저장 장치의 수명을 추정하는 단계, 및 상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치의 방법은, 저장 장치의 연결에 응답하여, 상기 저장 장치의 고장 여부를 판단하는 단계, 상기 저장 장치가 고장이면, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계, 상기 저장 장치가 정상이면, 상기 저장 장치의 수명을 추정하는 단계, 및 상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 저장 장치와 연결을 위해 구성되는 연결 단자, 및 상기 연결 단자와 연결되고, 상기 연결 단자를 통해, 상기 저장 장치에 데이터를 저장하도록 구성되는 프로세서를 포함하고, 상기 프로세서는, 상기 저장 장치의 수명을 추정하고, 상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하도록 구성될 수 있다.
다양한 실시예들에 따르면, 전자 장치가 장착되는 비휘발성 메모리 저장 장치의 수명 및 고장 여부를 판단할 수 있다. 이 때, 자체적으로 상태를 파악하는 기능을 갖는 저장 장치에 대해, 전자 장치는 저장 장치로부터의 상태 정보를 기반으로, 저장 장치의 수명을 확인할 수 있다. 뿐만 아니라, 자체적으로 상태를 파악하는 기능을 갖지 않는 저장 장치에 대해, 전자 장치는 저장 장치의 수명을 추정할 수 있다. 즉, 전자 장치는 장착되는 저장 장치의 타입과 관계없이, 저장 장치의 수명 및 고장 여부를 판단할 수 있다. 따라서, 전자 장치는 저장 장치의 수명 및 고장 여부를 기반으로, 사용자에게 저장 장치의 교체 시기를 정확하게 알려줄 수 있다. 이로 인해, 저장 장치에 대한 사용 효율성이 증대될 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치를 개략적으로 도시하는 도면이다.
도 2는 제 1 실시예에 따른 전자 장치의 프로세서를 세부적으로 도시하는 도면이다.
도 3은 도 2의 데이터 처리부를 예시적으로 도시하는 도면이다.
도 4는 제 2 실시예에 따른 전자 장치의 프로세서를 세부적으로 도시하는 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치의 방법을 도시하는 도면이다.
도 6은 일 실시예에 따른 도 5의 저장 장치의 고장 여부를 판단하는 단계를 도시하는 도면이다.
도 7은 다른 실시예에 따른 도 5의 저장 장치의 고장 여부를 판단하는 단계를 도시하는 도면이다.
도 8은 또 다른 실시예에 따른 도 5의 저장 장치의 고장 여부를 판단하는 단계를 도시하는 도면이다.
도 9는 일 실시예에 따른 도 5의 저장 장치의 수명을 추정하는 단계를 도시하는 도면이다.
도 10은 다른 실시예에 따른 도 5의 저장 장치의 수명을 추정하는 단계를 도시하는 도면이다.
도 11은 또 다른 실시예에 따른 도 5의 저장 장치의 수명을 추정하는 단계를 도시하는 도면이다.
도 12는 다양한 실시예들에 따른 전자 장치가 장착되는 차량을 도시하는 도면이다.
도 13은 도 12의 전자 장치를 도시하는 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
도 1은 다양한 실시예들에 따른 전자 장치(100)를 개략적으로 도시하는 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 전자 장치(100)는 비휘발성 메모리 저장 장치(10)의 장착 및 분리가 가능하게 구현될 수 있다. 예를 들어, 저장 장치(10)는 SD(secure digital) 카드 또는 USB(universal serial bus) 메모리(USB flash drive) 중 적어도 하나를 포함할 수 있다. 이러한 전자 장치(100)는 카메라 모듈(110), 연결 단자(120), 통신 모듈(130), 입력 모듈(140), 출력 모듈(150), 센서 모듈(160), 메모리(170), 또는 프로세서(180) 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치(100)의 구성 요소들 중 적어도 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예들에서, 전자 장치(100)의 구성 요소들 중 적어도 두 개가 하나의 통합된 회로로 구현될 수 있다. 예를 들어, 전자 장치(100)는 블랙박스(black box), 스마트폰(smart phone), 휴대폰, 컴퓨터, 노트북, 디지털방송용 단말, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, 또는 로봇(robot) 중 적어도 하나를 포함할 수 있다.
카메라 모듈(110)은 전자 장치(100)에서 영상을 촬영할 수 있다. 이 때, 카메라 모듈(110)은 전자 장치(100)의 미리 정해진 위치에 설치되어, 영상을 촬영할 수 있다. 이를 통해, 카메라 모듈(110)은 영상 신호를 수집할 수 있다. 예를 들어, 카메라 모듈(110)은 렌즈, 적어도 하나의 이미지 센서, 또는 플래시 중 적어도 하나를 포함할 수 있다.
연결 단자(120)는 전자 장치(100)에서 외부 장치(102) 또는 저장 장치(10)와 물리적으로 연결될 수 있다. 이를 위해, 연결 단자(120)는 적어도 하나의 커넥터를 포함할 수 있다. 예를 들어, 커넥터는 HDMI 커넥터, USB 커넥터, SD 카드 커넥터 또는 오디오 커넥터 중 적어도 하나를 포함할 수 있다.
통신 모듈(130)은 전자 장치(100)에서 외부 장치(102)와 통신을 수행할 수 있다. 통신 모듈(130)은 전자 장치(100)와 외부 장치(102) 간 통신 채널을 수립하고, 통신 채널을 통해, 외부 장치(102)와 통신을 수행할 수 있다. 여기서, 외부 장치(102)는 위성, 기지국, 서버 또는 다른 전자 장치 중 적어도 하나를 포함할 수 있다. 통신 모듈(130)은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 유선 통신 모듈은 연결 단자(120)를 통해, 외부 장치(102)와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치(102)와 근거리 통신 방식으로 통신할 수 있다. 예를 들어, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 장치(102)와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크(190)를 통해 외부 장치(102)와 통신할 수 있다. 예를 들어, 네트워크(190)는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 하나를 포함할 수 있다.
입력 모듈(140)은 전자 장치(100)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 입력 모듈(140)은 프로세서(180)에 사용될 명령 또는 데이터를 사용자로부터 수신하여, 신호를 발생시킬 수 있다. 이 때, 입력 모듈(140)은 오디오 신호를 수집할 수 있다. 예를 들어, 입력 모듈(140)은 마이크로폰(microphone), 마우스(mouse) 또는 키보드(keyboard) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서, 입력 모듈(140)은 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 하나를 포함할 수 있다.
출력 모듈(150)은 전자 장치(100)의 정보를 출력할 수 있다. 출력 모듈(150)은 정보를 시각적으로 표시하기 위한 표시 모듈 또는 정보를 오디오 신호로 출력하기 위한 오디오 출력 모듈 중 적어도 하나를 포함할 수 있다. 예를 들어, 표시 모듈은 디스플레이, 홀로그램 장치 또는 프로젝터 중 적어도 하나를 포함할 수 있다. 일 예로, 표시 모듈은 입력 모듈(140)의 터치 회로 또는 센서 회로 중 적어도 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들어, 오디오 출력 장치는 스피커 또는 리시버 중 적어도 하나를 포함할 수 있다.
센서 모듈(160)은 전자 장치(100)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 예를 들어, 센서 모듈(160)은, 레이더(radar) 센서, 라이다(LIDAR) 센서, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서 또는 조도 센서 중 적어도 하나를 포함할 수 있다.
메모리(170)는 전자 장치(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(170)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(170)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있으며, 예컨대 운영 체제, 미들웨어 또는 어플리케이션 중 적어도 하나를 포함할 수 있다.
프로세서(180)는 메모리(170)의 프로그램을 실행하여, 전자 장치(100)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(180)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때, 프로세서(180)는 메모리(170)에 저장된 명령을 실행할 수 있다. 프로세서(180)는 연결 단자(120)와 연결되고, 연결 단자(120)를 통해, 저장 장치(10)에 데이터를 저장할 수 있다. 여기서, 프로세서(180)는 데이터를 파일(file)들로 저장할 수 있다. 한편, 저장 장치(10)와 연결된 중에, 프로세서(180)는 저장 장치(10)의 수명 및 고장 여부를 판단할 수 있다. 그리고, 프로세서(180)는 저장 장치(10)의 수명 또는 고장 여부를 기반으로, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 여기서, 프로세서(180)는 출력 모듈(150)을 통해, 안내 메시지를 출력할 수 있다. 일 예로, 프로세서(180)는 표시 모듈을 통해, 안내 메시지를 텍스트 또는 발광 신호 중 적어도 하나로 표시하거나, 오디오 출력 모듈을 통해, 안내 메시지를 오디오 신호로 출력할 수 있다. 이에 따라, 전자 장치(100)의 사용자가 안내 메시지를 통해, 저장 장치(10)에 대한 교체 여부를 결정하고, 필요에 따라, 저장 장치(10)를 교체할 것이다.
도 2는 제 1 실시예에 따른 전자 장치(100)의 프로세서(180)를 세부적으로 도시하는 도면이다. 도 3은 도 2의 데이터 처리부(210)를 예시적으로 도시하는 도면이다.
도 2를 참조하면, 제 1 실시예에 따른 전자 장치(100)의 프로세서(180)는 전자 장치(100)에 장착되는 저장 장치(10)와 연결되며, 데이터 처리부(210), 저장 버퍼(220), 장치 식별부(230), 지원 정보 데이터베이스(240), 사용 기록 데이터베이스(250), 버퍼 확인부(260), 무결성 확인부(270), 상태 확인부(280), 또는 수명 추정부(290) 중 적어도 하나를 포함할 수 있다. 도 2에서, 프로세서(180)의 구성 요소들이 모두 프로세서(180)의 내부에 구성되는 것으로 도시되었으나, 이에 제한되지 않는다. 즉, 프로세서(180)의 구성 요소들 중 일부는 프로세서(180)의 외부에 구성될 수도 있다.
데이터 처리부(210)는 저장 장치(10)에 저장될 데이터를 처리할 수 있다. 이 때, 데이터 처리부(210)는 카메라 모듈(110), 입력 모듈(140), 센서 모듈(160), 메모리(170), 또는 통신 모듈(130) 중 적어도 하나로부터 수신되는 신호 또는 데이터를 처리할 수 있다. 예를 들어, 전자 장치(100)가 차량용 블랙박스, 차량용 영상 기록 장치(car video recorder)와 같은 카메라 모듈(110)을 통해 획득된 이미지 데이터를 인코딩하는 영상 기록 장치인 경우, 데이터 처리부(210)는, 도 3에 도시된 바와 같이 이미지 시그널 프로세서(image signal processor; ISP)(311), 비디오 인코더(321), 아날로그-디지털 컨버터(analog-to-digital convertor)(313), 오디오 인코더(323), 및 먹서(multiplexer; MUX)(330)를 포함할 수 있다. 이미지 시그널 프로세서(311)는 카메라 모듈(110)을 통해 수신되는 아날로그의 영상 신호를 디지털의 영상 데이터로 변환하고, 비디오 인코더(321)는 디지털의 영상 데이터를 비트로 표현할 수 있다. 아날로그-디지털 컨버터(313)는 입력 모듈(140)의 마이크로폰을 통해 수신되는 아날로그의 오디오 신호를 디지털의 오디오 데이터로 변환하고, 오디오 인코더(323)는 디지털의 오디오 데이터를 비트로 표현할 수 있다. 먹서(330)는 영상 데이터와 오디오 데이터를 함께 저장 버퍼(220)로 출력할 수 있다. 여기서, 먹서(330)는 영상 데이터와 오디오 데이터를 멀티미디어 데이터로서 통합하여 저장 버퍼(220)로 출력할 수 있다.
저장 버퍼(220)는 저장 장치(10)에 저장될 데이터를 일시적으로 저장하도록 구성될 수 있다. 이를 위해, 저장 버퍼(220)는 데이터 처리부(210)와 저장 장치(10) 사이에 배치될 수 있다. 그리고, 저장 버퍼(220)는 데이터 처리부(210)로부터 출력되는 데이터를 저장할 수 있다. 이를 통해, 저장 장치(10)는 저장 버퍼(220)에 저장된 데이터를 가져와서, 저장할 수 있다. 이 때, 저장 장치(10)의 수명이 충분하게 남아 있는 경우, 저장 장치(10)에서의 평균 쓰기 속도가 정상 범위 내에서 유지되며, 저장 버퍼(220)에 저장된 데이터량도 버퍼 임계치 이하로 유지될 수 있다. 그리고, 저장 장치(10)의 수명이 충분히 남아 있지 않은 경우, 저장 장치(10) 내에서 저장 셀(cell)을 복구하거나, 다른 셀로 재배치(relocation)하기 위해 저장 장치(10)에서의 평균 쓰기 속도가 정상 범위 미만으로 감소되며, 저장 버퍼(220)에 저장된 데이터량은 버퍼 임계치를 초과하도록 증가될 수 있다.
장치 식별부(230)는 저장 장치(10)의 연결에 응답하여, 저장 장치(10)를 식별할 수 있다. 이 때, 장치 식별부(230)는 저장 장치(10)로부터, 저장 장치(10)의 식별 정보를 검출할 수 있다. 여기서, 저장 장치(10)의 식별 정보는, 저장 장치(10)의 제조사 정보(예: OEM(original equipment manufacturing) 코드), 제품 정보(예: 제품 명(product name) 또는 제품 코드(product code)), 및 고유 식별자(예: 일련번호(serial number))를 포함할 수 있다.
지원 정보 데이터베이스(240)는 전자 장치(100)에 장착 가능한 저장 장치(10)와 관련된 지원 정보를 저장하고 있을 수 있다. 일 예로, 지원 정보 데이터베이스(240)는 전자 장치(100)의 내부에 있을 수 있다. 도 2에서, 지원 정보 데이터베이스(240)가 프로세서(180)의 내부에 구성되는 것으로 도시되었으나, 이에 제한되지 않는다. 즉, 도시되지는 않았으나, 지원 정보 데이터베이스(240)는 프로세서(180)의 외부, 예컨대 메모리(170)에 있을 수 있다. 다른 예로, 도시되지는 않았으나, 지원 정보 데이터베이스(240)는 전자 장치(100)의 외부에 있을 수 있다. 여기서, 지원 정보 데이터베이스(240)는 전자 장치(100)와 통신 가능한 서버(도시되지 않음)에 있을 수 있다. 지원 정보 데이터베이스(240)는 저장 장치(10)의 식별 정보에 대응하여, 해당 저장 장치(10)의 지원 정보를 저장할 수 있다. 지원 정보는 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부, 또는 저장 장치(10)에 대해 제조사에 의해 정해진 최대 저장량 중 적어도 하나를 포함할 수 있다. 저장 장치(10)가 자체적으로 상태를 파악하는 기능은 헬스 상태 모니터링(health status monitoring) 기능으로 지칭될 수 있다. 최대 저장량은 TBW(terabyte written)으로 지칭될 수 있으며, WAF(write amplification factor)가 1일 때의 최대 저장량을 테라바이트(terabyte) 단위로 표현할 수 있다. WAF는 저장 장치(10)의 데이터 저장 방식 및 특성에 따라, 저장 장치(10)에 대해 정해진 값일 수 있다. 예를 들어, WAF는 저장 장치(10)를 사용하는 전자 장치(100)의 어플리케이션 및 파일 시스템(file system)의 구현 방식에 따라, 실험적으로 또는 이론적으로 도출될 수 있다.
사용 기록 데이터베이스(250)는 전자 장치(100)에서 장착되었던 저장 장치(10)의 사용 기록을 저장하고 있을 수 있다. 제 1 실시예에 따르면, 사용 기록 데이터베이스(250)는 전자 장치(100)의 내부에 있을 수 있다. 도 2에서, 사용 기록 데이터베이스(250)가 프로세서(180)의 내부에 구성되는 것으로 도시되었으나, 이에 제한되지 않는다. 즉, 도시되지는 않았으나, 사용 기록 데이터베이스(250)는 프로세서(180)의 외부, 예컨대 메모리(170)에 있을 수 있다. 사용 기록 데이터베이스(250)는 저장 장치(10)의 식별 정보에 대응하여, 해당 저장 장치(10)의 사용 기록을 저장할 수 있다. 사용 기록은 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 포함할 수 있다.
버퍼 확인부(260)는 저장 버퍼(220)에 저장된 데이터양을 확인할 수 있다. 이때, 버퍼 확인부(260)는, 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 지의 여부를 모니터링할 수 있다.
무결성 확인부(270)는 저장 장치(10)에 저장된 데이터의 파일들의 각각에 대해 무결성을 확인할 수 있다. 이 때, 저장 장치(10)는 데이터를 파일들로 저장하면서, 파일들의 각각에 대한 검증 값들을 저장할 수 있다. 예를 들어, 검증 값들은 해쉬(hash) 값 또는 파일 체크 섬(file check sum)으로 표현될 수 있다. 여기서, 검증 값들은 데이터 처리부(210)에서 생성될 수 있다. 예를 들어, 전자 장치(100)가 차량용 블랙박스, 차량용 영상 기록 장치(car video recorder)와 같은 카메라 모듈(110)을 통해 획득된 이미지 데이터를 인코딩하는 영상 기록 장치인 경우, 검증 값들은 먹서(330)에서 생성될 수 있다. 그런데, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 저장되는 파일에 대해 깨짐 현상이 발생되며, 이로 인해 해당 파일의 검증 값도 변경될 수 있다. 따라서, 무결성 확인부(270)는 파일들의 검증 값들을 이용하여, 파일들의 각각에 대해 무결성을 확인할 수 있다. 이 때, 무결성 확인부(270)는 파일들의 각각을 정상적인 파일 또는 비정상적인 파일로 구분할 수 있다.
상태 확인부(280)는 저장 장치(10)의 상태를 확인할 수 있다. 그리고, 상태 확인부(280)는, 자체적으로 상태를 파악하는 기능을 갖는 저장 장치(10)로부터 상태 정보를 획득할 수 있다.
수명 추정부(290)는 저장 장치(10)의 고장 여부를 판단할 수 있다. 수명 추정부(290)는, 상태 확인부(280)를 통해 저장 장치(10)에 기록 보호(write protection) 모드가 설정되어 있는 지의 여부를 확인하고, 이를 기반으로 저장 장치(10)의 고장 여부를 판단할 수 있다. 여기서, 기록 보호 모드는, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 설정될 수 있다. 따라서, 저장 장치(10)에 기록 보호 모드가 설정되어 있으면, 수명 추정부(290)는 저장 장치(10)가 고장인 것으로 판단할 수 있다. 한편, 수명 추정부(290)는 무결성 확인부(270)를 통해 확인된 비정상적인 파일들의 카운트(count)를 기반으로, 저장 장치(10)의 고장 여부를 판단할 수 있다. 즉, 카운트가 카운트 임계치를 초과하면, 상태 확인부(280)는 저장 장치(10)가 고장인 것으로 판단할 수 있다. 이를 통해, 저장 장치(10)가 고장인 것으로 판단되면, 수명 추정부(290)는 출력 모듈(150)을 통해 저장 장치(10)의 고장에 따른 안내 메시지를 출력할 수 있다.
그리고, 수명 추정부(290)는 저장 장치(10)의 수명을 추정할 수 있다. 지원 정보 데이터베이스(240)를 통해 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 것으로 확인되면, 수명 추정부(290)는 상태 확인부(280)를 통해 저장 장치(10)로부터 수신되는 상태 정보를 기반으로, 저장 장치(10)의 수명을 확인할 수 있다. 한편, 지원 정보 데이터베이스(240)를 통해 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖지 않는 것으로 확인되면, 수명 추정부(290)는 저장 장치(10)의 수명을 추정할 수 있다. 수명 추정부(290)는 버퍼 확인부(260)를 통해 저장 버퍼(220)에 저장된 데이터양을 확인하고, 이를 기반으로 저장 장치(10)의 수명을 추정할 수 있다. 한편, 수명 추정부(290)는 사용 기록 데이터베이스(250)를 통해 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 확인하고, 이를 기반으로 저장 장치(10)의 수명을 추정할 수 있다. 여기서, 수명 추정부(290)는 저장 장치(10)에 대해 데이터를 저장하는 것을 종료할 때, 사용 기록 데이터베이스(250)에서 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 갱신할 수 있다. 이 때, 수명 추정부(290)는 저장 장치(10)에 저장되어 있는 데이터양과 저장 장치(10)에 대해 정해진 WAF의 곱에 의해, 저장 장치(10)의 수명을 추정할 수 있다. 이를 통해, 수명 추정부(290)는 저장 장치(10)의 수명을 추정하고, 수명을 기반으로, 출력 모듈(150)을 통해 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다.
도 4는 제 2 실시예에 따른 전자 장치(100)의 프로세서(180)를 세부적으로 도시하는 도면이다.
도 4를 참조하면, 제 2 실시예에 따른 전자 장치(100)의 프로세서(180)는 전자 장치(100)에 장착되는 저장 장치(10)와 연결되며, 데이터 처리부(210), 저장 버퍼(220), 장치 식별부(230), 지원 정보 데이터베이스(240), 버퍼 확인부(260), 무결성 확인부(270), 상태 확인부(280), 또는 수명 추정부(290) 중 적어도 하나를 포함할 수 있다. 도 4에서, 프로세서(180)의 구성 요소들이 모두 프로세서(180)의 내부에 구성되는 것으로 도시되었으나, 이에 제한되지 않는다. 즉, 프로세서(180)의 구성 요소들 중 일부는 프로세서(180)의 외부에 구성될 수도 있다. 이 때, 제 2 실시예의 구성 요소들은 제 1 실시예의 구성 요소들과 대체로 유사하므로, 상세한 설명을 생략한다. 다만, 제 1 실시예에서는 전자 장치(100)가 사용 기록 데이터베이스(250)를 포함하지만, 제 2 실시예에서는 저장 장치(10)가 사용 기록 데이터베이스(450)를 포함할 수 있다.
사용 기록 데이터베이스(450)는 저장 장치(10)의 사용 기록을 저장하고 있을 수 있다. 제 2 실시예에 따르면, 사용 기록 데이터베이스(450)는 저장 장치(10)의 내부에 있으며, 해당 저장 장치(10)의 사용 기록만을 저장하고 있을 수 있다. 사용 기록 데이터베이스(450)는 해당 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 저장할 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치(100)의 방법을 도시하는 도면이다.
도 5를 참조하면, 전자 장치(100)는 510 단계에서 저장 장치(10)의 연결을 감지할 수 있다. 프로세서(180)는 연결 단자(120)와 연결되어 있고, 저장 장치(10)가 전자 장치(100)에 장착되면, 저장 장치(10)는 연결 단자(120)와 연결될 수 있다. 이를 통해, 프로세서(180)는 연결 단자(120)를 통해 저장 장치(10)의 연결을 감지할 수 있다.
전자 장치(100)는 520 단계에서 저장 장치(10)의 고장 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(180)는 저장 장치(10)에 기록 보호 모드가 설정되어 있는 지의 여부를 기반으로, 저장 장치(10)의 고장 여부를 판단할 수 있다. 이에 대해, 도 6을 참조하여, 보다 상세하게 후술될 것이다. 다른 실시예에 따르면, 프로세서(180)는 저장 장치(10)에 저장된 데이터의 파일들의 무결성을 기반으로, 저장 장치(10)의 고장 여부를 판단할 수 있다. 이에 대해, 도 7을 참조하여, 보다 상세하게 후술될 것이다. 또 다른 실시예에 따르면, 프로세서(180)는 저장 장치(10)에 대한 기록 보호 모드의 설정 여부 및 파일들의 무결성의 조합을 기반으로, 저장 장치(10)의 고장 여부를 판단할 수 있다. 이에 대해, 도 8을 참조하여, 보다 상세하게 후술될 것이다. 이 때, 저장 장치(10)가 고장인 것으로 판단되면, 프로세서(180)는 출력 모듈(150)을 통해 저장 장치(10)의 고장에 따른 안내 메시지를 출력할 수 있다. 그리고, 저장 장치(10)가 정상인 것으로 판단되면, 프로세서(180)는 530 단계로 진행할 수 있다.
전자 장치(100)는 530 단계에서 저장 장치(10)의 식별 정보를 검출할 수 있다. 프로세서(180)는 저장 장치(10)로부터, 저장 장치(10)의 식별 정보를 검출할 수 있다. 여기서, 저장 장치(10)의 식별 정보는, 저장 장치(10)의 제조사 정보, 제품 정보, 및 고유 식별자를 포함할 수 있다.
전자 장치(100)는 540 단계에서 저장 장치(10)로부터 저장 장치(10)의 수명을 확인할 수 있는 지의 여부를 판단할 수 있다. 프로세서(180)는 저장 장치(10)의 식별 정보를 이용하여, 지원 정보 데이터베이스(240)로부터 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인할 수 있다. 이 때, 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 경우, 프로세서(180)는 저장 장치(10)로부터 수명을 확인할 수 있는 것으로 판단할 수 있다. 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 경우, 저장 장치(10)는 상태 정보를 제공할 수 있다. 여기서, 상태 정보는 헬스 상태 명령(health status command)로 지칭될 수 있다. 한편, 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖지 않는 경우, 프로세서(180)는 저장 장치(10)로부터 수명을 확인할 수 없는 것으로 판단할 수 있다.
540 단계에서 저장 장치(10)로부터 수명을 확인할 수 있는 것으로 판단되면, 전자 장치(100)는 542 단계에서 저장 장치(10)로부터 저장 장치(10)의 수명을 확인할 수 있다. 프로세서(180)는 저장 장치(10)로부터 상태 정보를 수신하고, 상태 정보를 기반으로, 저장 장치(10)의 수명을 확인할 수 있다. 그리고, 전자 장치(100)는 544 단계에서 저장 장치(10)의 수명을 사용 임계치와 비교할 수 있다. 프로세서(180)는, 저장 장치(10)의 수명이 사용 임계치를 초과하도록 남아 있는 지의 여부를 판단할 수 있다. 544 단계에서 저장 장치(10)의 수명이 사용 임계치를 이하로 남아 있는 것으로 판단되면, 전자 장치(100)는 546 단계에서 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 여기서, 프로세서(180)는 저장 장치(10)의 수명이 나타나도록 안내 메시지를 생성할 수 있다.
540 단계에서 저장 장치(10)로부터 수명을 확인할 수 없는 것으로 판단되면, 전자 장치(100)는 550 단계에서 저장 장치(10)에 데이터를 저장하고, 저장 장치(10)의 수명을 추정할 수 있다. 또는, 544 단계에서 저장 장치(10)의 수명이 사용 임계치를 초과하도록 남아 있는 것으로 판단되면, 전자 장치(100)는 550 단계에서 저장 장치(10)에 데이터를 저장하고, 저장 장치(10)의 수명을 추정할 수 있다. 일 실시예에 따르면, 프로세서(180)는 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장하면서, 저장 버퍼(220)에 저장된 데이터양을 기반으로, 저장 장치(10)의 수명을 추정할 수 있다. 이에 대해, 도 9를 참조하여, 보다 상세하게 후술될 것이다. 다른 실시예에 따르면, 프로세서(180)는 저장 장치(10)에 데이터를 저장하기 전에, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 기반으로, 저장 장치(10)의 수명을 추정할 수 있다. 이에 대해, 도 10을 참조하여, 보다 상세하게 후술될 것이다. 또 다른 실시예에 따르면, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록 및 저장 버퍼(220)에 저장된 데이터양의 조합을 기반으로, 저장 장치(10)의 수명을 추정할 수 있다. 이에 대해, 도 11을 참조하여, 보다 상세하게 후술될 것이다. 이 때, 프로세서(180)는 저장 장치(10)의 수명을 기반으로, 저장 장치(10)에 데이터를 저장하거나, 저장 장치(10)에 데이터를 저장하지 않고 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다.
도 6은 일 실시예에 따른 도 5의 저장 장치(10)의 고장 여부를 판단하는 단계(520 단계)를 도시하는 도면이다.
도 6을 참조하면, 전자 장치(100)는 610 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있는 지의 여부를 판단할 수 있다. 여기서, 기록 보호 모드는, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 설정될 수 있다. 프로세서(180)는 저장 장치(10)에 기록 보호 모드가 설정되어 있는 지의 여부를 판단하고, 이를 기반으로 저장 장치(10)의 고장 여부를 판단할 수 있다.
610 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있는 것으로 판단되면, 전자 장치(100)는 620 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 고장인 것으로 판단하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해 저장 장치(10)의 고장에 따른 안내 메시지를 출력할 수 있다.
한편, 610 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있지 않으면, 전자 장치(100)는 530 단계로 진행할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 정상인 것으로 판단할 수 있다.
도 7은 다른 실시예에 따른 도 5의 저장 장치(10)의 고장 여부를 판단하는 단계(520 단계)를 도시하는 도면이다.
도 7을 참조하면, 전자 장치(100)는 710 단계에서 저장 장치(10)에 저장된 데이터의 각 파일에 대해 무결성을 확인할 수 있다. 이 때, 저장 장치(10)는 데이터를 파일들로 저장하면서, 파일들의 각각에 대한 검증 값들을 저장할 수 있다. 예를 들어, 검증 값들은 해쉬 값 또는 파일 체크 섬으로 표현될 수 있다. 여기서, 검증 값들은 데이터 처리부(210)에서 생성될 수 있다. 예를 들어, 전자 장치(100)가 차량용 블랙박스, 차량용 영상 기록 장치(car video recorder)와 같은 카메라 모듈(110)을 통해 획득된 이미지 데이터를 인코딩하는 영상 기록 장치인 경우, 검증 값들은 먹서(330)에서 생성될 수 있다. 그런데, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 저장되는 파일에 대해 깨짐 현상이 발생되며, 이로 인해 해당 파일의 검증 값도 변경될 수 있다. 따라서, 프로세서(180)는 해당 파일의 검증 값을 이용하여, 해당 파일에 대해 무결성을 확인할 수 있다. 즉, 프로세서(180)는 해당 파일의 검증 값을 이용하여, 해당 파일이 저장 버퍼(220)에 저장되었던 내용과 동일한 지의 여부를 확인할 수 있다.
전자 장치(100)는 720 단계에서 해당 파일이 정상적인 지의 여부를 판단할 수 있다. 프로세서(180)는 해당 파일의 무결성을 기반으로, 해당 파일이 정상적인 파일인 지 또는 비정상적인 파일인 지를 판단할 수 있다. 즉, 프로세서(180)는 해당 파일이 저장 버퍼(220)에 저장되었던 내용의 정상적인 파일인 지 또는 깨짐 현상이 발생된 비정상적인 파일인 지 판단할 수 있다.
720 단계에서 해당 파일이 비정상적인 것으로 판단되면, 전자 장치(100)는 730 단계에서 비정상적인 파일들에 대한 카운트를 증가시킬 수 있다. 프로세서(180)는 카운트를 1만큼 증가시킬 수 있다. 그리고, 전자 장치(100)는 740 단계에서 카운트를 카운트 임계치와 비교할 수 있다. 이 때, 프로세서(180)는 카운트가 카운트 임계치를 초과하는 지의 여부를 판단할 수 있다.
740 단계에서 카운트가 카운트 임계치를 초과하는 것으로 판단되면, 전자 장치(100)는 750 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 고장인 것으로 판단하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해 저장 장치(10)의 고장에 따른 안내 메시지를 출력할 수 있다.
한편, 740 단계에서 카운트가 카운트 임계치 이하인 것으로 판단되면, 전자 장치(100)는 760 단계에서 저장 장치(10)에 다음 파일이 존재하는 지의 여부를 판단할 수 있다. 즉, 프로세서(180)는 저장 장치(10)의 모든 파일들에 대해 무결성을 확인했는 지의 여부를 판단할 수 있다.
760 단계에서 저장 장치(10)에 다음 파일이 존재하는 것으로 판단되면, 전자 장치(100)는 710 단계로 복귀할 수 있다. 이 후, 전자 장치(100)는 710 단계 내지 760 단계 중 적어도 일부를 반복하여 수행할 수 있다. 프로세서(180)는 740 단계에서 카운트가 카운트 임계치를 초과하는 것으로 판단되거나, 760 단계에서 다음 파일이 존재하지 않는 것으로 판단될 때까지, 710 단계 내지 760 단계 중 적어도 일부를 반복할 수 있다.
한편, 760 단계에서 다음 파일이 존재하지 않는 것으로 판단되면, 전자 장치(100)는 530 단계로 진행할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 정상인 것으로 판단할 수 있다. 즉, 저장 장치(10)의 모든 파일들 중에 비정상적인 파일들이 카운트 임계치 이하로 존재하는 경우, 프로세서(180)는 저장 장치(10)가 정상인 것으로 판단할 수 있다.
도 8은 또 다른 실시예에 따른 도 5의 저장 장치(10)의 고장 여부를 판단하는 단계(520 단계)를 도시하는 도면이다.
도 8을 참조하면, 전자 장치(100)는 800 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있는 지의 여부를 판단할 수 있다. 이 때, 800 단계는 도 6의 610 단계와 유사하므로, 상세한 설명을 생략한다.
800 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있는 것으로 판단되면, 전자 장치(100)는 850 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 고장인 것으로 판단하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해 저장 장치(10)의 고장에 따른 안내 메시지를 출력할 수 있다.
한편, 800 단계에서 저장 장치(10)에 기록 보호 모드가 설정되어 있지 않으면, 전자 장치(100)는 810 단계에서 저장 장치(10)에 저장된 데이터의 각 파일에 대해 무결성을 확인할 수 있다. 이 때, 810 단계 내지 860 단계는 도 7의 710 단계 내지 760 단계와 유사하므로 상세한 설명을 생략한다. 이를 통해, 840 단계에서 카운트가 카운트 임계치를 초과하는 것으로 판단되면, 전자 장치(100)는 850 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 고장인 것으로 판단하고, 안내 메시지를 출력할 수 있다. 한편, 860 단계에서 저장 장치(10)의 모든 파일들에 대해 무결성을 확인한 것으로 판단되면, 전자 장치(100)는 530 단계로 진행할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)가 정상인 것으로 판단할 수 있다. 즉, 저장 장치(10)에 기록 보호 모드가 설정되어 있지 않고, 저장 장치(10)의 모든 파일들 중에 비정상적인 파일들이 카운트 임계치 이하로 존재하는 경우, 프로세서(180)는 저장 장치(10)가 정상인 것으로 판단할 수 있다.
도 9는 일 실시예에 따른 도 5의 저장 장치(10)의 수명을 추정하는 단계(550 단계)를 도시하는 도면이다.
도 9를 참조하면, 전자 장치(100)는 910 단계에서 저장 장치(10)에 데이터를 저장할 수 있다. 프로세서(180)는 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장할 수 있다. 저장 버퍼(220)는 데이터 처리부(210)와 저장 장치(10) 사이에서, 저장 버퍼(220)는 데이터 처리부(210)로부터 출력되는 데이터를 일시적으로 저장할 수 있다. 이를 통해, 저장 장치(10)는 저장 버퍼(220)에 저장된 데이터를 가져와서, 저장할 수 있다. 이 때, 저장 장치(10)의 수명이 충분하게 남아 있는 경우, 저장 장치(10)에서의 평균 쓰기 속도가 정상 범위 내에서 유지되며, 저장 버퍼(220)에 저장된 데이터량도 버퍼 임계치 이하로 유지될 수 있다. 그리고, 저장 장치(10)의 수명이 충분히 남아 있지 않은 경우, 저장 장치(10) 내에서 저장 셀(cell)을 복구하거나, 다른 셀로 재배치(relocation)하기 위해 저장 장치(10)에서의 평균 쓰기 속도가 정상 범위 미만으로 감소되며, 저장 버퍼(220)에 저장된 데이터량은 버퍼 임계치를 초과하도록 증가될 수 있다.
910 단계에서 저장 장치(10)에 데이터를 저장하면서, 전자 장치(100)는 920 단계에서 저장 버퍼(220)에 저장된 데이터양을 확인할 수 있다. 이 때, 프로세서(180)는 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 지의 여부를 모니터링할 수 있다.
920 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 것으로 판단되면, 전자 장치(100)는 930 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)의 수명이 사용 임계치 이하로 남아 있는 것으로 간주하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 예를 들어, 프로세서(180)는 저장 버퍼(220)에 저장된 데이터양을 이용하여, 저장 장치(10)의 수명을 추정하고, 저장 장치(10)의 수명이 나타나도록 안내 메시지를 생성할 수 있다.
한편, 920 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치 이하인 것으로 판단되면, 전자 장치(100)는 940 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료할 지의 여부를 판단할 수 있다. 프로세서(180)는 저장 장치(10)에 데이터를 저장할 것으로 종료하기 위한 이벤트가 발생되는 지의 여부를 모니터링할 수 있다.
940 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료하지 않을 것으로 판단되면, 전자 장치(100)는 910 단계로 복귀할 수 있다. 이 후, 전자 장치(100)는 910 단계 내지 940 단계 중 적어도 일부를 반복하여 수행할 수 있다. 프로세서(180)는 920 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 것으로 판단되거나, 940 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단될 때까지, 910 단계 내지 940 단계 중 적어도 일부를 반복할 수 있다. 한편, 940 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단되면, 전자 장치(100)는 저장 장치(10)에 데이터를 저장하는 것을 종료할 수 있다.
도 10은 다른 실시예에 따른 도 5의 저장 장치(10)의 수명을 추정하는 단계(550 단계)를 도시하는 도면이다.
도 10을 참조하면, 전자 장치(100)는, 1010 단계에서 저장 장치(10)의 사용 기록이 존재하는 지의 여부를 판단할 수 있다. 일 예로, 전자 장치(100)가 사용 기록 데이터베이스(250)를 저장하고 있는 경우, 프로세서(180)는 저장 장치(10)의 식별 정보를 이용하여, 사용 기록 데이터베이스(250)에 저장 장치(10)에 대한 사용 기록이 존재하는 지의 여부를 판단할 수 있다. 즉, 프로세서(180)는 사용 기록 데이터베이스(250)에 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록이 있는 지의 여부를 판단할 수 있다. 다른 예로, 저장 장치(10)가 사용 기록 데이터베이스(450)를 저장하고 있는 경우, 프로세서(180)는 사용 기록 데이터베이스(450)에 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록이 있는 지의 여부를 판단할 수 있다.
1010 단계에서 저장 장치(10)의 사용 기록이 존재하지 않는 것으로 판단되면, 전자 장치(100)는 1020 단계에서 저장 장치(10)의 사용 기록을 위한 레코드를 생성할 수 있다. 일 예로, 전자 장치(100)가 사용 기록 데이터베이스(250)를 저장하고 있는 경우, 프로세서(180)는 사용 기록 데이터베이스(250)에, 저장 장치(10)의 식별 정보에 대응하여 레코드를 생성할 수 있다. 다른 예로, 저장 장치(10)가 사용 기록 데이터베이스(450)를 저장하고 있는 경우, 프로세서(180)는 사용 기록 데이터베이스(450)에 레코드를 생성할 수 있다. 이 후, 전자 장치(100)는 1050 단계로 진행할 수 있다.
한편, 1010 단계에서 저장 장치(10)의 사용 기록이 존재하는 것으로 판단되면, 전자 장치(100)는 1030 단계에서 저장 장치(10)에 저장되어 있는 데이터양을 기반으로 추정되는 저장량을 저장 임계치와 비교할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양과 저장 장치(10)에 대해 정해진 WAF의 곱에 의해, 저장량을 추정할 수 있다. 그리고, 프로세서(180)는 저장량이 저장 임계치 이상인 지의 여부를 판단할 수 있다. 여기서, 저장 임계치는 해당 저장 장치(10)에 대해 제조사에 의해 정해진 최대 저장량, 예컨대 TBW로부터 정해질 수 있다. 저장 장치(10)의 수명이 충분하게 남아 있는 경우, 저장량은 TBW 보다 작으며, 따라서, 저장 임계치는 TBW 보다 작은 값으로 정해질 수 있다.
1030 단계에서 저장 장치(10)의 저장량이 저장 임계치 이상인 것으로 판단되면, 전자 장치(100)는 1040 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)의 수명이 사용 임계치 이하로 남아 있는 것으로 간주하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 예를 들어, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양 또는 저장 장치(10)의 저장량을 이용하여, 저장 장치(10)의 수명을 추정하고, 저장 장치(10)의 수명이 나타나도록 안내 메시지를 생성할 수 있다.
한편, 1030 단계에서 저장 장치(10)의 저장량이 저장 임계치 미만인 것으로 판단되면, 전자 장치(100)는 1050 단계에서 저장 장치(10)에 데이터를 저장할 수 있다. 또는, 1020 단계에서 저장 장치(10)의 레코드를 생성한 다음, 전자 장치(100)는 1050 단계에서 저장 장치(10)에 데이터를 저장할 수 있다. 이 때, 프로세서(180)는 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장할 수 있다.
전자 장치(100)는 1060 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료할 지의 여부를 판단할 수 있다. 프로세서(180)는 저장 장치(10)에 데이터를 저장할 것으로 종료하기 위한 이벤트가 발생되는 지의 여부를 모니터링할 수 있다.
1060 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료하지 않을 것으로 판단되면, 전자 장치(100)는 1050 단계로 복귀할 수 있다. 이 후, 전자 장치(100)는 1050 단계 및 1060 단계를 반복하여 수행할 수 있다. 1060 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단될 때까지, 1050 단계 및 1060 단계를 반복할 수 있다.
한편, 1060 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단되면, 전자 장치(100)는 1070 단계에서 저장 장치(10)에 저장되어 있는 데이터양을 기록한 다음, 저장 장치(10)에 데이터를 저장하는 것을 종료할 수 있다. 이 때, 910 단계에서 저장 장치(10)의 사용 기록이 존재하는 것으로 판단되었으면, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록으로, 저장 장치(10)의 사용 기록을 갱신할 수 있다. 한편, 920 단계에서 저장 장치(10)의 레코드가 생성된 경우, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 레코드에 입력할 수 있다. 일 예로, 전자 장치(100)가 사용 기록 데이터베이스(250)를 저장하고 있는 경우, 프로세서(180)는 사용 기록 데이터베이스(250)에, 저장 장치(10)의 식별 정보에 대응하여, 저장 장치(10)에 저장되어 있는 데이터양을 기록할 수 있다. 다른 예로, 저장 장치(10)가 사용 기록 데이터베이스(450)를 저장하고 있는 경우, 프로세서(180)는 사용 기록 데이터베이스(450)에, 저장 장치(10)에 저장되어 있는 데이터양을 기록할 수 있다.
도 11은 또 다른 실시예에 따른 도 5의 저장 장치(10)의 수명을 추정하는 단계(550 단계)를 도시하는 도면이다.
도 11을 참조하면, 전자 장치(100)는, 1110 단계에서 저장 장치(10)의 사용 기록이 존재하는 지의 여부를 판단할 수 있다. 1110 단계에서 저장 장치(10)의 사용 기록이 존재하지 않는 것으로 판단되면, 전자 장치(100)는 1120 단계에서 저장 장치(10)의 사용 기록을 위한 레코드를 생성할 수 있다. 한편, 1110 단계에서 저장 장치(10)의 사용 기록이 존재하는 것으로 판단되면, 전자 장치(100)는 1130 단계에서 저장 장치(10)에 저장되어 있는 데이터양을 기반으로 추정되는 저장량을 저장 임계치와 비교할 수 있다. 이 때, 1110 단계 내지 1130 단계는 도 10의 1010 단계 내지 1030 단계와 유사하므로, 상세한 설명을 생략한다.
1130 단계에서 저장 장치(10)의 저장량이 저장 임계치 이상인 것으로 판단되면, 전자 장치(100)는 1150 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)의 수명이 사용 임계치 이하로 남아 있는 것으로 간주하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 예를 들어, 프로세서(180)는 저장 장치(10)에 저장되어 있는 데이터양 또는 저장 장치(10)의 저장량을 이용하여, 저장 장치(10)의 수명을 추정하고, 저장 장치(10)의 수명이 나타나도록 안내 메시지를 생성할 수 있다.
한편, 1130 단계에서 저장 장치(10)의 저장량이 저장 임계치 미만인 것으로 판단되면, 전자 장치(100)는 1141 단계에서 저장 장치(10)에 데이터를 저장할 수 있다. 또는, 1120 단계에서 저장 장치(10)의 레코드를 생성한 다음, 전자 장치(100)는 1141 단계에서 저장 장치(10)에 데이터를 저장할 수 있다. 이 때, 프로세서(180)는 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장할 수 있다.
1141 단계에서 저장 장치(10)에 데이터를 저장하면서, 전자 장치(100)는 1143 단계에서 저장 버퍼(220)에 저장된 데이터양을 확인할 수 있다. 이 때, 프로세서(180)는 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 지의 여부를 모니터링할 수 있다.
1143 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 것으로 판단되면, 전자 장치(100)는 1150 단계에서 안내 메시지를 출력할 수 있다. 이 때, 프로세서(180)는 저장 장치(10)의 수명이 사용 임계치 이하로 남아 있는 것으로 간주하고, 안내 메시지를 출력할 수 있다. 프로세서(180)는 출력 모듈(150)을 통해, 저장 장치(10)의 교체를 위한 안내 메시지를 출력할 수 있다. 예를 들어, 프로세서(180)는 저장 버퍼(220)에 저장된 데이터양을 이용하여, 저장 장치(10)의 수명을 추정하고, 저장 장치(10)의 수명이 나타나도록 안내 메시지를 생성할 수 있다.
한편, 1143 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치 이하인 것으로 판단되면, 전자 장치(100)는 1160 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료할 지의 여부를 판단할 수 있다. 프로세서(180)는 저장 장치(10)에 데이터를 저장할 것으로 종료하기 위한 이벤트가 발생되는 지의 여부를 모니터링할 수 있다.
1160 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료하지 않을 것으로 판단되면, 전자 장치(100)는 1141 단계로 복귀할 수 있다. 이 후, 전자 장치(100)는 1141 단계, 1143 단계, 1150 단계, 및 1160 단계 중 적어도 일부를 반복하여 수행할 수 있다. 프로세서(180)는 1143 단계에서 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하는 것으로 판단되거나, 1160 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단될 때까지, 1141 단계, 1143 단계, 1150 단계, 및 1160단계 중 적어도 일부를 반복할 수 있다.
한편, 1160 단계에서 저장 장치(10)에 데이터를 저장하는 것을 종료해야 하는 것으로 판단되면, 전자 장치(100)는 1170 단계에서 저장 장치(10)에 저장되어 있는 데이터양을 기록한 다음, 저장 장치(10)에 데이터를 저장하는 것을 종료할 수 있다. 이 때, 1170 단계는 도 10의 1170 단계와 유사하므로, 상세한 설명을 생략한다.
다양한 실시예들에 따르면, 전자 장치(100)가 장착되는 비휘발성 메모리 저장 장치(10)의 수명 및 고장 여부를 판단할 수 있다. 이 때, 자체적으로 상태를 파악하는 기능을 갖는 저장 장치(10)에 대해, 전자 장치(100)는 저장 장치(10)로부터의 상태 정보를 기반으로, 저장 장치(10)의 수명을 확인할 수 있다. 뿐만 아니라, 자체적으로 상태를 파악하는 기능을 갖지 않는 저장 장치(10)에 대해, 전자 장치(100)는 저장 장치(10)의 수명을 추정할 수 있다. 여기서, 전자 장치(100)는 저장 장치(10)의 쓰기 특성, 예컨대 저장 장치(10)의 평균 쓰기 속도 또는 저장 장치에 저장되어 있는 데이터양을 기반으로, 저장 장치(10)의 수명을 추정할 수 있다. 즉, 전자 장치(100)는 장착되는 저장 장치(10)의 타입과 관계없이, 저장 장치(10)의 수명 및 고장 여부를 판단할 수 있다. 따라서, 전자 장치(100)는 저장 장치(10)의 수명 및 고장 여부를 기반으로, 사용자에게 저장 장치(10)의 교체 시기를 정확하게 알려줄 수 있다. 이로 인해, 저장 장치(10)에 대한 사용 효율성이 증대될 수 있다.
다양한 실시예들은 비휘발성 메모리 저장 장치(10)의 장착 및 분리가 가능한 전자 장치(100)의 방법을 제공할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)의 방법은, 저장 장치(10)의 연결을 감지하는 단계, 저장 장치(10)의 수명을 추정하는 단계, 및 수명을 기반으로, 저장 장치(10)의 교체를 위한 안내 메시지를 출력하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)의 방법은, 저장 장치(10)의 식별 정보를 검출하는 단계, 식별 정보를 기반으로, 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하는 단계, 및 저장 장치(10)가 기능을 가지면, 저장 장치(10)로부터 수신되는 상태 정보를 기반으로, 저장 장치(10)의 수명을 확인하는 단계를 더 포함할 수 있다.
다양한 실시예들에 따르면, 수명을 추정하는 단계는, 저장 장치(10)가 기능을 갖지 않으면, 수명을 추정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는, 저장 장치(10)에 저장될 데이터를 일시적으로 저장하도록 구성되는 저장 버퍼(220)를 포함할 수 있다.
다양한 실시예들에 따르면, 수명을 추정하는 단계는, 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장하는 단계, 및 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하면, 안내 메시지를 생성하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 안내 메시지를 생성하는 단계는, 저장 버퍼(220)에 저장된 데이터양을 이용하여, 수명을 추정하는 단계, 및 수명을 기반으로, 안내 메시지를 생성하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100) 또는 저장 장치(10) 중 적어도 하나에는, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록이 있을 수 있다.
다양한 실시예들에 따르면, 수명을 추정하는 단계는, 저장 장치(10)에 저장되어 있는 데이터양을 기반으로 추정되는 저장량이 저장 임계치를 이상이면, 안내 메시지를 생성하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 저장량은, 저장 장치(10)에 저장되어 있는 데이터양과 저장 장치(10)에 대해 정해진 WAF(write amplification factor)의 곱에 의해, 추정될 수 있다.
다양한 실시예들에 따르면, 안내 메시지를 생성하는 단계는, 저장량을 이용하여, 수명을 추정하는 단계, 및 수명을 기반으로, 안내 메시지를 생성하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 수명을 추정하는 단계는, 저장량이 저장 임계치 미만이면, 저장 장치(10)에 데이터를 저장하는 단계, 및 데이터의 저장 종료 시, 기록을 갱신하는 단계를 더 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)의 방법은, 저장 장치(10)의 연결에 응답하여, 저장 장치(10)의 고장 여부를 판단하는 단계, 및 저장 장치(10)가 고장이면, 안내 메시지를 출력하는 단계를 더 포함할 수 있다.
다양한 실시예들에 따르면, 고장 여부를 판단하는 단계는, 저장 장치(10)에 기록 보호 모드가 설정되어 있으면, 저장 장치(10)가 고장인 것으로 판단하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 기록 보호 모드는, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 설정될 수 있다.
다양한 실시예들에 따르면, 고장 여부를 판단하는 단계는, 저장 장치(10)에 저장된 데이터의 파일들의 각각에 대해 무결성을 확인하여, 비정상적인 파일들의 카운트를 확인하는 단계, 및 카운트가 카운트 임계치를 초과하면, 저장 장치(10)가 고장인 것으로 판단하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는, 저장 장치(10)에 데이터를 파일들로 저장하면서 파일들의 각각에 대한 검증 값들을 저장할 수 있다.
다양한 실시예들에 따르면, 무결성은, 검증 값들을 이용하여, 확인될 수 있다.
다양한 실시예들은 비휘발성 메모리 저장 장치(10)의 장착 및 분리가 가능한 전자 장치(100)를 제공할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는 저장 장치(10)와 연결을 위해 구성되는 연결 단자(120), 및 연결 단자(120)와 연결되고, 연결 단자(120)를 통해, 저장 장치(10)에 데이터를 저장하도록 구성되는 프로세서(180)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)의 수명을 추정하고, 수명을 기반으로, 저장 장치(10)의 교체를 위한 안내 메시지를 출력하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)의 식별 정보를 검출하고, 식별 정보를 기반으로, 저장 장치(10)가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하고, 저장 장치(10)가 기능을 가지면, 저장 장치(10)로부터 수신되는 상태 정보를 기반으로, 저장 장치(10)의 수명을 확인하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)가 기능을 갖지 않으면, 수명을 추정하도록 구성될 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는, 저장 장치(10)에 저장될 데이터를 일시적으로 저장하도록 구성되는 저장 버퍼(220)를 더 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 버퍼(220)를 이용하여, 저장 장치(10)에 데이터를 저장하고, 저장 버퍼(220)에 저장된 데이터양이 버퍼 임계치를 초과하면, 안내 메시지를 생성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 버퍼(220)에 저장된 데이터양을 이용하여, 수명을 추정하고, 수명을 기반으로, 안내 메시지를 생성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 확인하고, 저장 장치(10)에 저장되어 있는 데이터양을 기반으로 추정되는 저장량이 저장 임계치를 이상이면, 안내 메시지를 생성하도록 구성될 수 있다.
일 실시예에 따르면, 전자 장치(100)는, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 갖는 사용 기록 데이터베이스(250)를 더 포함할 수 있다.
다른 실시예에 따르면, 저장 장치(10)가, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 갖고 있을 수 있다.
다양한 실시예들에 따르면, 저장량은, 저장 장치(10)에 저장되어 있는 데이터양과 저장 장치(10)에 대해 정해진 WAF(write amplification factor)의 곱에 의해, 추정될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장량을 이용하여, 수명을 추정하고, 수명을 기반으로, 안내 메시지를 생성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장량이 저장 임계치 미만이면, 저장 장치(10)에 데이터를 저장하고, 데이터의 저장 종료 시, 저장 장치(10)에 저장되어 있는 데이터양에 대한 기록을 갱신하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)의 연결에 응답하여, 저장 장치(10)의 고장 여부를 판단하고, 저장 장치(10)가 고장이면, 안내 메시지를 출력하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)에 기록 보호 모드가 설정되어 있으면, 저장 장치(10)가 고장인 것으로 판단하도록 구성될 수 있다.
다양한 실시예들에 따르면, 기록 보호 모드는, 저장 장치(10)의 수명이 완료되면, 저장 장치(10)에 설정될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)에 저장된 데이터의 파일들의 각각에 대해 무결성을 확인하여, 비정상적인 파일들의 카운트를 확인하고, 카운트가 카운트 임계치를 초과하면, 저장 장치(10)가 고장인 것으로 판단하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 저장 장치(10)에 데이터를 파일들로 저장하면서 파일들의 각각에 대한 검증 값들을 저장하고, 검증 값들을 이용하여, 무결성을 확인하도록 구성될 수 있다.
도 12는 다양한 실시예들에 따른 전자 장치(100)가 장착되는 차량을 도시하는 도면이다. 도 13은 도 12의 전자 장치(100)를 도시하는 도면이다.
도 12 및 도 13을 참조하면, 다양한 실시예들에 따른 제어 장치(2100)(예: 도 1의 전자 장치(100))는 차량에 장착될 수 있다. 이 때, 차량은 자율 주행 차량(2000)일 수 있다.
다양한 실시예들에 따르면, 제어 장치(2100)는 메모리(2122)(예: 도 1의 메모리(170))와 프로세서(2124)(예: 도 1의 프로세서(180))를 포함하는 컨트롤러(2120), 센서(2130)(예: 도 1의 센서 모듈(160), 무선 통신 장치(예: 도 1의 통신 모듈(130)), LIDAR(2140)(예: 도 1의 센서 모듈(160)) 및 카메라 모듈(2150)(예: 도 1의 카메라 모듈(110))를 포함할 수 있다.
다양한 실시예들에 따르면, 컨트롤러(2120)는 차량의 제조사에 의해 제조 시 구성되거나 또는 제조 후에 자율 주행의 기능 수행을 위해 추가 구성될 수 있다. 또는 제조시 구성된 컨트롤러(2120)의 업그레이드를 통해 지속적인 부가 기능 수행을 위한 구성이 포함될 수 있다.
컨트롤러(2120)는 제어 신호를 차량 내 다른 구성들로 포함된 센서(2110), 엔진(2006), 사용자 인터페이스(2008), 무선 통신 장치(2130), LIDAR(2140), 및 카메라 모듈(2150)에 전달할 수 있다. 또한 도시되지는 않았으나 차량의 주행과 관련되는 가속 장치, 브레이킹 시스템, 조향 장치, 또는 네비게이션 장치에도 제어 신호를 전달할 수 있다.
다양한 실시예들에 따르면, 컨트롤러(2120)는 엔진(2006)을 제어할 수 있으며 예를 들어 자율 주행 차량(2000)이 주행 중인 도로의 제한 속도를 감지하고 주행 속도가 제한 속도를 초과하지 않도록 엔진(2006)을 제어하거나, 제한 속도를 초과하지 않는 범위 내에서 자율 주행 차량(2000)의 주행 속도를 가속하도록 엔진(2006)을 제어할 수 있다. 또한 부가적으로 차량 외부의 환경을 센싱모듈(2004a, 2004b, 2004c, 2004d) 이 감지하여 센서(2110)로 전달하면 컨트롤러(2120)는 이를 수신하여 엔진(2006) 또는 조향 장치(미도시)를 제어하는 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러(2120)는 차량의 전방에 다른 차량 또는 방해물이 존재하는 경우에는 주행 차량을 감속하도록 엔진(2006) 또는 브레이킹 시스템을 제어할 수 있으며, 속도 외에도 궤적, 운행 경로, 조향 각을 제어할 수 있다. 또는 컨트롤러(2120)는 차량의 주행 차선, 주행 신호 등 기타 외부 환경의 인식 정보에 따라 필요한 제어 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러(2120)는 자체적인 제어 신호의 생성 외에 주변 차량 또는 중앙 서버와의 통신을 수행하고 수신된 정보를 통해 주변 장치들을 제어하기 위한 명령을 전송함으로써, 차량의 주행을 제어하는 것도 가능하다.
또한, 컨트롤러(2120)는 카메라 모듈(2150)의 위치가 변경되거나 화각이 변경될 경우, 정확한 차량 또는 차선 인식이 어려울 수 있으므로, 이를 방지하기 위해 카메라 모듈(2150)의 캘리브레이션(calibration)을 수행하도록 제어하는 제어 신호를 생성할 수도 있다. 따라서, 컨트롤러(2120)는 카메라 모듈(2150)로 캘리브레이션 제어 신호를 발생시킴으로써, 자율주행차량(2000)의 움직임에 따라 발생되는 진동 또는 충격 등에 의해 카메라 모듈(2150)의 장착 위치가 변경되더라도, 카메라 모듈(2150)의 정상적인 장착 위치, 방향, 화각 등을 지속적으로 유지할 수 있다. 컨트롤러(2120)는 미리 저장된 카메라 모듈(2120)의 최초 장착 위치, 방향, 화각 정보와 자율주행차량(2000)의 주행 중에 측정되는 카메라 모듈(2120)의 최초 장착 위치, 방향, 화각 정보 등이 임계 값 이상으로 달라질 경우, 카메라 모듈(2120)의 캘리브레이션을 수행하도록 제어 신호를 발생할 수 있다.
다양한 실시예들에 따르면, 컨트롤러(2120)는 메모리(2122)와 프로세서(2124)를 포함할 수 있다. 프로세서(2124)는 메모리(2122)에 저장된 소프트웨어를 컨트롤러(2120)의 제어 신호에 따라 실행시킬 수 있다. 구체적으로, 컨트롤러(2120)는 다양한 실시예들에 따른 비휘발성 메모리 저장 장치(예: 도 1의 저장 장치(10))의 수명 및 고장 여부 판단을 위한 데이터 및 명령들은 메모리(2122)에 저장하고, 명령들은 여기에 개시된 하나 이상의 방법들을 구현하기 위해 프로세서(2124)에 의해 실행될 수 있다.
이때, 메모리(2122)는 비휘발성의 프로세서(2124)에서 실행 가능한 기록 매체에 저장될 수 있다. 메모리(2122)는 적절한 내 외부 장치를 통해 소프트웨어와 데이터를 저장할 수 있다. 메모리(2122)는 RAM(random access memory), ROM(read only memory), 하드디스크, 동글과 연결된 메모리(2122) 장치로 구성될 수 있다.
메모리(2122)는 운영체제(OS, Operating system), 사용자 어플리케이션, 실행 가능한 명령들을 적어도 저장할 수 있다. 메모리(2122)는 어플리케이션 데이터, 배열 데이터 구조들도 저장할 수 있다.
프로세서(2124)는 마이크로 프로세서 또는 적절한 전자적 프로세서로 컨트롤러, 마이크로 컨트롤러 또는 스테이트 머신일 수 있다.
프로세서(2124)는 컴퓨팅 장치들의 조합으로 구현될 수 있으며, 컴퓨팅 장치는 디지털 신호 프로세서, 마이크로프로세서 이거나 이들의 적절한 조합으로 구성될 수 있다.
또한, 다양한 실시예들에 따르면, 제어 장치(2100)는 적어도 하나 이상의 센서(2110)로 자율 주행 차량(2000)의 내외부의 특징을 모니터링하고 상태를 감지할 수 있다.
센서(2110)는 적어도 하나 이상의 센싱모듈(2004)로 구성될 수 있으며, 센싱모듈(2004)은, 감지 목적에 따라 자율 주행 차량(2000)의 특정 위치에 구현될 수 있다. 자율 주행 차량(2000)의 하부, 후단, 전단, 상단, 또는 측단에 위치할 수 있으며, 차량의 내부 부품 또는 타이어 등에도 위치될 수 있다.
이를 통해 센싱모듈(2004)은 차량의 내부 정보로서 엔진(2006), 타이어, 조향각, 속도, 차량의 무게 등 주행과 관련된 정보들을 감지할 수 있다. 또한, 적어도 하나 이상의 센싱모듈(2004)은 가속도 센서(2110), 자이로스코프, 이미지 센서(2110), RADAR, 초음파 센서, LiDAR 센서 등으로 구성될 수 있으며, 자율 주행 차량(2000)의 움직임 정보를 감지할 수 있다.
센싱모듈(2004)은 외부 정보로서 자율 주행 차량(2000)이 위치하는 도로의 상태 정보, 주변 차량 정보, 날씨 등 외부 환경 상태에 대한 특정 데이터를 수신하고, 이에 따른 차량의 파라미터를 감지하는 것도 가능하다. 감지된 정보는 일시적 또는 장기적으로 목적에 따라 메모리(2122)에 저장할 수 있다.
다양한 실시예들에 따르면, 센서(2110)는 자율 주행 차량(2000)의 내 외부에서 발생되는 정보를 수집하기 위한 센싱모듈(2004)들의 정보를 통합하여 수집할 수 있다.
제어 장치(2100)는 무선 통신 장치(2130)(예: 통신 모듈(130))를 더 포함할 수 있다.
무선 통신 장치(2130)는 자율 주행 차량(2000) 간의 무선 통신을 구현하기 위해 구성된다. 예를 들어, 사용자의 모바일 폰, 또는 다른 무선 통신 장치(2130), 다른 차량, 중앙 장치(교통 제어 장치), 서버 등과 자율 주행 차량(2000)이 통신할 수 있도록 한다. 무선 통신 장치(2130)는 무선 신호를 접속 무선 프로토콜에 따라 송수신할 수 있다. 무선 통신 프로토콜은 Wi-Fi, Bluetooth, Long-Term Evolution (LTE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Systems for Mobile Communications (GSM)일 수 있으며, 통신 프로토콜은 이에 제한되지 않는다.
또한, 다양한 실시예들에 따르면, 자율 주행 차량(2000)은 무선 통신 장치(2130)를 통해 차량 간 통신을 구현하는 것도 가능하다. 즉, 무선 통신 장치(2130)는 차량 대 차량 간(V2V) 통신(vehicle-to-vehicle communication)으로 도로 상의 다른 차량 및 다른 차량들과 통신을 수행할 수 있다. 자율 주행 차량(2000)은 주행 경고, 교통 정보와 같은 정보를 차량 간 통신으로 통해 송수신할 수 있으며, 다른 차량에게 정보를 요청하거나 요청을 수신하는 것도 가능하다. 예를 들어, 무선 통신 장치(2130)는 V2V 통신을 지정 단 거리 통신(DSRC, dedicated short-range communication) 장치 또는 C-V2V(Celluar-V2V) 장치로 수행할 수 있다. 또한 차량 간의 통신 외에 차량과 다른 사물(예컨대 보행자가 휴대하는 전자 기기 등) 간의 통신(V2X, Vehicle to Everything communication)도 무선 통신 장치(2130)를 통해 구현할 수 있다.
또한, 제어 장치(2100)는 LIDAR 장치(2140)를 포함할 수 있다. LIDAR 장치(2140)는 LIDAR 센서를 통해 센싱된 데이터를 이용하여 자율 주행 차량(2000) 주변의 객체를 동작 중에 탐지할 수 있다. LIDAR 장치(2140)는 탐지된 정보를 컨트롤러(2120)로 전송하고, 컨트롤러(2120)는 탐지 정보에 따라 자율 주행 차량(2000)을 동작시킬 수 있다. 예를 들어 컨트롤러(2120)는 탐지 정보에 저속 주행하는 전방 차량이 있는 경우 엔진(2006)을 통해 차량이 속도를 줄이도록 명령할 수 있다. 또는 차량이 진입하는 커브의 곡률에 따라 진입 속도를 줄이도록 명령할 수 있다.
제어 장치(2100)는 카메라 모듈(2150)을 더 포함할 수 있다. 컨트롤러(2120)는 카메라 모듈(2150)에서 촬영되는 외부 이미지로부터 객체 정보를 추출하고 이에 대한 정보를 컨트롤러(2120)가 처리하도록 할 수 있다.
또한, 제어 장치(2100)는 외부 환경을 인식하기 위한 이미징 장치들이 더욱 포함할 수 있다. LIDAR(2140) 외에 RADAR, GPS 장치, 주행 거리 측정 장치(Odometry) 및 기타 컴퓨터 비전 장치들이 이용될 수 있으며, 이들의 장치는 필요에 따라 선택 또는 동시에 동작하여 보다 정밀한 감지가 가능하도록 한다.
자율 주행 차량(2000)은 상술한 제어 장치(2100)에 대한 사용자의 입력을 위한 사용자 인터페이스(2008)를 더 포함할 수 있다. 사용자 인터페이스(2008)는 적절한 상호작용으로 사용자가 정보를 입력하도록 할 수 있다. 예를 들어 터치스크린, 키패드, 조작 버튼 등으로 구현될 수 있다. 사용자 인터페이스(2008)는 입력 또는 명령을 컨트롤러(2120)에 전송하고, 컨트롤러(2120)는 입력 또는 명령에 대한 응답으로 차량의 제어 동작을 수행할 수 있다.
또한, 사용자 인터페이스(2008)는 자율 주행 차량(2000) 외부의 장치로 무선 통신 장치(2130)를 통해 자율 주행 차량(2000)과 통신을 수행하도록 할 수 있다. 예를 들어 사용자 인터페이스(2008)는 모바일 폰, 태블릿, 또는 기타 컴퓨터 장치와 연동 가능하도록 할 수 있다.
나아가, 다양한 실시예들에 따르면, 자율 주행 차량(2000)은 엔진(2006)을 포함하는 것으로 설명하였으나, 다른 타입의 추진 시스템을 포함하는 것도 가능하다. 예를 들어 차량은 전기 에너지로 운행될 수 있으며, 수소 에너지 또는 이들을 조합한 하이브리드 시스템을 통해 운행될 수 있다. 따라서 컨트롤러(2120)는 자율 주행 차량(2000)의 추진 시스템에 따른 추진 메커니즘을 포함하고, 이에 따른 제어 신호를 각 추진 메커니즘의 구성들에 제공할 수 있다.
이하, 도 13을 참조하여 다양한 실시예들에 따른 비휘발성 메모리 저장 장치(예: 도 1의 저장 장치(10))의 수명 및 고장 여부 판단을 위한 제어 장치(2100)의 세부 구성에 대하여 보다 상세히 설명한다.
제어 장치(2100)는 프로세서(2124)를 포함한다. 프로세서(2124)는 범용 단일 또는 다중 칩 마이크로프로세서, 전용 마이크로프로세서, 마이크로제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서는 중앙 처리 장치(CPU)로 지칭될 수도 있다. 또한 다양한 실시예들에 따르면, 프로세서(2124)는 복수의 프로세서들의 조합으로 사용되는 것도 가능하다.
제어 장치(2100)는 또한 메모리(2122)를 포함한다. 메모리(2122)는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리(2122) 역시 단일 메모리 외에 메모리(2122)들의 조합을 포함할 수 있다.
다양한 실시예들에 따르면, 비휘발성 메모리 저장 장치(예: 도 1의 저장 장치(10))의 수명 및 고장 여부 판단을 위한 데이터 및 명령어(2122a)들은 메모리(2122)에 저장될 수도 있다. 프로세서(2124)가 명령어(2122a)들을 실행할 때, 명령어(2122a)들과 명령의 수행에 필요한 데이터(2122b)의 전부 또는 일부가 프로세서(2124)상으로 로딩(2124a, 2124b)될 수도 있다.
제어 장치(2100)는 신호들의 송신 및 수신을 허용하기 위한 송신기(2130a), 수신기(2130b) 또는 트랜시버(2130c)를 포함할 수도 있다. 하나 이상의 안테나(2132a, 2132b)들은 송신기(2130a), 수신기(2130b) 또는 각 트랜시버(2130c)에 전기적으로 연결될 수도 있으며 추가적으로 안테나들을 포함할 수도 있다.
제어 장치(2100)는 디지털 신호 프로세서(DSP)(2170)를 포함할 수도 있다. DSP(2170)를 통해 디지털 신호를 차량이 빠르게 처리할 수 있도록 할 수 있다.
제어 장치(2100)는 통신 인터페이스(2180)를 포함할 수도 있다. 통신 인터페이스(2180)는 다른 장치들을 제어 장치(2100)와 연결하기 위한 하나 이상의 포트들 및/또는 통신 모듈 들을 포함할 수도 있다. 통신 인터페이스(2180)는 사용자와 제어 장치(2100)가 상호작용할 수 있게 할 수 있다.
제어 장치(2100)의 다양한 구성들은 함께 하나 이상의 버스(2190)들에 의해 연결될 수도 있고, 버스(2190)들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 프로세서(2124)의 제어에 따라 구성들은 버스(2190)를 통해 상호 정보를 전달하고 목적하는 기능을 수행하도록 할 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
다양한 실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터-판독 가능 매체에 기록될 수 있다. 이 때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 그리고, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 단계들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 단계들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 단계들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 단계들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 단계들이 추가될 수 있다.

Claims (30)

  1. 비휘발성 메모리 저장 장치의 장착 및 분리가 가능한 전자 장치의 방법에 있어서,
    상기 저장 장치의 연결을 감지하는 단계;
    상기 저장 장치의 수명을 추정하는 단계; 및
    상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 저장 장치의 식별 정보를 검출하는 단계;
    상기 식별 정보를 기반으로, 상기 저장 장치가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하는 단계; 및
    상기 저장 장치가 상기 기능을 가지면, 상기 저장 장치로부터 수신되는 상태 정보를 기반으로, 상기 저장 장치의 수명을 확인하는 단계
    를 더 포함하는,
    방법.
  3. 제 2 항에 있어서,
    상기 수명을 추정하는 단계는,
    상기 저장 장치가 상기 기능을 갖지 않으면, 상기 수명을 추정하는,
    방법.
  4. 제 1 항에 있어서,
    상기 전자 장치는,
    상기 저장 장치에 저장될 데이터를 일시적으로 저장하도록 구성되는 저장 버퍼를 포함하며,
    상기 수명을 추정하는 단계는,
    상기 저장 버퍼를 이용하여, 상기 저장 장치에 데이터를 저장하는 단계; 및
    상기 저장 버퍼에 저장된 데이터양이 버퍼 임계치를 초과하면, 상기 안내 메시지를 생성하는 단계
    를 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 안내 메시지를 생성하는 단계는,
    상기 데이터양을 이용하여, 상기 수명을 추정하는 단계; 및
    상기 수명을 기반으로, 상기 안내 메시지를 생성하는 단계
    를 포함하는,
    방법.
  6. 제 1 항에 있어서,
    상기 전자 장치 또는 상기 저장 장치 중 적어도 하나에는,
    상기 저장 장치에 저장되어 있는 데이터양에 대한 기록이 있으며,
    상기 수명을 추정하는 단계는,
    상기 데이터양을 기반으로 추정되는 저장량이 저장 임계치를 이상이면, 상기 안내 메시지를 생성하는 단계
    를 포함하는,
    방법.
  7. 제 6 항에 있어서,
    상기 저장량은,
    상기 데이터양과 상기 저장 장치에 대해 정해진 WAF(write amplification factor)의 곱에 의해, 추정되는,
    방법.
  8. 제 6 항에 있어서,
    상기 안내 메시지를 생성하는 단계는,
    상기 저장량을 이용하여, 상기 수명을 추정하는 단계; 및
    상기 수명을 기반으로, 상기 안내 메시지를 생성하는 단계
    를 포함하는,
    방법.
  9. 제 6 항에 있어서,
    상기 수명을 추정하는 단계는,
    상기 저장량이 상기 저장 임계치 미만이면, 상기 저장 장치에 데이터를 저장하는 단계; 및
    상기 데이터의 저장 종료 시, 상기 기록을 갱신하는 단계
    를 더 포함하는,
    방법.
  10. 제 1 항에 있어서,
    상기 저장 장치의 연결에 응답하여, 상기 저장 장치의 고장 여부를 판단하는 단계; 및
    상기 저장 장치가 고장이면, 상기 안내 메시지를 출력하는 단계
    를 더 포함하는,
    방법.
  11. 제 10 항에 있어서,
    상기 고장 여부를 판단하는 단계는,
    상기 저장 장치에 기록 보호 모드가 설정되어 있으면, 상기 저장 장치가 고장인 것으로 판단하는 단계
    를 포함하고,
    상기 기록 보호 모드는,
    상기 저장 장치의 수명이 완료되면, 상기 저장 장치에 설정되는,
    방법.
  12. 제 10 항에 있어서,
    상기 고장 여부를 판단하는 단계는,
    상기 저장 장치에 저장된 데이터의 파일들의 각각에 대해 무결성을 확인하여, 비정상적인 파일들의 카운트를 확인하는 단계; 및
    상기 카운트가 카운트 임계치를 초과하면, 상기 저장 장치가 고장인 것으로 판단하는 단계
    를 포함하는,
    방법.
  13. 제 12 항에 있어서,
    상기 전자 장치는,
    상기 저장 장치에 상기 데이터를 상기 파일들로 저장하면서 상기 파일들의 각각에 대한 검증 값들을 저장하며,
    상기 무결성은,
    상기 검증 값들을 이용하여, 확인되는,
    방법.
  14. 비휘발성 메모리 저장 장치의 장착 및 분리가 가능한 전자 장치에 있어서,
    상기 저장 장치와 연결을 위해 구성되는 연결 단자; 및
    상기 연결 단자와 연결되고, 상기 연결 단자를 통해, 상기 저장 장치에 데이터를 저장하도록 구성되는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 저장 장치의 수명을 추정하고,
    상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하도록 구성되는,
    전자 장치.
  15. 제 14 항에 있어서,
    상기 프로세서는,
    상기 저장 장치의 식별 정보를 검출하고,
    상기 식별 정보를 기반으로, 상기 저장 장치가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하고,
    상기 저장 장치가 상기 기능을 가지면, 상기 저장 장치로부터 수신되는 상태 정보를 기반으로, 상기 저장 장치의 수명을 확인하도록 구성되는,
    전자 장치.
  16. 제 15 항에 있어서,
    상기 프로세서는,
    상기 저장 장치가 상기 기능을 갖지 않으면, 상기 수명을 추정하도록 구성되는,
    전자 장치.
  17. 제 14 항에 있어서,
    상기 저장 장치에 저장될 데이터를 일시적으로 저장하도록 구성되는 저장 버퍼
    를 더 포함하며,
    상기 프로세서는,
    상기 저장 버퍼를 이용하여, 상기 저장 장치에 데이터를 저장하고,
    상기 저장 버퍼에 저장된 데이터양이 버퍼 임계치를 초과하면, 상기 안내 메시지를 생성하도록 구성되는,
    전자 장치.
  18. 제 17 항에 있어서,
    상기 프로세서는,
    상기 데이터양을 이용하여, 상기 수명을 추정하고,
    상기 수명을 기반으로, 상기 안내 메시지를 생성하도록 구성되는,
    전자 장치.
  19. 제 14 항에 있어서,
    상기 프로세서는,
    상기 저장 장치에 저장되어 있는 데이터양에 대한 기록을 확인하고,
    상기 데이터양을 기반으로 추정되는 저장량이 저장 임계치를 이상이면, 상기 안내 메시지를 생성하도록 구성되는,
    전자 장치.
  20. 제 19 항에 있어서,
    상기 기록을 갖는 사용 기록 데이터베이스
    를 더 포함하는,
    전자 장치.
  21. 제 19 항에 있어서,
    상기 저장 장치가,
    상기 기록을 갖고 있는,
    전자 장치.
  22. 제 19 항에 있어서,
    상기 저장량은,
    상기 데이터양과 상기 저장 장치에 대해 정해진 WAF(write amplification factor)의 곱에 의해, 추정되는,
    전자 장치.
  23. 제 19 항에 있어서,
    상기 프로세서는,
    상기 저장량을 이용하여, 상기 수명을 추정하고,
    상기 수명을 기반으로, 상기 안내 메시지를 생성하도록 구성되는,
    전자 장치.
  24. 제 19 항에 있어서,
    상기 프로세서는,
    상기 저장량이 상기 저장 임계치 미만이면, 상기 저장 장치에 데이터를 저장하고,
    상기 데이터의 저장 종료 시, 상기 기록을 갱신하도록 구성되는,
    전자 장치.
  25. 제 14 항에 있어서,
    상기 프로세서는,
    상기 저장 장치의 연결에 응답하여, 상기 저장 장치의 고장 여부를 판단하고,
    상기 저장 장치가 고장이면, 상기 안내 메시지를 출력하도록 구성되는,
    전자 장치.
  26. 제 25 항에 있어서,
    상기 프로세서는,
    상기 저장 장치에 기록 보호 모드가 설정되어 있으면, 상기 저장 장치가 고장인 것으로 판단하도록 구성되고,
    상기 기록 보호 모드는,
    상기 저장 장치의 수명이 완료되면, 상기 저장 장치에 설정되는,
    전자 장치.
  27. 제 25 항에 있어서,
    상기 프로세서는,
    상기 저장 장치에 저장된 데이터의 파일들의 각각에 대해 무결성을 확인하여, 비정상적인 파일들의 카운트를 확인하고,
    상기 카운트가 카운트 임계치를 초과하면, 상기 저장 장치가 고장인 것으로 판단하도록 구성되는,
    전자 장치.
  28. 제 27 항에 있어서,
    상기 프로세서는,
    상기 저장 장치에 상기 데이터를 상기 파일들로 저장하면서 상기 파일들의 각각에 대한 검증 값들을 저장하고,
    상기 검증 값들을 이용하여, 상기 무결성을 확인하도록 구성되는,
    전자 장치.
  29. 비휘발성 메모리 저장 장치의 장착 및 분리가 가능한 전자 장치의 방법에 있어서,
    상기 저장 장치의 연결에 응답하여, 상기 저장 장치의 고장 여부를 판단하는 단계;
    상기 저장 장치가 고장이면, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계;
    상기 저장 장치가 정상이면, 상기 저장 장치의 수명을 추정하는 단계; 및
    상기 수명을 기반으로, 상기 저장 장치의 교체를 위한 안내 메시지를 출력하는 단계
    를 포함하는,
    방법.
  30. 제 29 항에 있어서,
    상기 수명을 추정하는 단계는,
    상기 저장 장치의 식별 정보를 검출하는 단계;
    상기 식별 정보를 기반으로, 상기 저장 장치가 자체적으로 상태를 파악하는 기능을 갖는 지의 여부를 확인하는 단계;
    상기 저장 장치가 상기 기능을 가지면, 상기 저장 장치로부터 수신되는 상태 정보를 기반으로, 상기 저장 장치의 수명을 확인하는 단계; 및
    상기 저장 장치가 상기 기능을 갖지 않으면, 상기 수명을 추정하는 단계
    를 포함하는,
    방법.
KR1020210079984A 2020-07-24 2021-06-21 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법 KR20220013313A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021119169A JP2022022152A (ja) 2020-07-24 2021-07-19 不揮発性メモリ記憶装置の寿命および故障を判断するための電子装置およびその方法
US17/383,872 US11720257B2 (en) 2020-07-24 2021-07-23 Electronic device and method for determining lifespan and failure of nonvolatile memory storage device
US18/212,837 US20230333748A1 (en) 2020-07-24 2023-06-22 Electronic device and method for determining lifespan and failure of nonvolatile memory storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200092622 2020-07-24
KR1020200092622 2020-07-24

Publications (1)

Publication Number Publication Date
KR20220013313A true KR20220013313A (ko) 2022-02-04

Family

ID=80268223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210079984A KR20220013313A (ko) 2020-07-24 2021-06-21 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법

Country Status (1)

Country Link
KR (1) KR20220013313A (ko)

Similar Documents

Publication Publication Date Title
US20230010904A1 (en) Systems and methods for determining vehicle trip information
CN111835496B (zh) 在自动驾驶系统的不同计算节点之间的定时同步方案
US9630625B2 (en) Apparatus and method for identifying surrounding vehicles
KR20200084934A (ko) 차량의 주행을 제어하는 장치 및 차량의 주행을 제어하는 장치가 캘리브레이션을 수행하는 방법
US11198444B2 (en) Automated factory testflow of processing unit with sensor integration for driving platform
US11904853B2 (en) Apparatus for preventing vehicle collision and method thereof
US9396659B2 (en) Collision avoidance among vehicles
US11340613B2 (en) Communications protocols between planning and control of autonomous driving vehicle
US20210191393A1 (en) An automatic driving safety interaction system
KR20200123505A (ko) 군집 주행 제어 장치, 그를 포함한 시스템 및 그 방법
US20200241987A1 (en) Functional safety compliant self-testing
CN109691063B (zh) 用于接收、处理和传输数据的方法和设备
CN112673586B (zh) 数据包处理方法和装置
EP4247680A1 (en) Vehicle operation safety model compliance measurement
KR20220013313A (ko) 비휘발성 메모리 저장 장치의 수명 및 고장 여부 판단을 위한 전자 장치 및 그의 방법
CN113085868A (zh) 用于运行自动化车辆的方法、设备和存储介质
CN104731577A (zh) 多系统和启动所述多系统的方法
US11720257B2 (en) Electronic device and method for determining lifespan and failure of nonvolatile memory storage device
CN111813594A (zh) 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案
KR20220026566A (ko) 모바일 디바이스를 이용하여 미끄럼 사고를 감지하는 방법 및 그 시스템
US20210200627A1 (en) Integrity check device for safety sensitive data and electronic device including the same
CN114323693A (zh) 车路云感知系统的测试方法、装置、设备及存储介质
KR102441746B1 (ko) 복수의 디스플레이를 이용하여 사용자 인터페이스를 제공하는 방법, 및 이를 위한 전자 장치
US11577753B2 (en) Safety architecture for control of autonomous vehicle
EP3986000A1 (en) Communication method and apparatus