KR20170125698A - 일반화된 기록 동작 검증 방법 - Google Patents

일반화된 기록 동작 검증 방법 Download PDF

Info

Publication number
KR20170125698A
KR20170125698A KR1020170025611A KR20170025611A KR20170125698A KR 20170125698 A KR20170125698 A KR 20170125698A KR 1020170025611 A KR1020170025611 A KR 1020170025611A KR 20170025611 A KR20170025611 A KR 20170025611A KR 20170125698 A KR20170125698 A KR 20170125698A
Authority
KR
South Korea
Prior art keywords
write request
valid
metadata
storage device
size
Prior art date
Application number
KR1020170025611A
Other languages
English (en)
Other versions
KR102185150B1 (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 웨스턴 디지털 테크놀로지스, 인코포레이티드
Publication of KR20170125698A publication Critical patent/KR20170125698A/ko
Application granted granted Critical
Publication of KR102185150B1 publication Critical patent/KR102185150B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • G06F17/3012
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/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
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10046Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter
    • G11B20/10194Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter using predistortion during writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording

Abstract

본 발명의 실시형태들에 따라 기술된 검증 아키텍처는 메타데이터에 대해 행해진 변경사항들을 검증하고, 하나 이상의 서브시스템 및 국면들을 포함할 수 있다. 일부 실시형태들에 따라서, "mkfs" 공간 생성 유틸리티가 특정 파일 시스템 공간을 위해서 예비된 저장 디바이스의 파티션 내측의 메타데이터 구조를 위한 공간의 예비 및 초기화에 의해 파일 시스템 공간을 생성하도록 디바이스 드라이버와 협력하여 동작한다. 상기 저장 디바이스는 파일 시스템 공간이 생성된 이후에 기록 요청을 체크할 때에 검증된 영역 레전드를 사용한다. 검증된 영역 레전드들은 예를 들어, 전용 파티션 내에, MBR(master boot record) 또는 GUID(Globally Unique Identifier) 파티션 테이블(GPT) 내측에 또는 특정 메모리 칩(예를 들어, NAND 플래시 메모리) 내측에 저장될 수 있다. 예비된 메타데이터 영역의 임의의 범위와 중첩하는 기록 요청은 메타데이터 손상을 방지하도록 검증되어야 한다.

Description

일반화된 기록 동작 검증 방법{GENERALIZED WRITE OPERATIONS VERIFICATION METHOD}
관련 출원에 대한 교차 참조
본 특허 출원은 2016년 3월 2일자에 출원되고 공동 계류 중이며 동일한 양수인에게 양도된 미국 특허 출원 번호 15/058,538 및 변호사 문서 번호 HGST-H20151246US1 "METHOD OF PREVENTING METADATA CORRUPTION BY USING A NAMESPACE AND A METHOD OF VERIFYING CHANGES TO THE NAMESPACE", 및 2016년 4월 27일자에 출원되고 공동 계류 중이며 동일한 양수인에게 양도된 미국 특허 출원 번호 15/140,241 및 변호사 문서 번호 HGST-H20151245US1 "GENERALIZED VERIFICATION SCHEME FOR SAFE METADATA MODIFICATION"와 관련된다. 전술한 특허 출원들은 본 명세서에서 모든 목적을 위해서 전체가 참조로서 인용된다.
본 발명의 실시형태들은 전반적으로 데이터 저장 시스템 분야에 관한 것이다. 보다 구체적으로, 본 발명의 실시형태들은 데이터 저장 메타데이터의 일관성을 유지하는 것을 포함하여, 파일 시스템의 일관성을 유지하기 위한 시스템 및 방법에 관한 것이다.
메타데이터는 데이터 저장 파티션 또는 파일 시스템 공간상의 사용자 데이터 또는 다른 메타데이터의 구성을 기술하는 데이터 세트이다. 파일 시스템 메타데이터를 보존하는 것은 현대의 파일 시스템의 동작에 중요하며 파일 시스템 공간에 기록된 사용자 데이터가 요청될 때에 액세스 가능하게 되는 것을 보장하는 것을 돕는다. 그러나 때로, 최종 사용자 워크로드, 최종 사용자 실수, 악성 동작, 또는 파일 시스템 드라이버 내의 버그는 특히 불안정한 파일 시스템에서 메타데이터 손상을 초래할 수 있는 부적절한 거동을 초래할 수 있다. 충분히 발달한 파일 시스템에서도 메타데이터 손상을 만날 수 있다.
파일 시스템의 메타데이터가 손상되면, (Unix-유사 운영 체제에서)"fsck"(파일 시스템 일관성 검사) 시스템 유틸리티와 같은 특별한 툴 또는 백업/복구 소프트웨어가 때로 사용되어 파일 시스템 데이터를 복구하고자 한다. 그러나 fsck 유틸리티를 사용하는 것은 매우 시간 소모적인 동작이며, 손상된 파일 시스템의 데이터가 복구될 것이라는 것을 보장할 수 없다. 또한, 이와 같은 툴은 오직 파일 시스템이 비장착된(예를 들어, 오프라인) 상태에 있을 때에만 사용될 수 있다. 이로써, 메타데이터 손상을 방지하는 것이 손상을 검출하여서 손상된 데이터를 복구하고자 하는 것보다 유리하다.
저장 디바이스 상의 메타데이터 손상을 방지하는 방법 및 시스템이 본 명세서에서 기술된다. 본 발명의 실시형태들은 검증 아키텍처를 사용하여 메타데이터에 대해 행해진 변경사항들을 검증하고, 하나 이상의 서브시스템 및 국면들을 포함할 수 있다. 파일 시스템 공간이 디바이스의 파티션 내측의 메타데이터 구조를 위한 공간의 예비(reservation) 및 초기화를 통해 파일 시스템 생성 유틸리티(예를 들어, Unix-유사 운영 체제에서 "mkfs")를 사용하여 생성된다. 디바이스의 파티션 내측의 메타데이터 구조를 위한 공간은 특정 파일 시스템 공간에 대해 예비된다. 모든 예비된 메타데이터 영역은 영역 레전드(area legend)에 의해서 기술되어야 한다. 시스템 공간이 생성된 이후에 메타데이터 변경사항들을 체크할 때에, 검증된 영역 레전드들은 디바이스 드라이버(호스트 측) 또는 저장 디바이스 제어기(예를 들어, 애플리케이션-특정 집적 회로(ASIC) 또는 필드-프로그램 가능한 게이트 어레이(FPGA))에 의해서 사용된다. 검증된 영역 레전드들은 전용 파티션 내에, MBR(master boot record) 또는 GUID(Globally Unique Identifier) 파티션 테이블(GPT) 내측에 또는 특별한 메모리 칩 상에 저장될 수 있다. 파일 시스템 공간상의 임의의 예비된 메타데이터 영역과 중첩하는 기록 요청은 메타데이터 손상을 방지하도록 검증되어야 한다.
일 실시형태에 따라서, 메타데이터의 손상을 방지하도록 저장 디바이스로의 기록 요청을 검증하는 방법이 개시된다. 상기 기록 요청은 논리적 블록 어드레스, 매직 시그니처, 및 데이터 타입 플래그를 포함한다. 상기 방법은, 상기 기록 요청의 논리적 블록 어드레스가 상기 저장 디바이스의 검증된 영역의 기존의 범위와 중첩한다고 결정하는 단계; 상기 매직 시그니처가 상기 검증된 영역의 레전드(legend)의 예상 매직 시그니처와 일치하면, 상기 매직 시그니처가 유효하다고 결정하는 단계; 상기 데이터 타입 플래그가 메타데이터 타입을 포함하면, 상기 기록 요청의 블록들의 수가 유효하다고 결정하는 단계; 상기 기록 요청의 사이즈가 상기 검증된 영역의 레전드의 노드 사이즈의 배수와 동일하면, 상기 기록 요청의 사이즈가 유효하다고 결정하는 단계; 및 상기 기록 요청이 유효한 매직 시그니처, 유효한 블록 수, 및 유효한 사이즈를 포함하면, 상기 기록 요청이 유효하다고 결정하는 단계를 포함한다.
다른 실시형태에 따라서, 메타데이터의 손상을 방지하도록 기록 요청을 검증하는 장치가 개시된다. 상기 장치는 저장 디바이스; 및 상기 저장 디바이스에 통신 가능하게 연결된 프로세서를 포함하며, 상기 프로세서는, 상기 기록 요청-상기 기록 요청은 논리적 블록 어드레스, 매직 시그니처, 및 데이터 타입 플래그를 포함함-을 분석하고; 상기 기록 요청의 논리적 블록 어드레스가 상기 저장 디바이스의 검증된 영역의 기존의 범위와 중첩한다고 결정하며; 상기 매직 시그니처가 상기 검증된 영역의 레전드(legend)의 예상 매직 시그니처와 일치하면, 상기 매직 시그니처가 유효하다고 결정하고; 상기 데이터 타입 플래그가 메타데이터 타입을 포함하면, 상기 기록 요청의 블록들의 수가 유효하다고 결정하며; 상기 기록 요청의 사이즈가 상기 검증된 영역의 레전드의 노드 사이즈의 배수와 동일하면, 상기 기록 요청의 사이즈가 유효하다고 결정하고; 상기 기록 요청이 유효한 매직 시그니처, 유효한 블록 수, 및 유효한 사이즈를 포함하면, 상기 기록 요청이 유효하다고 결정하도록 구성된다.
본 명세서의 일부를 형성하고 본 명세서에 내에 포함되는 첨부 도면은 본 발명의 실시형태들을 예시하며, 상세한 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 실시형태들이 구현될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
도 2는 본 발명의 실시형태들에 따른 메타데이터에 대해 특정하게 예비된 영역들을 포함하는 예시적인 일반화된 파일 시스템 공간의 블록도이다.
도 3은 본 발명의 실시형태들에 따른 일반화된 메타데이터 검증 아키텍처의 블록도이다.
도 4는 본 발명의 실시형태들에 따른 예시적인 검증된 영역 레전드의 블록도이다.
도 5는 본 발명의 실시형태들에 따른 기록 요청을 검증하기 위한 예시적인 컴퓨터-구현 프로세스의 단계들을 예시하는 흐름도이다.
이제 몇몇 실시형태들이 세부적으로 참조될 것이다. 논의 대상이 대안적 실시형태들과 연계되어서 기술되지만, 이와 같은 실시형태들이 청구된 청구 대상을 이와 같은 실시형태들로 한정하고자 하는 것이 아님이 이해될 것이다. 그보다는, 청구된 청구 대상은 첨부된 청구항들에 의해 규정된 바와 같은 청구된 청구 대상의 사상 및 범위 내에 포함될 수 있는, 대안사항들, 변경사항들, 및 균등사항들을 포괄하고자 한다.
또한, 다음의 상세한 설명에서, 수많은 특정 세부사항들이 청구된 청구 대상의 철저한 이해를 제공하기 위해서 제시된다. 그러나 실시형태들은 이와 같은 특정 세부사항들 없이 또는 이들의 균등사항들로 실시될 수 있다는 것이 본 기술 분야의 당업자에 의해 인식될 것이다. 다른 사례들에서, 잘 알려진 방법, 절차, 구성요소, 및 회로는 논의 대상의 양태 및 특징을 불필요하게 모호하게 하지 않도록, 세부적으로 기술되지 않았다.
다음의 상세한 설명의 일부는 방법의 차원에서 제공 및 논의된다. 방법의 단계들 및 순서화가 본 방법의 동작들을 기술하는 본 명세서의 도면에서 개시되지만, 이와 같은 단계들 및 순서화는 예시적이다. 실시형태들은 역시 본 명세서의 도면들의 흐름도(예를 들어, 도 5)에서 인용된 단계들의 변형들 또는 다양한 다른 단계들을 본 명세서에서 기술되고 도시된 순서와 다른 순서로 수행하는데도 적합하다.
다음의 상세한 설명의 일부는 절차, 단계, 로직 블록, 프로세싱 및 컴퓨터 메모리 상에서 수행될 수 있는 데이터 비트들에 대한 연산들의 다른 부호적 표현들의 차원에서 제시된다. 이와 같은 설명들 및 표현들은 데이터 프로세싱 분야의 당업자가 그들의 연구의 실체를 다른 당업자에게 가장 효과적으로 전달하는데 사용되는 수단이다. 절차, 컴퓨터-실행 단계, 로직 블록, 프로세스 등은 본 명세서에서 그리고 일반적으로 목적한 결과들로 이어지는 단계들 또는 인스트럭션들의 자체-일관된 시퀀스로 고려된다. 단계들은 물리적 정량들의 물리적 조작들을 요구하는 것들이다. 통상적으로, 반드시 그러한 것은 아니지만, 이와 같은 정량들은 컴퓨터 시스템 내에 저장, 전달, 결합, 비교 및 이와 달리 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다. 원칙적으로 통상적으로 사용되기 때문에, 이와 같은 신호들을 비트, 값, 요소, 심볼, 문자, 기간, 수 등으로 지칭하는 것이 때로 편리하다.
그러나 이와 같은 그리고 유사한 용어들 모두는 적합한 물리적 정량들과 연관되며 단지 이와 같은 정량들에 적용된 편리한 표지자라는 것을 염두에 두어야 한다. 다음의 설명으로부터 명백한 바와 달리 구체적으로 진술되지 않은 이상, "액세스하다", "기록하다", "포함하다", "저장하다", "전송하다", "트라버싱하다(traversing)", "연관시키다", "식별하다" 등과 같은 용어들을 사용하는 논의들은 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적 (전자적) 정량들로서 표현된 데이터를 조작하여 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 이와 같은 정보 저장, 전송, 또는 디스플레이 디바이스들 내의 물리적 정량들로서 유사하게 표현된 다른 데이터로 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 명세서에 걸쳐서 말하고 있다고 이해된다.
도 1의 실례에서, 컴퓨터 시스템(112)은 운영 체제 및/또는 소프트웨어 애플리케이션을 실행하기 위한 중앙 프로세싱 유닛(CPU)(101)을 포함한다. 메모리(102/103)는 CPU(101)에 의해서 사용될 애플리케이션 및 데이터를 저장한다. 판독 전용 메모리(ROM)(103)는 비휘발성 저장을 위해서 사용되며 부팅 프로세스(예를 들어, 파워-온 기동) 동안에 하드웨어 초기화를 위한 그리고 운영 체제에 대한 런타임 서비스를 제공하는 기본 입력/출력 시스템(BIOS)을 포함할 수 있다. 랜덤 액세스 메모리(RAM)(102)는 휘발성 저장부를 제공한다. 데이터 저장 디바이스(104)는 하나 이상의 파티션 및/또는 논리적 공간들 상의 애플리케이션 및 데이터에 대한 비휘발성 저장을 제공하며 하나 이상의 하드 디스크 드라이브, 고체상 드라이브(SSD), 또는 차세대 비휘발성 메모리(NVM)에 기초한 저장 드라이브를 포함할 수 있다. 선택적인 사용자 입력 디바이스들(106) 및 커서 콘트롤(107)은 하나 이상의 사용자들부터의 사용자 입력을 컴퓨터 시스템(112)으로 전달하는 디바이스들을 포함하며 키보드, 마우스, 조이스틱, 카메라, 터치 스크린 및/또는 마이크로폰을 포함할 수 있다.
통신 또는 네트워크 인터페이스(108)는 컴퓨팅 디바이스(112)가 유선 및/또는 무선 통신을 포함하며 인트라넷 또는 인터넷을 포함하는 전자 통신 네트워크를 통해 다른 컴퓨터 시스템과 통신할 수 있게 한다. CPU(101), 메모리(103/102), 데이터 저장 디바이스(104), 사용자 입력 디바이스들(106), 및 디스플레이 디바이스(110)를 포함하는 컴퓨터 시스템(112)의 구성요소들은 하나 이상의 데이터 버스들(100)을 통해 연결될 수 있다.
도 1의 실시형태에서, 그래픽 서브-시스템(105)은 컴퓨터 시스템(112)의 데이터 버스 및 구성요소들과 연결될 수 있다. 그래픽 서브-시스템은 예를 들어, 물리적 그래픽 프로세싱 유닛(GPU)(105) 및 그래픽 메모리, 또는 마더보드/칩셋 또는 프로세서의 통합형 그래픽 구성요소를 포함할 수 있다. 그래픽 서브-시스템(105)은 렌더링 명령으로부터 출력 이미지를 위한 픽셀 데이터를 생성한다. 물리적 그래픽 서브-시스템(105)은 병행하여 실행되는 다수의 애플리케이션 또는 프로세스에 의해 병행하여(동시적으로) 사용될 수 있는 다수의 가상 GPU로 구성될 수 있다.
일부 실시형태들은 하나 이상의 컴퓨터들 또는 다른 디바이스들에 의해 실행된 프로그램 모듈들과 같은 컴퓨터-실행 가능한 인스트럭션들의 일반적 맥락으로 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크를 수행하거나 특정 애브스트랙트 데이터 타입을 구현하는 루틴들, 프로그램들, 객체들, 구성요소들, 데이터 구조, 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능들은 다양한 실시형태들에서 목표된 바와 같이 결합 또는 분산될 수 있다.
일반화된 기록 동작 검증 방법
다음 설명은 당업자가 본 발명의 실시형태들을 제조 및 실시할 수 있게 하도록 제공된다. 다음의 설명은 특정 용도 및 그의 요건의 맥락으로 제공된다. 개시된 실시형태들에 대한 다양한 변경사항들은 본 기술 분야의 당업자에게 용이하게 명백할 것이며, 본 명세서에서 규정된 일반적인 원리들은 본 개시의 사상 및 범위를 벗어나지 않으면서 다른 실시형태들 및 용도에 적용될 수 있다. 따라서, 본 발명은 도시된 실시형태들로 한정되지 않으며 본 명세서에서 개시된 원리들 및 특징들과 일관된 가장 넓은 범위가 부여될 것이다.
본 발명의 실시형태들에 따라 기술된 검증 아키텍처는 기록 요청을 검증하고 하나 이상의 서브시스템 및 국면들을 포함할 수 있다. 일부 실시형태들에 따라서, 파일 시스템 생성 유틸리티(예를 들어, Unix-유사 운영 체제에서 "mkfs")는 특정 파일 시스템 공간을 위해서 예비된 저장 디바이스의 파티션 내측의 메타데이터 구조를 위한 공간의 예비 및 초기화에 의해 파일 시스템 공간을 생성하고, 예비된 영역들에 대한 검증된 영역 레전드들을 생성한다. 저장 디바이스 제어기(예를 들어, 애플리케이션-특정 집적 회로(ASIC) 또는 필드-프로그램 가능한 게이트 어레이(FPGA)), 디바이스 드라이버 또는 특정 검증 서브시스템(호스트 측)은 파일 시스템 공간이 생성된 이후의 메타데이터 또는 사용자 데이터 변경사항을 적용하기 이전에 기록 요청을 체크할 때에 검증된 영역 레전드들을 사용한다. 검증된 영역 레전드들은 예를 들어, 전용 파티션 내에, MBR(master boot record) 또는 GUID(Globally Unique Identifier) 파티션 테이블(GPT) 내측에 또는 전용 메모리 칩(예를 들어, Not-AND(NAND) 플래시 메모리) 내측에 저장될 수 있다.
일부 실시형태들에 따라서, 검증 서브시스템에 의해 수신된 기록 요청은 해당 기록 요청이 사용자 데이터 또는 메타데이터를 포함하는지를 나타내는 플래그를 포함할 수 있다. 기록 요청의 플래그가 해당 기록 요청이 사용자 데이터와 관련된다고 나타내면, 검증 서브시스템은 해당 기록 요청이 파일 시스템 공간상의 임의의 예비된 메타데이터 영역들로 기록되는 것을 방지한다. 기록 요청의 플래그가 기록 요청이 메타데이터와 관련된다고 나타내면, 검증 서브시스템은 기록 요청이, 파일 시스템 공간상의 임의의 예비된 메타데이터 영역들 외부의 위치로 메타데이터를 기록하는 것을 방지한다.
도 2를 참조하면, 본 발명의 실시형태들에 따라서 메타데이터 기록을 저장하기 위해 사용된 예비된 영역들(204 내지 206)을 포함하는 예시적인 일반화된 파일 시스템 공간(200)이 도시된다. 파일 시스템 공간 생성 동안, 파일 시스템 생성 유틸리티, 예를 들어, mkfs 유틸리티가 사용되어서 메타데이터 구조를 위한 영역들(204 내지 206)을 예비한다. 예비된 영역들의 위치는 해당 공간의 시작부분에 대한 사이즈 값 및 오프셋 값을 사용하여 기술될 수 있거나, 또는 저장 디바이스가 몇몇 파티션을 가질 경우에는, 전체 저장 디바이스의 시작부분에 대한 사이즈 값 및 오프셋 값을 사용하여 기술될 수 있다. 각 예비된 영역은 특정 개수의 메타데이터 노드들(201)을 포함한다. 예비된 영역의 사이즈는 공간의 사이즈, 해당 영역에서 메타데이터 노드들의 입도, 해당 영역에서 메타데이터 항목들의 입도, 및 메타데이터 구조 내의 메타데이터 항목들의 내부 구성에 의해서 규정될 수 있다. 메타데이터 노드는 다수의 물리적 섹터들(예를 들어, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 등)을 포함할 수 있다. 파일 시스템 공간은 필요한 만큼 사이즈가 재조절될 수 있다(예를 들어, 확장 또는 수축될 수 있다). 예비된 영역들은 동일한 메타데이터 구조의 다른 부분들과 사이즈가 동일하거나 비례해야 한다.
상기 예비된 메타데이터 영역들은 일련의 노드들(예를 들어, 노드들의 트리) 또는 특정 사이즈를 갖는 블록들 간에 분산된 메타데이터 항목들의 어레이로서 개념화될 수 있다. 대체로, 메타데이터 구조는 동일한 사이즈를 갖는 노드들의 시퀀스를 나타낼 수 있다. 대안적으로, 메타데이터 구조는 몇몇 물리적 섹터들 간에 분산된 간단한 테이블 또는 어레이를 나타낼 수 있다. 본 발명의 일부 실시형태들에 따라서, 메타데이터 노드는 헤더에서 시작한다. 헤더는 특정 메타데이터 구조를 식별하는데 사용될 수 있다. 메타데이터 구조는 예를 들어, 매직 시그니처(202)를 사용하여 식별될 수 있다. 헤더는 또한 시스템으로 하여금 메타데이터 구조의 시퀀스에서 노드들의 순서를 분석하게 할 수 있는 식별 넘버(203)를 포함할 수 있다.
상기 파일 시스템의 메타데이터 구조는 몇몇 요소들에 의해 특성화될 수 있다. 먼저, 메타데이터 구조의 매직 시그니처(202)는 메타데이터 구조의 타입을 식별하는 특별한 사전규정된 이진값이다. 메타데이터 구조와 연관된 노드 사이즈는 메타데이터 항목들의 일부의 입도를 결정한다. 최소, 디폴트 및 최대 클럼프 사이즈 값들은 차후 예비를 위한 인접 메타데이터 영역의 최소, 디폴트, 및 최대 가능한 사이즈를 규정한다. 시퀀스 식별 넘버(203)는 메타데이터 구조의 시퀀스에서 노드들의 순서를 체크하는데 사용된다.
도 3을 참조하면, 본 발명의 실시형태들에 따른 일반화된 메타데이터 검증 아키텍처(300)가 도시된다. 일부 실시형태들에 따라서, 파일 시스템 공간 생성 유틸리티(예를 들어, mkfs 유틸리티)는 특정 파일 시스템 공간을 위해 예비된 디바이스의 파티션 내측의 메타데이터 구조용 공간의 예비 및 초기화에 의해 파일 시스템 공간을 생성한다. 검증된 영역 레전드(303 내지 305)는 파일 시스템 공간에 전용된 저장 디바이스의 파티션 내측의 검증된 메타데이터 영역(306 내지 308)에 대한 키 정보를 기술하도록 설계된다. 검증된 영역 레전드들은 mkfs 유틸리티에 의해 생성 및 핸들링 되며 전용 저장 공간(301) 내에 저장된다. 전용 저장 공간 301은 예를 들어, 전용 파티션 또는 메모리 칩(예를 들어, NAND 칩)을 포함할 수 있다. 검증된 영역 레전드들은 파일 시스템 동작 동안에 또는 새로운 자유 공간이 메타데이터 기록을 위해 필요할 때에 파일 시스템 드라이버에 의해 생성될 수 있다. 저장 디바이스 또는 호스트의 검증 서브시스템은, 파일 시스템 공간이 생성된 이후에 그리고 메타데이터 또는 사용자 데이터 변경을 수행하기 이전에, 검증된 영역 레전드를 사용하여 기록 요청을 검증한다. 검증된 영역 레전드들은 예를 들어, 전용 파티션 내에, MBR(master boot record) 또는 GUID(Globally Unique Identifier)파티션 테이블(GPT) 내측에 또는 전용 메모리 칩(예를 들어, NAND 플래시 메모리) 내에 저장될 수 있다.
도 4를 참조하면, 본 발명의 실시형태들에 따른 예시적인 검증된 영역 레전드(401 및 406)가 도시된다. 검증된 영역 레전드(401 및 406)는 예비된 메타데이터 영역들(예를 들어, 메타데이터 영역들의 사이즈, 등)에 기초하여 mkfs 유틸리티 또는 파일 시스템 드라이버에 의해 생성되어 전용 네임스페이스(400) 내에 저장된다. 다른 검증된 영역 레전드들은 존재할 수 있지만 도시되지 않는다. 검증된 영역 레전드(401 및 406)는 저장 디바이스의 파티션의 연관된 검증된 영역들에 대한 정보를 기술한다. 이 정보는 데이터를 파일 시스템 공간에 기록하기 이전에 메타데이터 또는 사용자 데이터를 포함하는 기록 요청을 검증하는 데 사용된다. 검증된 영역 레전드(401/406)는 매직 시그니처(402/407), 노드 사이즈(예를 들어, 바이트 수)(403/408), 영역의 크기(404/409)(예를 들어, 해당 영역 내의 시작 블록 및 블록의 수), 및 차후 가능한 메타데이터 공간 예비를 위한 최소, 디폴트, 및 최대 클럼프 사이즈 값(405/410)을 포함할 수 있다. 일부 실시형태들에 따라서, 검증된 영역 레전드는 XML(Extensible Markup Language) 포맷, 플레인 텍스트(plain text), 또는 검증된 영역 레전드들의 콘텐츠를 저장할 수 있는 임의의 다른 구조를 포함한다.
도 5를 참조하면, 본 발명의 실시형태들에 따라서 기록 요청을 검증하기 위한 컴퓨터-구현 프로세스(500)의 단계들의 예시적인 시퀀스를 예시하는 흐름도가 도시된다. 기록 요청은 저장 디바이스 상의 단일 논리적 위치를 참조하는 논리적 블록 어드레스(LBA)를 포함할 수 있다. 또한, 기록 요청은 하나 이상의 물리적 섹터와 동일한 사이즈를 갖는 바이트 스트림을 포함한다. 기록 요청과 연관된 LBA가 파일 시스템 공간과 연관된 네임스페이스 내에 포함된 임의의 기존의 검증된 영역 레전드의 범위와 중첩하지 않으면(단계 501), (예를 들어, 데이터 타입 플래그 "USER_DATA"를 판독함으로써) 해당 기록 요청이 기록 메타데이터 또는 사용자 데이터를 포함하고 있는지가 결정된다(단계 502). 상기 기록 요청이 사용자 데이터를 포함하면, 사용자 데이터가 저장 디바이스에 기록된다(단계 503). 상기 기록 요청이 임의의 예비된 메타데이터 영역 외측에 메타데이터 기록사항을 기록하고자 한다면, 에러가 시그널링 되고/되거나 기록 요청이 종료된다(단계 504). 기록 요청과 연관된 LBA가 해당 네임스페이스 내로의 임의의 기존의 검증된 영역의 범위와 중첩하면(단계 501), (예를 들어, 데이터 타입 플래그 "METADATA"를 판독함으로써) 해당 기록 요청이 메타데이터를 포함하는지가 결정된다(단계 505). 기록 요청이 메타데이터를 포함하지 않는다면, 에러가 시그널링되고/되거나 기록 요청이 종료된다(단계 504).
단계 506에서, 기록 요청이 메타데이터를 포함하면, 기록 요청이 예를 들어, 바이트 스트림의 시작 부분에서 유효한 매직 시그니처(예를 들어, 예상 매직 시그니처)를 포함하는지가 결정된다. 기록 요청은 또한 서비스 정보의 일부로서 매직 시그니처를 포함한다. 기록 요청의 매직 시그니처가 연관된 메타데이터 영역 레전드 내의 기존의 매직 시그니처에 대해서 검사되어, 상기 시그니처가 예상 매직 시그니처인지가 결정된다. 기록 요청이 유효한 매직 시그니처(예를 들어, 예상 매직 시그니처)를 포함하지 않는다면, 에러가 시그널링되고/되거나 기록 요청이 종료된다(단계 504). 기록 요청이 유효한 매직 시그니처를 포함하면, 프로세스는 단계 507로 진행한다.
단계 507에서, 기록 요청에 대한 요청된 수의 블록들이 유효한지가 결정된다. 기록 요청의 바이트 스트림이 오직 예비된 메타데이터 영역에만 위치하면, 요청된 수의 블록들이 유효하다. 기록 요청이 메타데이터 예비된 영역 외측에 바이트 스트림의 일부를 저장하고자 한다면, 에러가 시그널링되고/되거나 기록 요청이 종료된다(단계 504). 해당 기록 요청이 단계 507에서 유효하다고 결정되면, 프로세스는 단계 508로 진행하고, 이 단계에서 기록 요청의 사이즈가 유효한지가 결정된다. 기록 요청 사이즈는 기록 요청 내의 물리적 섹터들의 수에 기초하여 결정된다. 기록 요청의 사이즈가 하나 이상의 메타데이터 노드들의 사이즈와 동일하면 기록 요청의 사이즈는 유효하다. 기록 요청의 사이즈가 하나 이상의 메타데이터 노드들과 동일하면, 파일 시스템 공간 변경은 연관된 검증된 영역 레전드의 모든 제약사항들에 따르며, 메타데이터는 파일 시스템 공간에 기록될 수 있다(단계 509). 상기 제약사항들이 충족되지 않으면, 에러가 시그널링 되고/되거나 기록 요청이 종료된다(단계 504).
이로써, 본 발명의 실시형태들이 기술되었다. 본 발명이 특정 실시형태들로 기술되었지만, 본 발명은 이와 같은 실시형태들에 의해 한정되는 것으로 해석되어서는 안 되며, 오히려 다음의 청구항들에 따라 해석되어야 한다는 것이 인정되어야만 한다.

Claims (20)

  1. 메타데이터의 손상을 방지하도록 저장 디바이스로의 기록 요청을 검증하는 방법으로서,
    상기 기록 요청은 논리적 블록 어드레스, 매직 시그니처, 및 데이터 타입 플래그를 포함하며,
    상기 방법은,
    상기 기록 요청의 논리적 블록 어드레스가 상기 저장 디바이스의 검증된 영역의 기존의 범위와 중첩한다고 결정하는 단계;
    상기 매직 시그니처가 상기 검증된 영역의 레전드(legend)의 예상 매직 시그니처와 일치하면, 상기 매직 시그니처가 유효하다고 결정하는 단계;
    상기 데이터 타입 플래그가 메타데이터 타입을 포함하면, 상기 기록 요청의 블록들의 수가 유효하다고 결정하는 단계;
    상기 기록 요청의 사이즈가 상기 검증된 영역의 레전드의 노드 사이즈의 배수와 동일하면, 상기 기록 요청의 사이즈가 유효하다고 결정하는 단계; 및
    상기 기록 요청이 유효한 매직 시그니처, 유효한 블록 수, 및 유효한 사이즈를 포함하면, 상기 기록 요청이 유효하다고 결정하는 단계를 포함하는, 기록 요청 검증 방법.
  2. 제1항에 있어서, 상기 기록 요청이 유효하지 않다고 결정되면, 상기 기록 요청이 유효하지 않다는 것을 알리는 통지를 제공하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서, 상기 기록 요청은 파일 시스템 활동도(activity)를 포함하는 사용자 데이터에 의해 생성되며, 상기 기록 요청이 유효하지 않다고 결정되면, 상기 사용자 데이터가 상기 저장 디바이스에 기록되는 것을 방지하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 매직 시그니처는 실체적(concrete) 메타데이터 구조를 식별하는 값을 포함하는, 방법.
  5. 제4항에 있어서, 상기 매직 시그니처의 값은 사전규정된 이진값인, 방법.
  6. 제1항에 있어서, 상기 기록 요청은 바이트 스트림을 포함하는, 방법.
  7. 제1항에 있어서, 상기 레전드는 상기 저장 디바이스의 파일 시스템 공간(file system volume)과 연관된 네임스페이스(namespace) 내에 저장된, 방법.
  8. 메타데이터의 손상을 방지하도록 기록 요청을 검증하는 장치로서,
    저장 디바이스; 및
    상기 저장 디바이스에 통신 가능하게 연결된 프로세서를 포함하며,
    상기 프로세서는,
    상기 기록 요청 - 상기 기록 요청은 논리적 블록 어드레스, 매직 시그니처, 및 데이터 타입 플래그를 포함함 - 을 분석하고;
    상기 기록 요청의 논리적 블록 어드레스가 상기 저장 디바이스의 검증된 영역의 기존의 범위와 중첩한다고 결정하며;
    상기 매직 시그니처가 상기 검증된 영역의 레전드(legend)의 예상 매직 시그니처와 일치하면, 상기 매직 시그니처가 유효하다고 결정하고;
    상기 데이터 타입 플래그가 메타데이터 타입을 포함하면, 상기 기록 요청의 블록들의 수가 유효하다고 결정하며;
    상기 기록 요청의 사이즈가 상기 검증된 영역의 레전드의 노드 사이즈의 배수와 동일하면, 상기 기록 요청의 사이즈가 유효하다고 결정하고;
    상기 기록 요청이 유효한 매직 시그니처, 유효한 블록 수, 및 유효한 사이즈를 포함하면, 상기 기록 요청이 유효하다고 결정하도록 구성된, 기록 요청 검증 장치.
  9. 제8항에 있어서, 상기 프로세서는, 상기 기록 요청이 유효하다고 결정되면, 유효한 메타데이터를 상기 저장 디바이스에 기록하도록 더 구성된, 장치.
  10. 제8항에 있어서, 상기 프로세서는, 상기 기록 요청이 유효하지 않다고 결정되면, 무효한 메타데이터가 상기 저장 디바이스로 기록되지 않도록 더 구성된, 장치.
  11. 제8항에 있어서, 상기 기록 요청은 파일 시스템 활동도를 포함하는 사용자 데이터에 의해 생성되며, 상기 프로세서는, 상기 기록 요청이 유효하지 않다고 결정되면, 상기 사용자 데이터가 상기 저장 디바이스에 기록되는 것을 방지하도록 더 구성된, 장치.
  12. 제8항에 있어서, 상기 매직 시그니처는 실체적 메타데이터 구조를 식별하는 값을 포함하는, 장치.
  13. 제12항에 있어서, 상기 매직 시그니처의 값은 사전규정된 이진값인, 장치.
  14. 제8항에 있어서, 상기 기록 요청은 바이트 스트림을 포함하는, 장치.
  15. 제8항에 있어서, 상기 레전드는 상기 저장 디바이스의 파일 시스템 공간과 연관된 네임스페이스 내에 저장된, 장치.
  16. 컴퓨터-판독 가능한 저장 매체 내에 유형의 방식으로(tangibly) 구현되며 인스트럭션들을 포함하는 컴퓨터 프로그램 제품으로서,
    상기 인스트럭션들은 프로세서에 의해 실행될 시에, 메타데이터의 손상을 방지하도록 저장 디바이스로의 기록 요청을 검증하는 방법을 수행하며,
    상기 기록 요청은 논리적 블록 어드레스, 매직 시그니처, 및 데이터 타입 플래그를 포함하며,
    상기 방법은,
    상기 기록 요청의 논리적 블록 어드레스가 상기 저장 디바이스의 검증된 영역의 기존의 범위와 중첩한다고 결정하는 단계;
    상기 매직 시그니처가 상기 검증된 영역의 레전드의 예상 매직 시그니처와 일치하면, 상기 매직 시그니처가 유효하다고 결정하는 단계;
    상기 데이터 타입 플래그가 메타데이터 타입을 포함하면, 상기 기록 요청의 블록들의 수가 유효하다고 결정하는 단계;
    상기 기록 요청의 사이즈가 상기 검증된 영역의 레전드의 노드 사이즈의 배수와 동일하면, 상기 기록 요청의 사이즈가 유효하다고 결정하는 단계; 및
    상기 기록 요청이 유효한 매직 시그니처, 유효한 블록 수, 및 유효한 사이즈를 포함하면, 상기 기록 요청이 유효하다고 결정하는 단계를 포함하는, 컴퓨터 프로그램 제품.
  17. 제16항에 있어서, 메타데이터 손상을 방지하도록 오직 유효한 메타데이터만이 상기 저장 디바이스에 기록되는, 컴퓨터 프로그램 제품.
  18. 제16항에 있어서, 상기 기록 요청은 파일 시스템 활동도를 포함하는 사용자 데이터에 의해 생성되며, 상기 방법은 상기 기록 요청이 유효하지 않다고 결정되면, 상기 사용자 데이터가 상기 저장 디바이스에 기록되는 것을 방지하는 단계를 더 포함하는, 컴퓨터 프로그램 제품.
  19. 제16항에 있어서, 상기 매직 시그니처는 실체적 메타데이터 구조를 식별하는 값을 포함하는, 컴퓨터 프로그램 제품.
  20. 제19항에 있어서, 상기 값은 사전규정된 이진값이며, 상기 기록 요청은 바이트 스트림을 포함하며, 상기 레전드는 상기 저장 디바이스의 파일 시스템 공간과 연관된 네임스페이스 내에 저장된, 컴퓨터 프로그램 제품.
KR1020170025611A 2016-05-04 2017-02-27 일반화된 기록 동작 검증 방법 KR102185150B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/146,685 2016-05-04
US15/146,685 US10380069B2 (en) 2016-05-04 2016-05-04 Generalized write operations verification method

Publications (2)

Publication Number Publication Date
KR20170125698A true KR20170125698A (ko) 2017-11-15
KR102185150B1 KR102185150B1 (ko) 2020-12-01

Family

ID=60119327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170025611A KR102185150B1 (ko) 2016-05-04 2017-02-27 일반화된 기록 동작 검증 방법

Country Status (4)

Country Link
US (2) US10380069B2 (ko)
KR (1) KR102185150B1 (ko)
CN (1) CN107346268B (ko)
DE (1) DE102017104073B4 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020068669A1 (en) * 2018-09-25 2020-04-02 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310925B2 (en) 2016-03-02 2019-06-04 Western Digital Technologies, Inc. Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace
US10380100B2 (en) 2016-04-27 2019-08-13 Western Digital Technologies, Inc. Generalized verification scheme for safe metadata modification
US20230237046A1 (en) * 2023-04-04 2023-07-27 Lemon Inc. Implementation of instant corruption detection and recovery

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308873B1 (ko) * 1999-11-17 2001-11-07 이채홍 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체
US20040186946A1 (en) * 2003-03-19 2004-09-23 Jinaeon Lee Flash file system
WO2008093961A1 (en) * 2007-02-02 2008-08-07 Zeen Information Technologies, Inc. System and method for processing read request
US8086585B1 (en) * 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US20120110281A1 (en) * 2010-11-03 2012-05-03 Microsoft Corporation Virtualization and offload reads and writes
US20130246709A1 (en) * 2012-03-13 2013-09-19 Nvidia Corporation Translation address cache for a microprocessor
US8555022B1 (en) * 2010-01-06 2013-10-08 Netapp, Inc. Assimilation of foreign LUNS into a network storage system
KR20140026821A (ko) * 2012-08-23 2014-03-06 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3763992B2 (ja) 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US6584582B1 (en) 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
US7526575B2 (en) 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US7206785B1 (en) 2001-10-24 2007-04-17 Bellsouth Intellectual Property Corporation Impact analysis of metadata
JP2003248605A (ja) 2002-02-26 2003-09-05 Hitachi Ltd ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法
US6839724B2 (en) * 2003-04-17 2005-01-04 Oracle International Corporation Metamodel-based metadata change management
US7430570B1 (en) 2003-04-28 2008-09-30 Ibrix, Inc. Shadow directory structure in a distributed segmented file system
US7305393B2 (en) 2003-04-29 2007-12-04 International Business Machines Corporation Mounted filesystem integrity checking and salvage
US7529745B2 (en) 2004-11-19 2009-05-05 International Business Machines Corporation Method of verifying metadata of a migrated file
US7610307B2 (en) 2004-11-30 2009-10-27 Microsoft Corporation Method and system of detecting file system namespace changes and restoring consistency
US20060129614A1 (en) 2004-12-14 2006-06-15 Kim Hong Y Crash recovery system and method for distributed file server using object based storage
US20060282471A1 (en) 2005-06-13 2006-12-14 Mark Timothy W Error checking file system metadata while the file system remains available
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US8782047B2 (en) 2009-10-30 2014-07-15 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform using namespaces
US7640412B2 (en) 2007-01-04 2009-12-29 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for improving the reliability of file systems
US7899793B2 (en) * 2008-01-09 2011-03-01 Hitachi, Ltd. Management of quality of services in storage systems
WO2009131861A2 (en) 2008-04-13 2009-10-29 Ipharro Media Gmbh Media asset management
JP5029513B2 (ja) * 2008-06-30 2012-09-19 ソニー株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2010033287A (ja) 2008-07-28 2010-02-12 Hitachi Ltd ストレージサブシステム及びこれを用いたデータ検証方法
CN101640581B (zh) * 2008-07-31 2012-11-21 鸿富锦精密工业(深圳)有限公司 无线装置及其配对方法及解除配对方法
US8086611B2 (en) 2008-11-18 2011-12-27 At&T Intellectual Property I, L.P. Parametric analysis of media metadata
US8738621B2 (en) 2009-01-27 2014-05-27 EchoStar Technologies, L.L.C. Systems and methods for managing files on a storage device
US8583893B2 (en) 2009-05-28 2013-11-12 Marvell World Trade Ltd. Metadata management for virtual volumes
US8566689B2 (en) 2009-10-22 2013-10-22 Microsoft Corporation Data integrity units in nonvolatile memory
EP2503289B1 (en) * 2011-03-22 2016-06-22 Harman Becker Automotive Systems GmbH Management of icons for digital maps
JP2013061847A (ja) 2011-09-14 2013-04-04 Sony Corp 情報処理装置および情報処理方法
US9417811B2 (en) 2012-03-07 2016-08-16 International Business Machines Corporation Efficient inline data de-duplication on a storage system
US9177171B2 (en) * 2012-03-11 2015-11-03 International Business Machines Corporation Access control for entity search
US20140188957A1 (en) 2012-11-30 2014-07-03 Hitachi, Ltd. Hierarchical storage system and file management method
US9229639B2 (en) 2013-03-11 2016-01-05 Sandisk Technologies Inc. Method and non-volatile memory device for improving latency together with write protection
US9245140B2 (en) 2013-11-15 2016-01-26 Kabushiki Kaisha Toshiba Secure data encryption in shared storage using namespaces
US9256373B1 (en) 2014-05-19 2016-02-09 Emc Corporation Invulnerable data movement for file system upgrade
US9250823B1 (en) 2014-05-20 2016-02-02 Emc Corporation Online replacement of physical storage in a virtual storage system
US9672241B2 (en) 2014-05-28 2017-06-06 International Business Machines Corporation Representing an outlier value in a non-nullable column as null in metadata
CN104038486B (zh) 2014-06-04 2017-05-10 武汉理工大学 一种基于标识型密码实现用户登录鉴别的系统及方法
CN104268758B (zh) 2014-09-15 2017-12-19 周刚 一种基于发票和第三方电子商务平台的商品防伪系统
US10922276B2 (en) 2014-11-10 2021-02-16 Hewlett Packard Enterprise Development Lp Online file system check
US10031679B2 (en) 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
US10310925B2 (en) 2016-03-02 2019-06-04 Western Digital Technologies, Inc. Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace
US10545927B2 (en) 2016-03-25 2020-01-28 Amazon Technologies, Inc. File system mode switching in a distributed storage service
US9804966B1 (en) 2016-03-29 2017-10-31 EMC IP Holding Company LLC Methods and apparatus for content-based storage addressing with data prioritization
US10380100B2 (en) 2016-04-27 2019-08-13 Western Digital Technologies, Inc. Generalized verification scheme for safe metadata modification

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308873B1 (ko) * 1999-11-17 2001-11-07 이채홍 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체
US20040186946A1 (en) * 2003-03-19 2004-09-23 Jinaeon Lee Flash file system
WO2008093961A1 (en) * 2007-02-02 2008-08-07 Zeen Information Technologies, Inc. System and method for processing read request
US8086585B1 (en) * 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US8555022B1 (en) * 2010-01-06 2013-10-08 Netapp, Inc. Assimilation of foreign LUNS into a network storage system
US20120110281A1 (en) * 2010-11-03 2012-05-03 Microsoft Corporation Virtualization and offload reads and writes
US20130246709A1 (en) * 2012-03-13 2013-09-19 Nvidia Corporation Translation address cache for a microprocessor
KR20140026821A (ko) * 2012-08-23 2014-03-06 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"파일시스템과 파일 복구(파일시스템 개론)", 박종혁, UCS Lab,2012.12.31 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
US11734170B2 (en) 2018-08-03 2023-08-22 Micron Technology, Inc. Host-resident translation layer validity check
WO2020068669A1 (en) * 2018-09-25 2020-04-02 Micron Technology, Inc. Host-resident translation layer validity check techniques
US10852964B2 (en) 2018-09-25 2020-12-01 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11687469B2 (en) 2018-12-19 2023-06-27 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
US11809311B2 (en) 2018-12-21 2023-11-07 Micron Technology, Inc. Host-based flash memory maintenance techniques

Also Published As

Publication number Publication date
DE102017104073A1 (de) 2017-11-09
US20190317920A1 (en) 2019-10-17
US11544223B2 (en) 2023-01-03
DE102017104073B4 (de) 2023-07-20
KR102185150B1 (ko) 2020-12-01
US10380069B2 (en) 2019-08-13
CN107346268A (zh) 2017-11-14
CN107346268B (zh) 2022-02-25
US20170322927A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
KR102185150B1 (ko) 일반화된 기록 동작 검증 방법
US6880060B2 (en) Method for storing metadata in a physical sector
JP6307624B2 (ja) データ重複排除ストレージシステムの方法及び装置
US20080091874A1 (en) System and method for loading programs from hdd independent of operating system
US11347717B2 (en) Generalized verification scheme for safe metadata modification
US20200183677A1 (en) Boot rom update method and boot-up method of embedded system
US20160019002A1 (en) Partial snapshots in virtualized environments
US10871970B1 (en) Memory channel storage device detection
CN111258666A (zh) 计算机文件的读取方法、装置、计算机系统及存储介质
US10817624B2 (en) Memory system and storage device capable of permanently deleting data stored in a non-volatile memory
US20190042355A1 (en) Raid write request handling without prior storage to journaling drive
US10558468B2 (en) Memory channel storage device initialization
US20130124841A1 (en) OS Processing Method and System and Computer Readable Storage Medium Applying the Method
JP2000305857A (ja) 回復自在の基本データ基本状態を備えたデータ媒体及びその形成方法
US7783609B2 (en) Storing information in otherwise unused space in VTOC and VVDS for recovery of data
US8990589B1 (en) System and method for robust full-drive encryption
US11210024B2 (en) Optimizing read-modify-write operations to a storage device by writing a copy of the write data to a shadow block
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
US20240160728A1 (en) Snapset Restricted Utilization and Preservation
US11836033B2 (en) Information processing apparatus and control method for controlling information processing apparatus
JP7099690B2 (ja) ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
CN114816542A (zh) 一种系统启动方法及装置
CN116301654A (zh) 数据迁移方法、装置、电子设备及存储介质
KR20180058058A (ko) 스토리지 정보에 기반한 포맷팅 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant