KR102225618B1 - 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구 - Google Patents

실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구 Download PDF

Info

Publication number
KR102225618B1
KR102225618B1 KR1020150031113A KR20150031113A KR102225618B1 KR 102225618 B1 KR102225618 B1 KR 102225618B1 KR 1020150031113 A KR1020150031113 A KR 1020150031113A KR 20150031113 A KR20150031113 A KR 20150031113A KR 102225618 B1 KR102225618 B1 KR 102225618B1
Authority
KR
South Korea
Prior art keywords
data
file
flash chip
written
sequence number
Prior art date
Application number
KR1020150031113A
Other languages
English (en)
Other versions
KR20160038682A (ko
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 KR1020150031113A priority Critical patent/KR102225618B1/ko
Priority to CN201510641093.0A priority patent/CN105468474B/zh
Publication of KR20160038682A publication Critical patent/KR20160038682A/ko
Application granted granted Critical
Publication of KR102225618B1 publication Critical patent/KR102225618B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Abstract

본 발명의 실시예들은 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 복구에 관한 것이다. 본 발명은 실시간 멀티미디어 기록 분야에 관한 것으로, 보다 구체적으로 실시간 멀티미디어 기록 중에 실패로 인해 영향받은 데이터의 복구에 관한 것이다. 본 발명의 실시예는 외부 감식 도구 또는 추가적인 저장 공간을 사용하지 않고 실패로부터 기록의 시간 관련 메타데이터와 해당 멀티미디어 데이터를 복구하는 방법 및 시스템을 제안한다.

Description

실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구{Space-Efficient Recovery of Time-Related Metadata Of Recorded Data From Failure Scenarios}
본 발명은 실시간 멀티미디어 기록(레코딩)에 관한 것으로, 보다 구체적으로 실시간 멀티미디어 기록 중에 실패의 영향에 의한 데이터의 효율적인 저장 및 복구에 관한 것이다.
현재 비디오 및/또는 오디오 기록 수단을 포함하는 감시 시스템이 일반화되고 있다. 이러한 감시 시스템은 정확하게 비디오와 오디오의 시간 정보를 저장하는 것이 중요하다. 예를 들면, 과거 시간 윈도우(historical time window)에서 비디오 정보를 알고 검색하는 것이 매우 중요하다.
시간 기반 쿼리(질문)에 응답하고, 타임 인덱스를 이용하는 데이터베이스는 멀티미디어 데이터를 저장하기 위해 사용된다. 데이터베이스는 파일의 크기가 작은 (전형적으로 256 KB 미만) 경우에만 유용하기 때문에 데이터베이스에 직접 멀티미디어 데이터를 저장하는 것은 비효율적이다. 데이터베이스에 큰 파일을 저장하면 성능 손실과 블로팅(bloating)을 초래한다. 따라서 널리 채용되는 효율적인 방법은 실제 멀티미디어 파일은 파일 시스템에 저장하고, 멀티미디어 파일의 포인터 또는 이름만이 데이터베이스 셀에 저장하는 것이다.
종래의 감시 시스템에서 데이터 저장에 관련된 다음의 두 가지 주요 단계가 있다: 1) 파일 시스템에 (소정 크기 "S")의 파일을 기입(writing)하는 단계 및 2) 대응하는 시간 메타데이터로 데이터베이스를 갱신하는 단계.
이 두 단계 사이의 파워오프(전원오프)(power-off)는 파일 시스템에 데이터베이스 내에서 설명되지 않거나 참조되지 않는 파일 생성을 야기할 수 있다. 감시 시스템이 빈번한 전원 사이클에 따라 테스트될 때, 이와 같은 수많은 설명되지 않은 파일이 생성될 수 있다. 또한 감시 시나리오에서, 실패 전에 마지막 분 비디오 영상은, 사건에 대한 중요한 정보를 전달할 수 있는 중요한 정보이다. 그래서 실패가 발생하기 전에 시간에 대응하는 데이터의 효율적인 복구가 중요하다.
따라서, 멀티미디어 파일들은 정확한 시작 시간과 종료 시간이 저장되어야 한다. 비디오 파일은 연속의 이미지/프레임으로 만들어진다. 비압축 비디오 파일의 경우, 비디오 파일의 초당 프레임 및 크기, 프레임 수를 알면, 이에 따른 전체 기록(레코딩)된 파일의 시간 지속 기간이 추론될 수 있다. 그러나 멀티미디어 파일들이 압축 포맷으로 저장될 때 이러한 종류의 추론이 곤란해진다. 멀티미디어 시스템은 MPEG4 (Moving Pictures Experts Group 4), AVI (Audio Video Interleave) 등과 같은 압축된 포맷으로 파일을 저장한다. 압축 방법은 전형적으로 인접한 프레임들 사이의 차이점만을 저장하도록 시도한다. 압축된 비디오 파일을 위한 이러한 부호화 메커니즘 때문에, 기록의 시간 지속 기간을 추론할 수 없다. 이러한 이유로 인해, 비디오 파일의 시간 정보를 명시적으로 저장 및 검색 될 수 있어야 한다.
미국 공개 특허 제2013-0138905호
본 발명의 실시예들은 외부 본원 감식(forensic) 도구 또는 추가적인 저장 공간을 사용하지 않고 실패로부터 기록의 시간과 관련된 메타데이터 및 대응하는 멀티미디어 데이터를 복구하는 방법 및 시스템을 제안하는 것이다.
본 발명은 원시 플래시 칩에 타이밍 관련 정보를 저장하는 방법을 제공하며, 상기 방법은 상기 타이밍 관련 정보를 데이터와 함께 기입되는 상기 원시 플래시 칩의 현재 블록의 시퀀스 번호로 인코딩하는 단계; 및 상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호를 상기 현재 블록의 플래시 페이지의 스페어 영역에 저장하는 단계를 포함한다.
따라서, 본 발명은 타이밍 관련 정보를 데이터가 기입되는 원시 플래시 칩의 현재 블록의 시퀀스 번호로 인코딩하고; 상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호를 상기 현재 블록의 플래시 페이지의 스페어 영역에 저장함으로써, 상기 타이밍 관련 정보를 저장하기 위해 구성된 원시 플래시 칩을 제공한다.
따라서, 본 발명은 전원 실패 후에 감시 시스템에서 데이터를 복구하기 위한 방법 및 시스템을 제공하며, 상기 방법은 데이터 관리자에 의해 파일이 원시 플래시 칩에 존재하는지를 체킹하는 단계로서, 상기 파일은 데이터베이스 내 상기 데이터 관리자에 의해 불완전 엔트리로서 식별된 엔트리에 대응하는, 상기 체킹 단계; 상기 파일이 상기 원시 플래시 칩에 존재하지 않는 경우, 상기 데이터 관리자에 의해 상기 불완전 엔트리를 삭제하는 단계; 상기 파일이 상기 원시 플래시 칩에 존재하면, 상기 데이터 관리자에 의해 상기 파일의 크기를 체크하는 단계; 상기 파일의 크기가 0 인 경우, 상기 데이터 관리자에 의해 상기 파일 및 불완전 엔트리를 삭제하는 단계; 및 상기 파일의 크기가 0이 아닌 경우, 상기 데이터 관리자에 의해, 상기 원시 플래시 칩을 위한 파일 시스템으로부터 구조를 복원하는 단계; 상기 원시 플래시 칩에 기입된 마지막 페이지를 결정하는 단계; 상기 기입된 마지막 페이지에 대한 시간 정보를 디코딩하는 단계; 상기 데이터베이스 내의 엔트리를 갱신하는 단계; 및 상기 엔트리를 완전한 것(complete)으로 마킹하는 단계;를 수행하는 단계;를 포함한다.
따라서, 본 발명은 컴퓨터 판독 가능한 비 일시적 기억 매체 상에 기록된 컴퓨터 실행 가능 프로그램 코드를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 실행 가능 프로그램 코드는, 전원 실패 후에 감시 시스템으로부터 데이터를 복구하는 방법을 수행하며, 상기 방법은: 데이터 관리자에 의해 파일이 원시 플래시 칩에 있는지 체크하는 단계로서, 상기 파일이 데이터베이스 내 데이터 관리자에 의해 불완전 엔트리로서 식별된 엔트리에 대응하는, 상기 단계; 상기 파일이 상기 원시 플래시 칩에 존재하지 않는 경우, 상기 데이터 관리자에 의해 불완전 엔트리를 삭제하는 단계; 상기 파일이 상기 원시 플래시 칩에 존재하면, 상기 데이터 관리자에 의해 상기 파일의 크기를 체크하는 단계; 상기 파일의 크기가 0 인 경우, 상기 데이터 관리자에 의해 상기 파일 및 불완전 엔트리를 삭제하는 단계; 및 상기 파일의 크기가 0이 아닌 경우, 상기 데이터 관리자에 의해, 상기 원시 플래시 칩을 위한 파일 시스템으로부터 구조를 복원하는 단계; 상기 원시 플래시 칩에 기입된 마지막 페이지를 결정하는 단계; 상기 기입된 마지막 페이지에 대한 시간 정보를 디코딩하는 단계; 상기 데이터베이스 내의 엔트리를 갱신하는 단계; 및 상기 엔트리를 완전한 것(complete)으로 마킹하는 단계;를 수행하는 단계;를 포함한다.
실시예들의 이러한 양태 및 다른 양태는 본 발명의 하기 설명 및 첨부된 도면을 함께 고려할 때 더 잘 평가되고 이해될 것이다. 다음의 설명은, 바람직한 실시예들 및 수많은 구체적인 세부 사항을 나타내고 있으나, 예시적으로 주어진 것이지 제한적으로 주어진 것이 아니라는 점을 이해하여야 한다. 많은 변경 및 변형은 본 발명의 사상을 벗어나지 않고 실시예들의 범위 내에서 이루어질 수 있으며, 실시예들은 그러한 모든 변형을 포함한다.
본 발명의 실시예들은 외부 본원 감식(forensic) 도구 또는 추가적인 저장 공간을 사용하지 않고 실패로부터 기록의 시간과 관련된 메타데이터 및 대응하는 멀티미디어 데이터를 복구할 수 있다.
본 발명은 첨부 도면에 도시되어 있으며, 첨부 도면에 걸쳐서 동일한 참조 부호는 여러 도면들에서 대응하는 부분을 표시한다. 여기서 실시예들은 도면을 참조한 다음의 설명으로부터 더 잘 이해할 수 있을 것이다.
도 1a는 본 발명에 개시된 실시예들에 따른 외부 감식 도구 또는 추가 저장 공간을 사용하지 않고, 기록하는 시간 관련 메타데이터 및 해당 멀티미디어 데이터를 실패로부터 복구를 구현하기 위해 적합한 컴퓨팅 시스템 환경의 일례를 도시한다;
도 1b는 본 발명에 개시된 실시예들에 따른 원시 플래시 메모리 칩의 내부 구조를 도시한다;
도 2는 본 발명에 개시된 실시예들에 따른 감시 시스템을 도시한다;
도 3a는 본 발명에 개시된 실시예들에 따른 감시 시스템의 데이터 관리자 모듈을 도시한다;
도 3b는 본 발명에 개시된 실시예들에 따른 플래시 칩에 데이터를 기입하는 프로세스를 나타낸다;
도 4는 본 발명에 개시된 실시예들에 따른 감시 시스템에 데이터를 기입하는 프로세스를 도시하는 흐름도이다;
도 5a 및 도 5b는 본 발명에 개시된 실시예들에 따른 감시 시스템에 데이터를 기입하는 프로세스를 도시한다;
도 6a 및 도 6b는 본 발명에 개시된 실시예들에 따른 감시 시스템에 데이터를 기입하는 동안 실패 시나리오를 관리하는 프로세스를 나타내는 흐름도이다.
본 발명의 실시예들 및 다양한 특징 및 유리한 세부 사항은 첨부된 도면에 도시되고 다음의 설명에 상세하게 기술되는 비-제한적인 실시예들을 참조하여 더 충분하게 설명된다. 불필요하게 본 발명의 실시예들을 불명료하게 하지 않도록 잘 알려진 구성 요소 및 처리 기술에 대한 설명은 생략한다. 본 발명에서 사용된 예들은 본 발명에서 실시예들이 실시될 수 있는 방법들을 용이하게 이해하고, 당업자들이 본 발명의 실시예들을 추가로 실시할 수 있도록 사용되었다. 따라서, 상기 예들은 본 발명의 실시예들의 범위를 제한하는 것으로 해석되어서는 안 된다.
본 발명의 실시예들은 외부 감식 도구 또는 추가적인 저장 공간을 사용하지 않고, 기록하는 시간 관련 메타데이터 및 해당 멀티미디어 데이터를 실패로부터 복원하기 위한 방법 및 시스템을 개시한다. 이하 도면을 참조하여, 보다 구체적으로 도 1 내지 도 6을 참조하여, 바람직한 실시예들을 설명하기로 하며, 도면을 참조하여 설명할 때 유사한 참조 부호가 도면 전체에 걸쳐서 일관적으로 대응하는 기능을 나타낸다.
도 1은 본 발명의 실시 예들에 따른, 외부 감식 도구 또는 추가적인 저장 공간을 사용하지 않고 실패로부터 기록의 시간 관련 메타데이터 및 해당 멀티미디어 데이터의 복구를 구현하기 위해 적합한 컴퓨팅 시스템 환경의 일 예를 도시한다. 컴퓨팅 환경은 원시 플래시 칩으로 구성되며, 상기 원시 플래시 칩은 데이터의 저장을 위해 사용될 수 있다. 시스템 온 칩의 플래시 메모리 저장의 확산(proliferation)으로, 상기 원시 플래시 칩으로 제한되지 않고, 본 발명에 개시된 실시예들은 다른 특수 목적의 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작될 수 있다. 본 발명에 개시된 실시 예들이 적용될 수 있는 컴퓨팅 시스템의 예들은 모바일폰, 태블릿, 컴퓨터, (카메라, 모션 센서 등 적어도 하나의 센서를 포함하는) 감시 시스템, 웨어러블 컴퓨팅 디바이스 및 사물 인터넷(Internet of Things)을 구성하는 다른 디바이스들이다.
도시한 바와 같이, 컴퓨팅 환경(101)은 이에 제한되는 것은 아니지만, 적어도 하나의 처리부(104), 휘발성 또는 비휘발성의 시스템 메모리(105), 저장부(106), 복수의 네트워킹 장치(112), 및 복수의 입출력 (I/O) 장치(111) 및 실시간 클록(109)과 같은 다양한 다른 임의의 주변 장치를 포함할 수 있다.
상기 처리부(104)는 알고리즘의 명령어(instructions)를 처리할 수 있다. 처리부(104)는 그 처리를 수행하기 위해 제어 장치로부터 코맨드(commands)를 수신한다. 또한, 명령어의 실행에 관련된 논리 및 산술 연산은 ALU(103)의 도움으로 계산된다. 전체 컴퓨팅 환경(101)은 다중 동종 및/또는 이종의 코어, 다른 종류의 다수의 CPU, 특수 매체 및 다른 가속기(accelerator)들로 구성될 수 있다. 처리부(104)는 알고리즘의 명령어를 처리할 수 있다. 또한, 복수의 처리부(104)가 단일 칩 상에 또는 다중 칩들 위에 위치할 수 있다.
상기 시스템 메모리(105)는 컴퓨터 명령어를 저장하는 빠른 컴퓨터 저장 매체를 포함한다. 시스템 메모리(105)는 SDRAM(Synchronous Dynamic Random Access Memory), DDR(Double Data rate) 메모리와 같은 휘발성 메모리, 및/또는 상 변화 메모리(PCM; phase change memory)와 같은 비휘발성 메모리의 형태일 수 있다.
상기 컴퓨팅 환경(101)은 다른 종류의 데이터를 저장하기 위한 다른 분리형/비 분리형 컴퓨터 저장 매체를 포함한다. 중요한 것은 원시 플래시 칩 및 자기 디스크 드라이브, SD(secure digital) 카드, CF(compact flash) 카드, 광 디스크 드라이브와 같은 다른 외부 저장 매체가 있다.
또한, 상기 컴퓨팅 환경(101)은 여러 다른 주변 인터페이스, 연결될 키보드 또는 터치 스크린, 또는 모니터와 같은 I/O 장치들에 연결하는 I/O 인터페이스(111), 카메라와 같은 센서 장치에 연결하는 센서 인터페이스(110), 및 무선, 이더넷(Ethernet) 등과 같은 네트워킹 인터페이스(112)를 포함한다. 실시간 클록(109)와 같은 추가 주변 장치는 하드웨어로 적용할 수 있다. 그러나 상기 주변 장치들은 소프트웨어로도 구현될 수 있으며, 강제적으로 필요하지 않다.
구현에 필요한 명령어 및 코드로 이루어진 알고리즘은 메모리부(105) 또는 저장부(106) 또는 둘 모두에 저장된다. 실행 시, 명령어들은 대응하는 메모리(105) 및/또는 저장부(106)로부터 가져올(fetched) 수 있고, 처리부(104)에 의해 실행된다.
감시 시스템은, 디바이스, 차량, 건물, 모니터링 및/또는 데이터 기록을 요구하는 장치 또는 임의의 등가 수단에 관련된 데이터를 수집하도록 구성된 시스템이다. 상기 감시 시스템은 적어도 하나의 비디오 카메라로 구성되어 적어도 하나의 비디오 및 오디오와 같은 미디어 획득을 가능하게 할 수 있다. 상기 감시 시스템은 또한 적어도 하나의 마이크로폰, 적어도 하나의 온도 센서, 적어도 하나의 모션 센서, 적어도 하나의 디바이스/산업용 센서 또는 감시 시스템에 관한 정보를 수집하도록 구성되는 임의의 다른 센서 등의 데이터를 수집하기 위한 다른 수단을 포함할 수 있다. 상기 감시 시스템은 적합한 압축 또는 인코딩된 포맷(format)을 사용하는 감시 데이터를 파일 시스템에 저장하기 위한 수단을 포함한다. 표 1에 도시된 바와 같이 (하기에 개시된 바와 같이) 데이터가 데이터베이스에 임의의 포맷으로 저장될 수 있다:
시작 시간
(Start time)
종료 시간
(End time)
파일 시스템에서 파일의 이름
(Name of the file in the file system)
원시 플래시 칩은 감시 시스템과 연동하고, 비휘발성 저장 매체일 수 있다. 플래시 칩은 더 빠른 읽기/쓰기(판독/기입) 특성을 가능하게 하고 물리적 충격에 더 탄력적이다. 플래시 칩의 메모리는 다수의 블록으로 구성될 수 있고, 여기서 단일 블록은 복수의 페이지를 포함할 수 있다. 도 1b에 도시된 바와 같이 각 블록은 데이터 영역과 (적어도 하나의 스페어 바이트로 구성되는) 스페어 영역으로 구성된다. 스페어 바이트는 페이지 및/또는 데이터 영역에 관련된 메타데이터 등의 정보를 저장할 수 있다.
웨어레벨링(Wearlevelling)은 플래시 칩 내의 메모리 블록들이 균일하게 지워지고 이용되는 것을 보장하기 위해 사용된다. 웨어레벨링은 아웃-오브-위치 (out-of-position) 갱신을 수행함으로써 플래시 칩에 행해질 수 있다.
로그-구조식 파일 시스템(Log-structured file system)은 플래시 칩에 데이터를 기입하기 위해 사용될 수 있으며, 데이터가 순환 방식으로 로그처럼 위에서 아래로 기입될 수 있다. 상기 로그-구조식 파일 시스템은 메타데이터를 저장하기 위해 i-노드의 사용을 피할 수 있다. 로그-구조식 파일 시스템의 예로는 Yaffs2 등이 될 수 있다. 시간 순으로(chronological fashion) 파일 시스템을 정렬하기 위해, 시퀀스 번호(sequence number)가 모든 플래시 페이지 쓰기에 추가될 수 있고, 여기서 상기 시퀀스 번호는 각 페이지와 관련된 스페어 영역에 기입될 수 있다. 상기 시퀀스 번호는 플래시 매체에 페이지 쓰기를 명령하는 실행 카운터이다. 상기 시퀀스 번호뿐만 아니라, 스페어 영역은 또한 파일의 소유자, 파일 생성 시간, 페이지의 유형, 파일 식별자, 파일 오프셋, 체크섬과 같은 메타데이터를 포함할 수 있다.
상기 로그-구조식 파일 시스템은 마운트 시간 동안 클리어한 언마운트(clean unmount)가 있었는지를 인식할 수 있다. 클리어한 언마운트가 없었다면, 전원 실패(power failure) 시나리오를 가정한다. 전원 실패(power failure) 에 후속하는, 상기 로그-구조식 파일 시스템의 복구 프로세스는 플래시 칩의 모든 페이지의 스페어 영역을 스캔하는 것을 포함한다. 이 스캐닝 정보로부터 모든 페이지와 그 해당 시퀀스 번호가 인지된다. 동일한 논리 아이덴티티를 가지는 복수의 페이지를 고려할 때, 시퀀스 번호가 가장 큰 페이지는 가장 최근의 페이지로 선택되고 더 낮은 시퀀스 번호를 가진 페이지들은 유효하지 않은 것(invalid)(무효)으로 마킹된다. 파일 시스템의 구조는 이 스캐닝된 정보로 복원된다. 무효 페이지는 가비지 콜렉션(garbage collection) 사이클에서 복구된다.
가비지 콜렉션은 플래시 메모리 블록 내에 존재하는 모든 유효한 데이터를 다른 플래시 메모리 블록으로 이동시킨 후, 플래시 칩 내의 메모리 블록들을 소거하고 상기 메모리 블록을 다시 쓰기 가능 것으로 만드는 프로세스이다.
데이터베이스는 저장 매체에 상주하고, 여기서 저장 매체는 (감시 시스템에 연결된) 내부 저장 매체 또는 외부 저장 매체일 수 있다. 상기 데이터베이스는 데이터에 대한 저장된 시간 메타데이터를 포함한다. 상기 데이터베이스는 SQL (Structured Query Language; 구조적 질의어) 데이터베이스 또는 임의의 다른 등가 데이터베이스일 수 있다.
도 2는 본 발명의 실시예들에 따른 감시 시스템을 도시한다. 도시된 바와 같이, 감시 시스템(201)은 데이터 관리자(203)에 의해 관리되는 적어도 하나의 비디오 카메라(202)로 구성된다. 상기 비디오 카메라(202)는 비디오와 (비디오 카메라(202)와 연동된 적어도 하나의 마이크로폰을 사용하여) 오디오 중 적어도 하나를 획득하도록 구성될 수 있다. 상기 비디오 카메라(202)에 의해 획득된 데이터는 데이터 관리자(203)에 전송될 수 있다. 상기 데이터 관리자(203)는 하드웨어 또는 소프트웨어를 포함하고 상기 데이터 관리자(203)에 의하여 수행되는 기능을 활성화하기 위해 서로 상호 작용하도록 구성된 복수의 이산 시스템 구성 요소일 수 있다.
상기 데이터 관리자(203)는 시스템(201) 내에 존재하는 복수의 비디오 카메라로부터 데이터를 수신할 수 있다. 상기 데이터 관리자(203)는 적어도 하나의 비디오 카메라(202)와 공동 배치될 수 있다. 상기 데이터 관리자(203)는 상기 복수의 비디오 카메라(202)와 공동 배치될 수 있다. 상기 데이터 관리자(203)는 상기 복수의 비디오 카메라(202)로부터 원격 배치될 수 있고, 유선 수단, 무선 수단 또는 임의의 다른 등가 수단 등의 적절한 수단을 사용하여 카메라에 접속될 수 있다.
상기 데이터 관리자(203)는 상기 비디오 카메라(202)로부터 수신된 데이터를 저장하는데 사용될 수 있다. 상기 데이터 관리자(203)는 관리자 등의 인증된 사람으로부터의 요청을 수신하면, 저장된 데이터를 검색할 수 있다.
감시 비디오 카메라들은 본 발명에서 대표적인 예로서 간주되었으나, 상기 데이터 관리자가 상기 시스템(201)에 존재하는 임의의 타입의 센서로부터 데이터를 수신할 수 있음은 해당 기술 분야에서 통상의 지식을 가진 자에게 명백하고, 여기서 상기 센서는 비디오 카메라, 마이크로폰, 온도 센서, 모션 센서, 디바이스/산업용 센서 또는 감시 시스템에 관련된 데이터를 획득하도록 구성되는 임의의 다른 센서일 수 있다. 또한 제안된 방법은 스마트 폰, 스마트 텔레비전, 태블릿, 컴퓨터, 웨어러블 컴퓨팅 디바이스, 사물 인터넷에 연결된 디바이스들, 건강 모니터 등의 멀티미디어 데이터의 저장 및 검색을 위해 필요한 모든 장치로 확장될 수 있다.
도 3a는 본 발명의 실시예들에 따른 감시 시스템의 데이터 관리자 모듈을 도시한다. 상기 데이터 관리자(203)는 제어부(301), 원시 플래시 칩 라이터(302), 시간 추적기(time tacker)(303), 외부 저장 라이터(304), 센서 인터페이스 컴포넌트(305), 로그-구조식 파일 시스템(306) 및 관계형 데이터베이스 컴포넌트(relational database component)(307)로 구성된다.
상기 원시 플래시 칩 라이터(302)는 원시 플래시 칩으로의 읽기 및/또는 쓰기 동작을 관리할 수 있다. 상기 원시 플래시 칩은 시스템-온-칩 온-보드 상에 존재할 수 있다. 상기 원시 플래시 칩은 또한 착탈, 확장 등이 가능한 착탈식 칩일 수 있다. 상기 플래시 칩 라이터(302)는 어토믹 플래쉬(atomic flash) 갱신을 보장할 수 있다. 이것은 원시 플래시 칩 라이터(302)에 전송되는 모든 페이지의 쓰기 동작이 완전히 완료되거나 전혀 시작되지 않은 것을 의미한다. 예시적인 구현예에서, 플래시 칩은 많아야 1초 동안 전력을 공급하는 커패시터를 사용하는 소형 에너지 공급부로 보강될 수 있어, 진행중인 쓰기 동작이 완료되었는지 확인하도록 한다. 페이지 쓰기 동작은 일반적으로 200 마이크로초(microseconds)가 걸리고 및 소거 동작은 2밀리초(milliseconds)가 걸린다. 더 작은 플래시 페이지 크기를 포함하는 실시예에서, 온-보드 잔류 전력 용량 자체는 진행중인 플래시 동작을 완료하기에 충분하다. 이 경우, 원시 플래시 칩 라이터는 쓰기 동작을 시작하기 전에, 보드의 전원이 온(ON)인지를 먼저 확인해야 한다. 이러한 구현예 또는 임의의 다른 구현예는 어토믹 플래시 페이지 갱신을 보장하기 위해 당업자에 의해 고안될 수 있다.
상기 시간 추적기(303)는 데이터 관리자(203)에 의한 사용을 위해 타이밍 관련 정보를 제공할 수 있다. 타이밍 관련 정보를 제공하기 위하여 시간 추적기(302)는 컴퓨팅 환경에서 사용 가능한 실시간 클록, 감시 타이머 주변 장치 또는 임의의 다른 적절한 수단을 사용할 수 있다. 상기 시간 추적기(303)는 현재 시간 및 경과 시간 등의 시간 관련 정보를 확보할 목적으로 이러한 엔티티들(entities)과 상호 작용할 수 있다.
상기 외부 저장 라이터(304)는 데이터 관리자(203)가 데이터를 저장하도록 구성된 메모리 소자와 상호 작용하도록 데이터 관리자(203)를 활성화할 수 있다. 상기 외부 저장 요소들은 SD(Secure Digital) 카드, CF(Compact Flash) 카드, 솔리드-스테이트 드라이브, 하드 디스크 등일 수 있다. 상기 외부 저장 수단은 적절한 슬롯/인터페이스를 사용하여 컴퓨팅 환경에 플러그-인될 수 있으며, 또한 쉽게 제거될 수 있다.
상기 센서 인터페이스 컴포넌트(305)는 상기 데이터 관리자가 상기 데이터 관리자(203)에 접속된 복수의 센서들과 상호 작용하도록 할 수 있다. 상기 센서 인터페이스 컴포넌트(305)는 유선 인터페이스(예컨대, LAN(Local Area Network) 케이블, USB(Universal Serial Bus) 케이블 또는 임의의 다른 등가 수단들) 또는 무선 인터페이스 중의 적어도 하나를 사용할 수 있다.
로그-구조식 파일 시스템(306)은 원시 플래시 칩 라이터(302)에서(over) 동작하며 원시 플래시 칩에 데이터 파일을 저장하기 위한 애플리케이션들에 의해 이용될 수 있다.
상기 관계형 데이터베이스 구성 요소(307)는 테이블을 생성 및 색인화하는 데 사용될 수 있고, 관계형 데이터베이스의 전형적인 ACID(Atomicity, Consistency, Isolation and Durability) 보장을 제공할 수 있다.
적어도 하나의 비디오 카메라(202)로부터 데이터를 수신하면, 제어부(301)는 데이터베이스(SQL 데이터베이스 또는 임의의 다른 등가 데이터베이스) 내에 엔트리를 생성하고, 여기서 상기 엔트리는 데이터의 시작 시간 및 파일 이름을 포함한다 (파일 이름 하에 데이터가 플래시 칩에 저장된다). 제어부(301)는 또한 엔트리를 NC(Not Complete)로서 표시한다. 일 실시 예에서, 제어부(301)는 파일의 경로 이름에 포워드-슬래시(/) 이외의 다른 경로 세퍼레이터를 사용하여 상기 엔트리를 NC로 나타낼 수 있다.
그 다음, 제어부(301)는 플래시 칩 내 로그-구조식 파일 시스템에 데이터를 쓰기 시작할 수 있다. 제어부(301)는 (지정한 파일 이름을 갖는) 파일을 생성하고 파일에 데이터를 쓰기 시작한다. 플래시 칩에 기입하는 것은, 데이터 영역에 데이터를 기입하는 것과 플래시 페이지의 스페어 영역에 시퀀스 번호 등의 메타데이터를 기입하는 것을 포함한다. 제어부(301)가 플래시 칩에 데이터를 기입함에 따라, 제어부(301)는 플래시 칩에 현재 기입되는 페이지에 대응하는 스페어 영역에 실시간으로 현재 시간(current time)에 관련된 정보를 저장한다. 현재 시간이 별도로 기입되지 않으나 시퀀스 번호로 인코딩된다. 현재 시간은 상기 데이터의 순서를 결정하는데 사용될 수 있다. 일 실시예에서, 제어부(301)는 현재 시간을 표시하기 위하여 개시 년 이후부터의 경과한 시간을 초(the number of seconds)로 나타낸다. 현재 시간 정보를 시퀀스 번호로 인코딩하는 임의의 다른 수단은 그 인코딩된 시퀀스 번호가 단조(monotonically) 증가하는 한 계속 이어질 수 있음을 주목할 수 있다.
도 4 및 도 5a는 전술된 프로세스를 도시한다.
더 이상 기입할 데이터가 없음을 검출한 제어부(301)는 종료 시간으로 SQL 데이터베이스에서 엔트리를 갱신한다. 제어부(301)는 또한 엔트리를 C(Complete)로 마킹한다.
도 5a 및 도 5b는 감시 시스템에 데이터를 기입하는 전술된 프로세스를 도시한다.
적어도 하나의 데이터베이스 엔트리가 소실되는 경우를 고려한다. 이 로그-구조식 파일 시스템이 자체 복구를 완료하고 파일 시스템 구조가 정확하게 복원된 후, 이 절차가 발생한다는 것을 주목해야 한다.
제어부(301)가 SQL 데이터베이스 내에 엔트리를 생성하는 단계와 제어부(301)가 플래시 칩에 데이터를 쓰기 시작하는 단계 사이에 전원 실패(power failure)가 있는 경우를 상정한다. 여기서 실패는 데이터베이스 내의 엔트리가 존재하지만 데이터는 플래시 칩에 존재하지 않는 결과를 초래할 수 있다. 실패에서 복구할 때, 제어부(301)는 NC로 표시된 데이터베이스 내의 모든 엔트리를 체크할 수 있다. NC로 표시된 적어도 하나의 엔트리를 검출할 때, 제어부(301)는 해당 파일이 플래시 칩에 존재하는지 체크한다. 로그-구조식 파일 시스템의 구조에서, 그 파일이 파일 시스템에 존재하는지와 현재 크기를 알 수 있다. 만일 제어부(301)가 플래시 칩 내에 대응하는 파일을 찾을 수 없다면, 제어부(301)는 데이터베이스에서 엔트리(들)를 삭제할 수 있다.
제어부(301)가 파일을 생성하는 단계와 제어부(301)가 플래시 칩에 데이터를 쓰기 시작하는 단계 사이에 전원 실패(power failure)가 있는 경우를 상정한다. 여기서 실패는 파일이 생성되어 있으나, 그 파일에 데이터가 없는 결과를 초래할 수 있다. 실패에서 복구할 때, 제어부(301)는 NC로 표시된 데이터베이스 내의 모든 엔트리를 체크할 수 있다. NC로 표시된 적어도 하나의 엔트리를 검출할 때, 제어부(301)는 해당 파일이 플래시 칩에 존재하는지 체크한다. 로그-구조식 파일 시스템의 구조에서, 그 파일이 파일 시스템에 존재하는지와 현재 크기를 알 수 있다. 만일 제어부(301)가 적어도 하나의 대응하는 파일을 찾을 수 있다면, 제어부(301)는 해당 파일의 파일 크기를 체크할 수 있다. 만일 파일 크기가 제로인 경우, 제어부(301)는 플래시 칩으로부터 파일을 삭제하고 데이터베이스 내의 대응하는 엔트리(들)를 삭제한다.
제어부(301)는 플래시 칩에 데이터를 기입하기 시작한 후에 전원 실패(power failure)가 있는 경우를 상정한다. 여기서 실패는 상기 파일이 전체 데이터(complete data)를 포함하지 않는 결과를 초래할 수 있다. 실패로부터 복구할 때, 제어부(301)는 스캔을 사용하여 파일 시스템으로부터 구조를 복구한다. 상기 스캔을 바탕으로, 제어부(301)는 기입된 마지막 페이지를 결정한다. 제어부(301)는 (스페어 영역에 존재하는) 시퀀스 번호에 기초하여 기입된 마지막 페이지를 결정할 수 있다. 시퀀스 번호에 기초하여, 제어부(301)는 시간 정보를 디코딩할 수 있다. 다음으로 제어부(301)는 데이터베이스 내의 엔트리를 갱신하고 그 엔트리를 C(Complete)로서 마킹할 수 있다.
전원 실패(power failure)는 시스템(201) 및/또는 데이터 관리자(203)로의 전원 공급의 손실에 의해 야기될 수 있다. 전력 손실은 사고 또는 잘못된 의도를 가진 사람들의 고의적인 조작에 기인한 전원 공급 중단에 의해 야기될 수 있다.
중간의 휘발성 또는 비휘발성 메모리에 상주하는 버퍼 캐시가 파일 시스템에 의해 사용되는 경우에, 데이터의 손실이 있는 경우를 상정한다. 그러한 경우, 쓰기 동작들(writes)이 파일 시스템에 도달하기 전에 쓰기 동작들이 중간 버퍼에서 전개된다. 일 실시예에서, 상 변화 메모리(PCM)와 같은 비휘발성 메모리는 버퍼 캐시로서 사용될 수 있다. 이 경우에, 제안된 데이터의 복구는 PCM 캐시 내의 데이터를 플래시 칩에 플러쉬(flush) 후에 시작될 수 있다. SDRAM 등의 휘발성 메모리가 사용되면, 데이터 손실의 문제가 있다. 파일 시스템이 단지 읽기를 위해 휘발성 메모리 캐시를 사용하고 동기 파일 시스템 쓰기를 채택하여 쓰기를 위해 휘발성 메모리 캐시를 사용하는 것으로 우회할 수 있다면 이러한 가능성을 피할 수 있다. 제어부(301)는 표준 디스크보다 더 빠르게 플래시 칩에 기입할 수 있기 때문에, 동기 쓰기는 상당한 성능 손실을 발생할 수 없으므로, 이로써 캐싱의 요구 사항을 피할 수 있다.
도 4는 본 발명의 실시예들에 따른 감시 시스템에 데이터를 기입하는 프로세스를 나타내는 흐름도이다. 적어도 하나의 비디오 카메라(202)로부터 데이터를 수신할 때, 제어부(301)는 SQL 데이터베이스 내에 엔트리를 생성하고(401), 이때 엔트리는 데이터 시작 시간(Start) 및 파일 이름(Filename)으로 구성된다. 제어부(301)는 그 엔트리에 NC(Not Complete)를 추가로 마킹한다(402). 그 다음 제어부(301)는 (지정한 파일 이름을 가지는) 파일을 생성하고 데이터를 그 파일에 기입함으로써 플래시 칩 내의 로그-구조식 파일 시스템에 데이터를 기입하기 시작한다(403). 제어부(301)가 플래시 칩에 데이터(Data)를 기입할 때, 제어부(301)는 플래시 칩에서 현재 기입된 페이지에 대응하는 스페어 영역에 실시간으로 현재 시간에 관련된 정보(인코딩된 시퀀스 번호, EncodedSeqNum)를 저장한다(404). 제어부(301)가 더 이상 기입할 데이터가 없음을 검출하면(405), 제어부(301)는 종료 시간(End)으로 SQL 데이터베이스 내의 엔트리를 갱신한다(406). 제어부(301)는 엔트리를 C(Complete)로 추가 마킹한다(407). 흐름도(400)에서의 다양한 동작들은 상이한 순서로 또는 동시에, 제시된 순서로 수행될 수 있다. 또한, 일부 실시예에서, 도 4에 나열된 일부 동작은 생략될 수 있다.
도 6a 및 도 6b는 본 발명의 실시예들에 따른 감시 시스템에 데이터를 기입하는 동안 실패 시나리오를 관리하는 프로세스를 나타내는 흐름도들이다. 제어부(301)가 전원 실패(power failure)를 검출하고(601), 실패에서 복구할 때, 제어부(301)는 NC로 표시된 데이터베이스 내의 모든 엔트리를 체크하여 불완전한 행을 식별한다(602). NC로 표시된 적어도 하나의 엔트리를 검출할 때, 제어부(301)는 대응하는 파일이 플래시 칩 내에 존재하는지를 체크한다(603). 제어부(301)가 플래시 칩 내에서 대응하는 파일을 찾을 수 없는 경우, 제어부(301)는 데이터베이스 내의 엔트리(들)를 제거한다(604). 제어부(301)가 적어도 하나의 대응 파일을 발견할 수 있는 경우, 제어부(301)는 해당 파일의 파일 크기를 체크한다(605). 파일 크기가 0이면, 제어부(301)는 플래시 칩으로부터 파일들을 제거하고(606), 데이터베이스 내의 해당 엔트리(들)를 제거한다(604). 파일 크기가 0이 아닌 경우, 제어부(301)는 스캔을 사용하여 파일 시스템으로부터 구조를 복원한다(607). 상기 스캔을 바탕으로, 제어부(301)는 기입된 마지막 페이지를 결정한다(608). 제어부(301)는 (스페어 영역에 존재하는) 시퀀스 번호에 기초하여 기입된 마지막 페이지를 결정할 수 있다. 시퀀스 번호에 기초하여, 제어부(301)는 시간 정보를 디코딩할 수 있다(609). 다음으로 제어부(301)는 데이터베이스 내의 엔트리를 갱신하고(610), 그 엔트리에 C(Complete)로 마킹할 수 있다(611). 방법(600)에서의 다양한 동작들은 상이한 순서로 또는 동시에, 제시된 순서로 수행될 수 있다. 또한, 일부 실시예에서, 도 6a 및 도 6b에 나열된 일부 동작은 생략될 수 있다.
특정 실시예들의 전술한 설명은 본 발명의 실시예들의 일반적인 특징을 아주 충분히 개시하고 있으므로, 다른 사람들은 현재의 지식을 적용함으로써, 포괄적인 개념에서 벗어나지 않고 다양한 애플리케이션에 대해 이러한 특정 실시예들을 용이하게 수정 및/또는 적용할 수 있고, 그러므로 이러한 적응 및 변형은 개시된 실시예의 등가물의 의미 및 범위 내에서 이해되어야 하고 이해되도록 의도된 것이다. 이는 본 발명에서 사용되는 표현 또는 용어는 설명을 목적으로 한 것이며 제한할 목적이 아니라는 것을 이해하여야 한다. 본 발명의 실시예들은 바람직한 실시예들에 관하여 설명되었지만, 당업자는 본 발명에 기재된 실시예들은 본 발명의 실시예들의 사상 및 범위 내에서 변형되어 실시될 수 있음을 인식할 것이다.

Claims (17)

  1. 원시 플래시 칩에 타이밍 관련 정보를 저장하는 방법에 있어서,
    데이터가 기입되는 현재 시간 정보인 상기 타이밍 관련 정보를 데이터가 기입되는 상기 원시 플래시 칩의 현재 블록의 시퀀스 번호로 인코딩하는 단계; 및
    상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호를 상기 현재 블록의 플래시 페이지의 스페어 영역에 저장하는 단계;를 포함하고,
    상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호는 상기 데이터가 기입되는 플래시 페이지마다 대응하는 스페어 영역에 저장되는, 원시 플래시 칩에 타이밍 관련 정보를 저장하는 방법.
  2. 원시 플래시 칩에 있어서,
    데이터가 기입되는 현재 시간 정보인 타이밍 관련 정보를 데이터가 기입되는 상기 원시 플래시 칩의 현재 블록의 시퀀스 번호로 인코딩하고;
    상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호를 상기 현재 블록의 플래시 페이지의 스페어 영역에 저장함으로써, 상기 타이밍 관련 정보를 저장하기 위해 구성되고,
    상기 인코딩된 타이밍 관련 정보 및 시퀀스 번호는 상기 데이터가 기입되는 플래시 페이지마다 대응하는 스페어 영역에 저장된, 원시 플래시 칩.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    전원 실패 후에 감시 시스템에서 데이터를 복구하는 방법에 있어서,
    데이터 관리자에 의해 파일이 원시 플래시 칩에 존재하는지를 체킹하는 단계로서, 상기 파일은 데이터베이스 내 상기 데이터 관리자에 의해 불완전 엔트리로서 식별된 엔트리에 대응하는, 상기 체킹 단계;
    상기 파일이 상기 원시 플래시 칩에 존재하지 않는 경우, 상기 데이터 관리자에 의해 상기 불완전 엔트리를 삭제하는 단계;
    상기 파일이 상기 원시 플래시 칩에 존재하면, 상기 데이터 관리자에 의해 상기 파일의 크기를 체크하는 단계;
    상기 파일의 크기가 0 인 경우, 상기 데이터 관리자에 의해 상기 파일 및 불완전 엔트리를 삭제하는 단계; 및
    상기 파일의 크기가 0이 아닌 경우, 상기 데이터 관리자에 의해,
    상기 원시 플래시 칩을 위한 파일 시스템으로부터 구조를 복원하는 단계;
    상기 원시 플래시 칩에 기입된 마지막 페이지를 결정하는 단계;
    상기 기입된 마지막 페이지에 대한 시간 정보를 디코딩하는 단계;
    상기 데이터베이스 내의 엔트리를 갱신하는 단계; 및
    상기 엔트리를 완전한 것(complete)으로 마킹하는 단계;를 수행하는 단계;를 포함하는 전원 실패 후에 감시 시스템에서 데이터를 복구하는 방법.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제3항에 있어서,
    상기 방법은 로그-구조식 파일 시스템을 사용하여 상기 데이터를 원시 플래시 칩에 기입하는 단계;를 더 포함하며,
    상기 로그-구조식 파일 시스템은 웨어레벨링(wearlevelling)을 수행하는 것을 특징으로 하는 방법.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제3항에 있어서, 상기 데이터 관리자는 상기 페이지와 관련된 시퀀스 번호를 사용하여 상기 원시 플래시 칩에 기입된 마지막 페이지를 결정하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 시퀀스 번호는 상기 페이지의 스페어 영역에 존재하는 것을 특징으로 하는 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020150031113A 2014-09-30 2015-03-05 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구 KR102225618B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150031113A KR102225618B1 (ko) 2014-09-30 2015-03-05 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구
CN201510641093.0A CN105468474B (zh) 2014-09-30 2015-09-30 来自故障场景的记录数据的时间相关元数据空间有效恢复

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN4939/CHE/2014 2014-09-30
IN4939CH2014 2014-09-30
KR1020150031113A KR102225618B1 (ko) 2014-09-30 2015-03-05 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구

Publications (2)

Publication Number Publication Date
KR20160038682A KR20160038682A (ko) 2016-04-07
KR102225618B1 true KR102225618B1 (ko) 2021-03-12

Family

ID=55606208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150031113A KR102225618B1 (ko) 2014-09-30 2015-03-05 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구

Country Status (2)

Country Link
KR (1) KR102225618B1 (ko)
CN (1) CN105468474B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698984B (zh) * 2020-12-17 2023-07-04 宁波三星医疗电气股份有限公司 嵌入式设备的数据库恢复方法、电子设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077901B1 (ko) * 2010-07-12 2011-10-31 (주)이더블유비엠코리아 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968439B2 (en) 2002-08-29 2005-11-22 Micron Technology, Inc. Single segment data object management
US7428557B2 (en) * 2004-03-22 2008-09-23 Microsoft Corporation Efficient data transfer to/from storage medium of computing device
KR100790991B1 (ko) * 2006-03-22 2008-01-03 삼성전자주식회사 데이터베이스 관리 시스템을 이용하여 파일시스템의메타데이터를 관리하는 방법
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
CN101788955B (zh) * 2009-01-23 2012-05-02 群联电子股份有限公司 闪存数据的存取方法及其储存系统与控制器系统
CN102073560A (zh) * 2011-01-17 2011-05-25 北京深思洛克软件技术股份有限公司 一种数据备份方法和装置
US8880786B2 (en) * 2012-09-28 2014-11-04 Apple Inc. Flash translation layer (FTL) database journaling schemes
CN103559119B (zh) * 2013-10-25 2016-03-02 华为技术有限公司 文件操作请求处理方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077901B1 (ko) * 2010-07-12 2011-10-31 (주)이더블유비엠코리아 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(2009.12.31)

Also Published As

Publication number Publication date
CN105468474B (zh) 2021-03-05
CN105468474A (zh) 2016-04-06
KR20160038682A (ko) 2016-04-07

Similar Documents

Publication Publication Date Title
EP3026582B1 (en) Transaction control block for multiversion concurrency commit status
US11531482B2 (en) Data deduplication method and apparatus
KR101522848B1 (ko) 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성
US7472139B2 (en) Database recovery method applying update journal and database log
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
US11630767B2 (en) Garbage collection—automatic data placement
CN103577121A (zh) 一种基于nand flash的高可靠线性文件存取方法
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
WO2012083754A1 (zh) 处理脏数据的方法及装置
US10459804B2 (en) Database rollback using WAL
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
US9438672B2 (en) Method for client specific database change propagation
CN109597707A (zh) 克隆卷数据拷贝方法、装置及计算机可读存储介质
US20190138386A1 (en) Recovering log-structured filesystems from physical replicas
KR102225618B1 (ko) 실패 시나리오로부터 기록된 데이터의 시간 관련 메타데이터의 공간 효율적인 복구
US20170017406A1 (en) Systems and methods for improving flash-oriented file system garbage collection
US11513919B2 (en) System and method of generating automatic checkpoints of a distributed file system
FR2890765B1 (fr) Procede de memorisation de donnees numeriques dans un grand systeme informatique et dispositif associe
CN108958968B (zh) 一种文件处理方法及装置
CN110209530B (zh) 一种恢复cdp系统io数据的方法及系统
CN113467698A (zh) 基于文件系统的写方法、装置、计算机设备和存储介质
US9286696B2 (en) Compression within a set of images
US20230385148A1 (en) Proactive loss notification and handling in data storage devices
CN109582638B (zh) 快照卷数据拷贝方法、装置及计算机可读存储介质
CN117520213A (zh) 数据处理方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right