KR100704621B1 - Method and apparatus for guaranteeing data integrity of portable storage device - Google Patents
Method and apparatus for guaranteeing data integrity of portable storage device Download PDFInfo
- Publication number
- KR100704621B1 KR100704621B1 KR1020040065910A KR20040065910A KR100704621B1 KR 100704621 B1 KR100704621 B1 KR 100704621B1 KR 1020040065910 A KR1020040065910 A KR 1020040065910A KR 20040065910 A KR20040065910 A KR 20040065910A KR 100704621 B1 KR100704621 B1 KR 100704621B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- information
- log
- data
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 이동형 저장 장치의 데이터 무결성을 보장하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for ensuring data integrity of removable storage devices.
본 발명의 일 실시예에 따른 이동형 저장 장치의 데이터 무결성을 보장하는 방법은 어플리케이션 또는 운영체계로부터 파일 연산에 대한 요청을 수신하는 단계, 상기 요청한 파일 연산에 대한 정보를 생성하는 단계, 상기 정보를 로그 파일에 저장하는 단계 및 상기 저장한 연산 정보에 따라 파일 연산을 수행하는 단계를 포함한다.According to an embodiment of the present invention, a method of guaranteeing data integrity of a mobile storage device may include receiving a request for a file operation from an application or an operating system, generating information on the requested file operation, and logging the information. Storing in a file and performing a file operation according to the stored operation information.
파일 시스템, FAT(File Allocation Table), 블록 맵, 데이터 블록, 무결성(Integrity)File System, File Allocation Table (FAT), Block Map, Data Block, Integrity
Description
도 1은 종래의 파일 시스템과 저장매체의 구성을 보여주는 블록도이다. 1 is a block diagram illustrating a configuration of a conventional file system and a storage medium.
도 2는 종래의 파일 시스템에서 블록 맵을 통해 파일의 저장을 보여주는 개념도이다.2 is a conceptual diagram illustrating storage of a file through a block map in a conventional file system.
도 3은 종래의 파일 시스템에서 파일 삭제시 오류의 발생을 보여주는 블록도이다.3 is a block diagram illustrating occurrence of an error when deleting a file in a conventional file system.
도 4는 본 발명의 일 실시예에 따른 파일 시스템과 저장 장치의 구성을 보여준다.4 illustrates a configuration of a file system and a storage device according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 로그 파일의 일 실시예를 보여주는 개념도이다.5 is a conceptual diagram illustrating an embodiment of a log file according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 파일 삭제시 오류를 복구하는 과정을 보여주는 블록도이다.6 is a block diagram illustrating a process of recovering an error when deleting a file according to an exemplary embodiment of the present invention.
도 7은 본 발명의 다른 실시예에 따른 파일 생성시 오류를 복구하는 과정을 보여주는 블록도이다.7 is a block diagram illustrating a process of recovering an error when generating a file according to another exemplary embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 파일 작업과 오류 복구의 과정을 보여주는 순서도이다.8 is a flowchart illustrating a process of file operation and error recovery according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
10 : 파일 시스템 50 : 로그 관리자10: file system 50: log manager
100 : 블록 맵 150 : 로그 파일100: block map 150: log files
200 : 데이터 블록200: data block
본 발명은 파일의 효율적인 데이터 관리를 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for efficient data management of a file.
파일은 데이터의 집합, 모음으로 하드디스크, 메모리 카드, CD-ROM 등에 저장되는 것을 의미한다. 파일은 컴퓨터, PDA, 휴대폰과 같은 시스템에 정보를 제공하거나, 어떤 기능을 동작시키거나 혹은 사용자에게 정보를 제공하는 등의 다양한 기능을 한다.A file is a collection or collection of data stored in a hard disk, memory card, CD-ROM, or the like. Files serve a variety of functions, such as providing information to a system such as a computer, PDA, or mobile phone, running a function, or providing information to a user.
파일 시스템(File System)은 파일을 쓰고, 읽고, 사용하기 위한 방법과 기능을 제공한다. 컴퓨터와 같은 디지털 장치에는 FAT(File Allocation Table), NTFS(New Technology File System), HPFS(High Performance File System) 등이 존재하고 있다. 파일 시스템은 파일의 효율적인 관리를 위한 기능을 수행하며, 데이터의 빠른 검색, 복구, 대용량 데이터의 지원등을 제공하고 있다. 파일 시스템은 CPU와 같은 프로세서에 비해 상대적으로 느린 처리 속도를 가진 저장 매체가 시스템에 가져다 주는 병목 현상을 줄이면서, 파일의 처리를 원활하게 하여, 전체 시스 템의 성능 향상에 주력하고 있다. 한편 디지털 멀티미디어를 다루는 많은 디지털 기기들은 컴퓨터와 호환 가능한 파일 시스템을 사용하여 컴퓨터를 통한 파일의 교환을 가능하게 한다. 따라서, 현재 많은 디지털 기기들은 파일 시스템을 사용하여 멀티미디어 데이터를 저장하고 있다.The file system provides methods and functions for writing, reading, and using files. Digital devices such as computers include FAT (File Allocation Table), NTFS (New Technology File System), HPFS (High Performance File System), and the like. The file system performs functions for efficient file management, and provides fast data retrieval, recovery, and large data support. The file system is focused on improving the performance of the entire system by smoothing file processing while reducing bottlenecks caused by storage media having a relatively slow processing speed compared to processors such as CPUs. On the other hand, many digital devices dealing with digital multimedia use a file system compatible with the computer to enable file exchange through the computer. Thus, many digital devices currently use a file system to store multimedia data.
이러한 멀티미디어 데이터와 디지털 기기가 증가하면서 이동형 저장 장치에 대한 요구가 높아지고 있다. 과거 이동형 저장 장치라 하면, 플로피 디스켓 정도였으나 최근에는 USB 메모리, MMC 카드(Multimedia Card), SD 카드, 메모리 스틱과 같이 시스템에 착탈이 용이한 저장 장치가 다양하게 출시되고 있다. 이러한 흐름과 함께, 이동형 저장 장치의 파일 관리에 있어서도 몇 가지 문제점이 제기되고 있다.As the multimedia data and digital devices increase, the demand for portable storage devices increases. In the past, removable storage devices were floppy diskettes, but recently, various removable storage devices such as USB memory, MMC cards, SD cards, and memory sticks are easily released. Along with this flow, some problems are also raised in file management of removable storage devices.
이러한 문제점을 살펴보기에 앞서 현재의 일반적인 파일 시스템의 구조를 살펴보면 다음과 같다.Before looking at these problems, the general structure of the current file system is as follows.
도 1은 종래의 파일 시스템과 저장매체의 구성을 보여주는 블록도이다. FAT, HPFS, NTFS와 같은 파일 시스템은 파일을 블록 맵을 통해 관리한다. 도 1의 (a)와 같이 하드 디스크 또는 메모리 카드등은 크게 데이터 블록과 블록 맵으로 나뉘어진다.1 is a block diagram illustrating a configuration of a conventional file system and a storage medium. File systems such as FAT, HPFS, and NTFS manage files through block maps. As shown in FIG. 1A, a hard disk or a memory card is roughly divided into a data block and a block map.
데이터 블록은 데이터를 저장하기 위한 하나의 단위가 되며, 저장 공간에서 데이터가 저장되는 하나의 단위가 될 수 있다. 512 byte 혹은 1024 byte와 같이 데이터를 저장하는 단위가 되며, 이보다 큰 데이터들은 상기 저장 단위의 크기에 따라 나누어 저장하게 된다. FAT을 사용하는 파일 시스템에서는 이러한 데이터 블록을 클러스터(cluster)라고 부른다.The data block may be one unit for storing data and may be one unit for storing data in the storage space. It becomes a unit for storing data, such as 512 bytes or 1024 bytes, and larger data is stored in pieces according to the size of the storage unit. In a file system using FAT, such data blocks are called clusters.
블록 맵은 상기 데이터 블록에 대한 정보들의 모음이다. 따라서 (a)에서 알 수 있듯이, 블록 맵(100)과 데이터 블록(200)은 저장 장치에 저장될 수 있다. 그리고 블록 맵(100)과 데이터 블록(200)간의 매핑과 파일을 관리하기 위해 파일 시스템(10)이 존재한다.A block map is a collection of information about the data block. Therefore, as can be seen in (a), the
블록 맵과 데이터 블록의 구조는 (b)와 같다. 블록 맵을 구성하는 각 블록들(101, 102)은 해당 데이터 블록의 상태를 보여준다. 즉, 상기 데이터 블록에 파일이 저장되어 있는지, 혹은 데이터 블록이 저장 가능한지를 알려주는 정보를 가지고 있다. FAT 시스템에서 파일 할당 테이블(File Allocation Table)이 블록 맵의 한 예이다. 상기 블록 맵을 구성하는 블록들의 정보를 검토하면, 전체 데이터 블록을 직접 살펴보지 않고 해당 데이터 블록의 상태를 알 수 있다. 블록 맵의 블록이 가지는 값은 다음 데이터의 위치를 나타내거나 해당 데이터 블록에 데이터가 저장되지 않음을 나타낸다. 또한 해당 데이터 블록, 예를 들어 클러스터가 파일을 저장할 수 없게 손상이 된 경우, 그 손상여부를 표시할 수도 있다. 블록 맵은 편의상 1부터 주소를 붙여서 설명하고자 하며, 이는 파일 시스템의 구현의 한 실시예일뿐이다. 1번지의 블록 맵은 1번지의 데이터 블록에 대한 정보를 보여준다.The structure of the block map and data block is shown in (b). Each of the
FAT 시스템에서 블록 맵의 블록이 표시하는 값을 살펴보면 표 1과 같다.Table 1 shows the values indicated by the blocks in the block map in the FAT system.
상기 블록이 표시하는 값은 시스템의 구현에 따라 달라질 수 있다. NTFS 혹은 HPFS와 같은 다른 파일 시스템에서는 해당 파일 시스템의 약속된 정의에 따라 값을 표시한다.The value indicated by the block may vary depending on the implementation of the system. Other file systems, such as NTFS or HPFS, display values according to the promised definition of the file system.
그런데, 이들 데이터가 항시 순차적으로 저장될 수는 없다. 파일들이 삭제되고 저장되는 과정에서 사용할 수 있는 저장 공간은 저장 매체의 곳곳에 산발적으로 존재할 수 있다. 블록 맵은하나의 파일을 구성하는 여러 데이터 블록에서 순차적으로 데이터를 읽을 수 있도록 블록의 위치를 연결 리스트로 구성한다. 이러한 연결은 블록 맵의 블록을 통해 이루어진다.However, these data may not always be stored sequentially. Storage space that can be used while files are deleted and stored may be scattered throughout the storage medium. The block map organizes the positions of the blocks into a linked list so that data can be read sequentially from several data blocks forming one file. This connection is made through blocks in the block map.
이하 본 명세서에서는 블록 맵을 구성하는 블록을 매핑 블록이라 한다.Hereinafter, in the present specification, a block constituting the block map is called a mapping block.
도 2는 종래의 파일 시스템에서 블록 맵을 통해 파일의 저장을 보여주는 개념도이다. 블록 맵은 전술한 바와 같이, 데이터 영역의 저장 단위인 데이터 블록에 대한 정보를 가지고 있다. 데이터 블록은 512 byte, 1024 byte 등 파일 시스템에 따라 달라질 수 있다. 2 is a conceptual diagram illustrating storage of a file through a block map in a conventional file system. As described above, the block map has information about a data block that is a storage unit of the data area. The data block may vary depending on the file system such as 512 byte or 1024 byte.
file.txt가 저장된 방식을 살펴보면 file.txt는 시작되는 데이터 블록의 정보를 보여주는 매핑 블록의 시작 위치를 가리킨다. 블록 맵의 내부는 이 파일이 저장된 데이터 블록들을 나타내는 매핑 블록들을 순차적으로 연결하여 링크를 구성하고 있다. file.txt는 3이라는 데이터 블록에 저장되어 있음을 알 수 있다. 따라서 이 파일의 데이터를 읽기 위해서는 3이라는 주소의 매핑 블록을 참조해야 한다. 이하 설명의 편의를 위해 blockmap(k)는 k 주소의 매핑 블록을 의미하고, datablock(k)는 k 주소의 데이터 블록을 의미한다.Looking at how file.txt is stored, file.txt points to the beginning of the mapping block that shows the information of the data block that starts. The inside of the block map forms a link by sequentially connecting the mapping blocks representing the data blocks in which the file is stored. You can see that file.txt is stored in a data block called 3. Therefore, to read the data in this file, you need to refer to the mapping block at
blockmap(3)는 0004을 가지는데, 이는 이 파일을 구성하는 다음 데이터가 4번지, 즉 datablock(4)에 저장되어 있음을 의미한다. 이 4번지의 데이터 블록에 대한 정보는 4번지의 매핑 블록에 저장되어 있다. 그리고 blockmap(4)에는 0006의 값을 가지는데, 이는 다음 데이터가 데이터 블록 6번지에 저장됨을 보여준다. 이렇게 블록 맵은 파일을 구성하는 데이터들을 순차적으로 읽을 수 있도록 한다. 도 2의 예에서 file.txt는 매핑 블록의 연결을 통해, 데이터 블록 3번지, 4번지, 6번지, 7번지, 8번지에 순차적으로 저장됨을 보여준다. blockmap(8)의 값은 0xffff인데 이는 파일의 종료를 의미한다. 0xffff가 아닌 다른 값을 약속하여 파일의 종료를 나타낼 수도 있다. 그러나 혼돈을 피하기 위해 매핑 블록의 주소와는 겹치지 않는 값이어야 한다. 예를 들어, 0xffff을 주소로 하는 매핑 블록이 존재하면 혼돈이 발생하므로 이보다 더 큰 값 혹은 겹치지 않는 다른 값을 사용해야 할 것이다.blockmap (3) has 0004, which means that the next data constituting this file is stored in
블록 맵을 바탕으로 한 파일 시스템을 이용할 경우, 물리적으로 연결되어있지 않는 경우에도 논리적인 연결을 제공하여 데이터를 저장할 수 있는 장점이 있다. 그런데 파일을 삭제, 이동 등을 수행시에 문제가 발생할 수 있다. 이들 문제점을 도 3을 통해 살펴보고자 한다.When using a file system based on a block map, there is an advantage that data can be stored by providing a logical connection even when not physically connected. However, a problem may occur when deleting or moving a file. These problems will be discussed with reference to FIG. 3.
도 3은 종래의 파일 시스템에서 파일 삭제시 오류의 발생을 보여주는 블록도이다.3 is a block diagram illustrating occurrence of an error when deleting a file in a conventional file system.
도 3에서는 도 2의 file.txt를 삭제하는 과정을 보여준다. file.txt는 5개의 데이터 블록으로 되어 있다. 파일을 삭제하기 위해서는 5개의 데이터 블록에 해당하는 매핑 블록을 0의 값으로 해야 한다. 그리고, 이렇게 0으로 삭제하는 과정이 끝난 후 파일 시스템 내의 file.txt를 지워야 한다. 만약 파일 시스템 내의 file.txt가 지워지지 않는다면, 블록 맵에서는 데이터가 삭제되었는데, 파일 시스템 내에서 file.txt가 존재하여, 데이터의 무결성이 손상된다. 도 3은 블록 맵에서는 파일의 삭제와 관련된 작업이 수행되었으나 파일 시스템에서 해당 파일이 여전히 존재하는 경우를 보여준다.3 illustrates a process of deleting file.txt of FIG. 2. file.txt consists of five data blocks. To delete a file, the mapping block corresponding to five data blocks must be set to zero. After this zero deletion process, file.txt must be deleted from the file system. If file.txt in the file system is not deleted, the data is deleted from the block map, but file.txt exists in the file system, which compromises the integrity of the data. FIG. 3 shows a case in which a task related to deleting a file has been performed in the block map but the file still exists in the file system.
고정형 저장 장치에서는 파일에 대한 삭제, 이동 등의 작업 후 확인을 하는 방식으로 무결성을 제공하고 있다. 그런데 이동형 저장 장치의 경우는 데이터의 무결성을 제공하기가 어렵다. 파일 작업 중에 이동형 저장 장치가 쉽게 제거되는 경우, 파일 작업의 일부만 이루어진 상태가 존재하기 때문이다. 또한 이동형 저장 장치를 많이 사용하는 휴대용 디지털 장치의 경우, 배터리를 통해 전원을 공급받으므로 파일 작업 도중에 전원이 나가는 경우, 역시 파일 작업의 일부만 이루어진 상태가 존재할 수 있다.In fixed storage devices, integrity is provided by verifying after deleting or moving files. However, in the case of a portable storage device, it is difficult to provide data integrity. If a removable storage device is easily removed during a file operation, it is because only a portion of the file operation exists. In addition, in the case of a portable digital device that uses a lot of removable storage devices, since the power is supplied through the battery, when the power goes out during the file operation, a part of the file operation may also exist.
종래에, 파일의 무결성을 제공하기 위한 특허(한국 공개특허 2000-0057005)가 존재하였다. 이 발명은 파일 시스템에서 두 개의 외부 파일을 구비하며, 파일 시스템에 대한 정보를 보유한다. 그러나 이는 파일의 길이, 데이터 종류에 대한 정보를 포함하며, 파일이 갱신된 후에 상기 두 개의 파일을 수정한다. 두 개의 파일을 통해 파일 시스템의 무결성을 유지하여 일관성을 유지하는 방법이지만, 이는 파일 작업중의 오류 보다는 파일 시스템에 누적된 오류 등을 수정하는 기능을 제공한다.In the past, there has been a patent (Korean Patent Application Laid-Open No. 2000-0057005) for providing the integrity of the file. The invention has two external files in the file system and holds information about the file system. However, it contains information about the length and data type of the file and modifies the two files after the file is updated. It is a method to maintain file system integrity through two files to maintain consistency, but it provides a function to correct errors accumulated in the file system rather than errors in file operations.
따라서, 파일 연산 중에 이동형 저장 장치의 제거 또는 전원의 문제가 발생 하여도 파일의 무결성을 보장하는 방안이 필요하다.Therefore, there is a need for a method of guaranteeing the integrity of a file even if a removable storage device or a power problem occurs during file operation.
본 발명의 기술적 과제는 이동형 저장 장치의 데이터 무결성을 보장하는데 있다.An object of the present invention is to ensure the data integrity of a removable storage device.
본 발명의 다른 기술적 과제는 이동형 저장 장치의 파일 연산 중에 발생하는 오류를 복구하는데 있다.Another object of the present invention is to recover from errors occurring during file operations of a removable storage device.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
본 발명은 이동형 저장 장치의 데이터 무결성을 보장하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for ensuring data integrity of removable storage devices.
본 발명의 일 실시예에 따른 이동형 저장 장치의 데이터 무결성을 보장하는 방법은 어플리케이션 또는 운영체계로부터 파일 연산에 대한 요청을 수신하는 단계, 상기 요청한 파일 연산에 대한 정보를 생성하는 단계, 상기 정보를 로그 파일에 저장하는 단계 및 상기 저장한 연산 정보에 따라 파일 연산을 수행하는 단계를 포함한다.According to an embodiment of the present invention, a method of guaranteeing data integrity of a mobile storage device may include receiving a request for a file operation from an application or an operating system, generating information on the requested file operation, and logging the information. Storing in a file and performing a file operation according to the stored operation information.
본 발명의 다른 실시예에 따른 이동형 저장 장치의 데이터 무결성을 보장하는 방법은 파일 시스템의 구동을 요청하는 명령을 수신하는 단계, 상기 파일 시스템에 존재하는 로그 관리자를 통해 로그 파일의 최근 파일 연산에 대한 정보를 검 토하는 단계 및 상기 정보와 저장 장치의 파일들의 정보를 비교하여, 상기 로그 파일의 최근 파일 연산이 완료되지 않은 경우, 상기 정보에 따라 파일 연산을 재수행하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of guaranteeing data integrity of a removable storage device, the method including receiving a command for requesting to drive a file system, and a log file for a recent file operation through a log manager present in the file system. Reviewing the information and comparing the information with the information of the files in the storage device, and if the recent file operation of the log file is not completed, performing a file operation according to the information.
본 발명의 일 실시예에 따른 데이터 무결성을 보장하는 장치는 어플리케이션 또는 운영체계로부터 파일 연산에 대한 요청을 수신하는 파일 시스템, 파일의 데이터가 저장된 데이터 블록, 상기 데이터 블록에 대한 정보를 저장한 매핑 블록들의 집합인 블록 맵, 파일 연산에 대한 정보들의 집합인 로그 파일 및 상기 로그 파일에 파일 연산 정보를 저장하고, 상기 연산 정보를 데이터 블록과 블록 맵과 비교하는 로그 관리자를 포함한다.An apparatus for guaranteeing data integrity according to an embodiment of the present invention includes a file system that receives a request for a file operation from an application or an operating system, a data block storing data of a file, and a mapping block storing information about the data block. And a log manager for storing file operation information in the log file and comparing the operation information with the data block and the block map.
본 명세서에서 사용하는 용어를 정리하면 다음과 같다.The terms used in the present specification are summarized as follows.
컴퓨터를 구성하는 저장매체는 파일 시스템과 실제 저장되는 데이터들로 구성된다. 파일 시스템은 전술한 바와 같이, 파일을 효율적으로 관리하기 위한 시스템을 의미한다. 현재 많은 시스템에서 다양하게 사용되는 파일 시스템에 대해 간략히 살펴보면 다음과 같다.The storage media that make up a computer consist of a file system and the data that is actually stored. As described above, the file system refers to a system for efficiently managing files. The following is a brief overview of the file systems used in many systems.
- FAT(File Allocation Table)FAT (File Allocation Table)
FAT은 윈도우시스템에서 지원하는 파일 시스템으로, 디스크에 파일 테이블의 형태로 존재한다. FAT의 손상시 복구를 위해 FAT는 두 개가 존재한다. 윈도우 NT가 지원하는 파일 시스템중 가장 심플한 형태이다. FAT은 초기 파일 시스템으로 현재 FAT12, FAT16, FAT32등이 등장하고 있다. FAT16은 윈도우 운영 체계외에도 다른 운영체계에서도 사용 가능하다. FAT is a file system supported by the Windows system and exists on the disk in the form of a file table. There are two FATs to recover from a FAT corruption. This is the simplest form of file system supported by Windows NT. FAT is an early file system, and now FAT12, FAT16, FAT32, etc. are appearing. FAT16 can be used in other operating systems besides the Windows operating system.
- HPFS(High Performance File System)HPFS (High Performance File System)
OS/2 1.2에서 도입한 파일 시스템으로, FAT의 디렉토리 구조를 포함하지만 파일 이름에 기반한 자동 정렬 기능을 포함하고 있다. 이름 관습(Naming convention)에 대한 유연성을 증대시키며 파일 할당에 있어서의 단위를 클러스터에서 물리적 섹터로 하여 디스크의 손실을 줄이고 있다. HPFS는 하나의 파일을 일련의 연결된 섹터에 저장할 수 있게 하여 속도를 증가시키고 있다.Introduced in OS / 2 1.2, the file system includes a directory structure in FAT, but includes automatic sorting based on file names. It increases the flexibility of the Naming convention and reduces the disk loss by making the unit of file allocation the physical sector in the cluster. HPFS increases speed by allowing a file to be stored in a series of connected sectors.
- NTFS(New Technology File System)NTFS (New Technology File System)
NTFS는 파일을 디렉토리로 관리하며 HPFS와 같이 정렬을 가능하게 한다. 또한 파일 시스템의 오류에 대한 복구와 섹터의 삭제를 막기 위한 기능을 제공한다. 파일에 대해 행해진 작업들이 무엇인지 검토하여 이러한 작업을 취소시킴으로써 파일 시스템 내의 일치성을 유지하도록 한다. 윈도우 NT에서 주로 사용하며, 리눅스에서도 사용하는 파일 시스템이다.NTFS manages files as directories and allows sorting like HPFS. It also provides the ability to recover from file system errors and prevent sector deletion. Review what has been done to the file and cancel it to ensure consistency within the file system. It is mainly used in Windows NT, and is also used in Linux.
- 파일 연산File operations
파일 시스템에서 파일에 대해 수행하는 작업을 의미한다. 데이터의 변경을 필요로 하는 연산은 디렉토리와 파일의 생성, 삭제와 잘라내기, 파일과 디렉토리의 이름을 변경하고, 데이터를 추가하기, 파일을 병합하기, 파일/디렉토리의 특성 변경하기 등이 있다. 디렉토리란 일종의 파일로써, 다른 파일들에 대한 정보를 저장하고 있다. 디렉토리는 다른 파일 또는 디렉토리에 대한 이름과 시작 데이터 블록 맵 정보 및 기타 정보를 저장하고 있는 파일로 볼 수 있다.The action taken on a file in the file system. Operations that require changes to data include creating and deleting directories and files, deleting and truncating, renaming files and directories, adding data, merging files, and changing file / directory properties. A directory is a file that stores information about other files. A directory can be viewed as a file that stores names, starting data block map information, and other information about other files or directories.
이러한 파일 시스템은 컴퓨터 이외에도 데이터를 저장하는 디지털 장치에도 적용된다. 따라서 휴대폰, PDA, 노트북, 디지털 TV 등 디지털 데이터를 다루는 기기에도 파일 시스템을 적용할 수 있다. 또한 이동형 저장 장치인 플로피 디스크, 플래쉬 메모리, 메모리 스틱 듀오, 또는 SD 카드나 MMC(MultiMedia Card) 메모리 등에도 파일 시스템을 적용할 수 있다.This file system applies to digital devices that store data in addition to computers. Therefore, the file system can be applied to devices that handle digital data such as mobile phones, PDAs, notebook computers, and digital TVs. The file system can also be applied to removable storage devices such as floppy disks, flash memory, memory stick duo, or SD card or MMC (MultiMedia Card) memory.
파일 시스템들은 각각의 특징을 가지고 있다. 상기에 열거한 파일 시스템을 포함한 대부분의 파일 시스템의 구조는 도 1과 같다. 각 파일의 위치에 대한 정보를 가지는 블록 맵과 이들 파일을 구성하는 데이터(비트)들의 모음이다. File systems have their own characteristics. The structure of most file systems including the file systems listed above is shown in FIG. A block map that contains information about the location of each file, and a collection of data (bits) that make up these files.
도 4는 본 발명의 일 실시예에 따른 파일 시스템과 저장 장치의 구성을 보여준다.4 illustrates a configuration of a file system and a storage device according to an embodiment of the present invention.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈'은 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구 성요소들 및 모듈들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term '~ part' used in this embodiment, that is, '~ module' means a hardware component such as software, FPGA or ASIC, and the module performs certain functions. However, modules are not meant to be limited to software or hardware. The module may be configured to be in an addressable storage medium and may be configured to play one or more processors. Thus, as an example, a module may include components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, subroutines. , Segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules. In addition, the components and modules may be implemented to play one or more CPUs in a device or secure multimedia card.
파일 시스템(10)에는 로그 관리자(50)가 존재한다. 로그 관리자는 파일 시스템이 전원이 나가거나, 이동형 저장 장치가 제거되어 파일 시스템이 비정상적으로 종료되었을 경우 시스템이 시작할 때 저장 장치에 기록되어 있는 정보를 읽어서 미완료된 파일 시스템의 연산을 완료한다.The
로그 파일은 실제 데이터 저장 장치(500)의 일부를 차지할 수 있고, 또는 파일 시스템 내부에 구현할 수도 있다. 도 4는 데이터 저장 장치(500)의 일부를 차지하는 예를 보여준다.The log file may occupy a portion of the actual
로그 파일은 파일에 대해 이루어지는 연산에 대한 정보를 기록한다. 기록할 정보에 대한 설명은 도 5에서 한다. 로그 파일에 연산에 대한 정보를 기록한 후에는 파일 시스템은 실제 파일 연산을 수행한다. 여기서 파일 연산은 블록 맵만을 수정할 수도 있고 블록 맵과 데이터 블록 모두를 수정할 수도 있다.The log file records information about operations performed on the file. Description of information to be recorded is given in FIG. 5. After recording information about the operation in the log file, the file system performs the actual file operation. The file operation can modify only the block map or both the block map and the data block.
도 5는 본 발명의 일 실시예에 따른 로그 파일의 일 실시예를 보여주는 개념도이다. 로그 파일(150)에는 파일 연산과 관련된 정보들이 들어갈 수 있다. 로그 파일(150)는 전술한 바와 같이 파일 시스템 내부에 로그 관리자와 함께 존재할 수 있고, 또는 데이터 저장 장치에 파일의 형태로 저장될 수 있다. 로그 파일(150)은 시리얼 넘버(151), 연산의 종류(152), 관련 매핑 블록 주소(153), 연산 관련 정보(154), 그리고 연산 결과(155) 등으로 구성된다.5 is a conceptual diagram illustrating an embodiment of a log file according to an embodiment of the present invention. The
시리얼 넘버(151)는 파일 연산 정보를 저장하기 위한 식별자가 된다. 데이터 저장 장치의 크기에 따라 로그 파일이 차지할 수 있는 저장 공간의 크기가 정해진다. 따라서, 일정 개수의 파일 연산 정보가 저장될 수 있으며, 파일 작업의 오류시에는 가장 최근의 파일 연산 정보를 참조하여 다시 파일 작업을 수행할 수 있다.The
연산 종류(152)는 어떤 연산이 행해졌는지를 알려주는 부분이다. 도 5에서는 일 실시예로, 소문자는 파일, 대문자는 디렉토리에 대해 수행되는 연산을 의미하도록 했다. n, d, m은 각각 파일의 생성, 삭제, 이동을 의미하며, N, D, M은 각각 디렉토리의 생성, 삭제, 이동을 의미한다. 도 5에는 제시되지 않았으나, 데이터의 추가 등에 a 또는 A 등이 수행될 수 있다. 상기 파일 연산의 종류에 대한 정보는 하나의 문자로 간략히 처리할 수 있고, 더 자세한 정보를 포함하는 스트럭쳐(structure)로 구성하여 저장될 수 있다.The
매핑 블록 주소(153)은 상기 파일 연산이 수행될 파일의 시작 매핑 블록을 저장한다. 이 매핑 블록에 어떤 데이터가 있는지를 검토하여 파일 연산의 완료 여부를 검토할 수 있다.The
연산 관련 정보(154)에서는 연산에 필요한 정보를 포함한다. 파일 혹은 디렉토리의 생성이나 삭제시에 해당 파일 또는 디렉토리의 이름이 저장될 수 있으며, 파일 또는 디렉토리를 이동시킬 경우, 해당 파일 또는 디렉토리가 이동할 타겟이 되는 디렉토리에 대한 정보를 포함할 수 있다. 이는 각 구현과 파일 시스템에 따라 달라질 수 있다.The operation related
연산 결과(155)는 해당 파일 연산의 수행 여부에 대한 정보이다. 그러나 본 발명의 일 실시예에서는 모든 파일 연산에 대해 수행 결과를 저장하지 않는다. 많 은 파일 작업에 대해 일일이 수행 결과를 저장하는 것은 파일 시스템의 오버헤드를 낳게 되기 때문이다. 따라서 파일 작업이 일어난 후 항상 수행 결과를 저장하는 방식이 아니며, 로그 파일의 파일 연산은 그대로 존재한다. 수행 결과의 변경에 대해서는 추후 설명하고자 한다.The
K라는 파일 연산이 완료된 후에, 다른 파일 연산이 일어나지 않으면, 로그 파일에는 K 파일 연산에 관한 정보가 남아있게 된다. 그 후, 이동형 저장 장치가 제거된 후 다시 결합하는 경우, 파일 시스템은 로그 파일을 먼저 검토한다. 로그 파일에 저장된 가장 최근의 파일 연산에 대한 정보(K라는 파일 연산에 대한 정보)와 블록 맵 및 데이터 블록의 구조를 검토하여, 상기 K 연산이 성공적으로 이루어졌는지를 검토한다. 그 결과 K 연산이 성공적으로 이루어지지 않았다면 다시 K 연산을 수행하며, K 연산의 결과와 일치하는 블록 맵과 데이터 블록이 존재한다면 추후 다른 작업을 수행한다. After the file operation K is completed and no other file operation occurs, information about the K file operation remains in the log file. Then, if the removable storage device is removed and then rejoined, the file system first examines the log file. The information on the most recent file operation stored in the log file (information on the file operation K) and the structure of the block map and the data block are reviewed to see if the K operation is successful. As a result, if K operation is not successful, K operation is performed again. If there is a block map and data block matching the result of K operation, another operation is performed later.
이 과정에서 만약 K 연산이 성공적으로 이루어지지 않아서 다시 K 연산을 수행하는 경우, 상기 연산이 완료된 후에 전술한 연산 결과(155) 부분을 1로 할 수 있다. 또는 K 연산을 재수행하는 것이 어려운 상황이라면, 다시 K 연산을 수행하지 않고, 없었던 작업으로 처리하기 위해 상기 연산 결과(155)를 2로 할 수 있다. 연산 결과(155)는 매 파일 작업마다 수정되는 것이 아니므로, 로그 파일의 생성에 따른 오버헤드를 줄일 수 있다. 특정 경우에만 연산 결과(155)에 작업의 결과를 저장하도록 하여, 파일 시스템의 시작시 과도한 비교 검토 과정을 피할 수 있게 한다.In this process, if the K operation is not performed successfully and the K operation is performed again, the
도 6은 본 발명의 일 실시예에 따른 파일 삭제시 오류를 복구하는 과정을 보 여주는 블록도이다.6 is a block diagram illustrating a process of recovering an error when deleting a file according to an exemplary embodiment of the present invention.
파일 시스템은 파일 삭제를 위해 로그 파일(150)에 삭제 작업과 관련된 정보를 저장한다. (a)에서 알 수 있듯이, 삭제할 파일은 file.txt이며, 이는 매핑 블록 3, 4, 6, 7, 8의 순서로 연결되어 있다. 파일을 삭제하기 위해서는 파일 시스템에서 file.txt를 참조하는 부분을 삭제하며, file.txt에 할당된 매핑 블록 3, 4, 6, 7, 8를 재사용가능하도록 수정하여야 한다. 본 발명의 일 실시예에서는 매핑 블록을 재사용하기 위해서 매핑 블록의 값을 0으로 수정하는 방식을 취하고자 한다.The file system stores information related to the delete operation in the
(b)에서는 매핑 블록을 수정한 결과이다. 매핑 블록 3, 4, 6, 7, 8의 값은 0으로 이제 다른 파일 또는 디렉토리에 의해 사용 가능하다. 그러나 아직 파일 시스템 내의 file.txt에 관한 정보가 삭제되지는 않았다. 매핑 블록의 수정 이후에 file.txt를 파일 시스템에서 삭제하기 전에, 이동형 저장 장치가 제거되거나 전원이 차단될 수 있다. 이 경우, 매핑 블록의 수정은 완료되었지만, 파일 시스템에는 파일이 계속 남아있는, 무결성이 충족되지 못하는 상황이 발생한다. (b) shows the result of modifying the mapping block. The values of the mapping blocks 3, 4, 6, 7, and 8 are zero and can now be used by other files or directories. However, the information about file.txt in the file system has not been deleted yet. After modifying the mapping block, before deleting file.txt from the file system, the removable storage device may be removed or powered off. In this case, the modification of the mapping block is completed, but the file system remains intact, and the integrity is not satisfied.
그러나 로그 파일(150)에 삭제와 관련된 정보가 존재하므로, 다시 이동형 저장 장치가 시스템에 결합 또는 부착되거나 전원이 공급될 경우, 재작업이 가능하다. However, since information related to deletion exists in the
파일 시스템은 이동형 저장 장치와 디지털 장치가 결합하거나 전원이 공급될 경우, 로그 파일(150)을 검토한다. 최근 파일 연산과 관련된 로그 정보를 살펴보아, 이 로그에 맞게 작업이 수행되었는지를 검토한다. 도 6에서 로그 파일에 저장된 로그는 file.txt의 시작 매핑 블록 주소가 3이며, 삭제(d) 작업임을 알리고 있 다. 이 정보에 따라, 파일 시스템은 file.txt가 존재하면 이를 제거한다. 3번지의 매핑 블록이 0므로 매핑블록을 수정하는 작업은 필요하지 않기 때문에, 파일 시스템은 다음 작업을 수행한다.The file system examines the
여기서 연산 결과(155)부분을 수정할 수 있다. 이는 파일 시스템의 구현 또는 시스템의 상황에 따라 달라질 수 있는데, 완료되지 않은 파일 연산을 재수행 후 결과를 저장할 수 있으며, 재수행이 어려운 파일 연산인 경우에는 추후 다시 재수행을 하지 않도록 하는 정보를 저장할 수 있다. 또한, 잦은 비교 검토를 막기 위해, 재수행후에 해당 로그 정보의 연산 결과(155)에 수행 완료라고 설정할 수 있다.Here, the
도 7은 본 발명의 다른 실시예에 따른 파일 생성시 오류를 복구하는 과정을 보여주는 블록도이다.7 is a block diagram illustrating a process of recovering an error when generating a file according to another exemplary embodiment of the present invention.
파일 시스템은 새로운 파일을 저장하기 위해 시작 매핑 블록을 할당한다. 이러한 파일 생성 작업에 앞서, 로그 파일에 newfile.txt를 생성함을 기록하기 위해 정보를 저장한다. 파일 생성시에는 매핑 블록의 주소를 저장하지 않을 수 있다. 이는 파일 시스템에 파일 생성 정보를 저장하고, 사용 가능한 매핑 블록을 찾은 후에 해당 매핑 블록에 관한 정보(예를 들어 주소와 같은)와 파일명을 파일 시스템에서 유지할 수 있다.The file system allocates a start mapping block to store the new file. Before creating this file, save the information to record that you've created newfile.txt in the log file. When creating a file, the address of the mapping block may not be stored. It stores file creation information in the file system, finds an available mapping block, and maintains information about the mapping block (such as an address) and file name in the file system.
우선 로그 파일에 파일 연산에 관한 정보를 저장한다. 연산의 종류(152)는 파일의 생성을 의미하는 n으로 설정할 수 있으며, 관련 매핑 블록 주소(153)은 0 또는 공란으로 설정될 수 있다. 이는 파일 시스템의 구현에 따라 달라질 수 있는 데, 파일 생성 이전에 파일의 시작 매핑 블록의 주소를 알 수 있는 경우에는 해당 매핑 블록의 주소가 설정될 수 있다. 그리고 연산 관련 정보(154)는 생성할 파일명이 존재한다. First, we store information about file operations in a log file. The
로그 파일에 파일 생성과 관련된 정보를 저장한 후, (a)와 같이 파일 시스템에 파일 생성과 관련된 작업을 한다. newfile.txt를 생성하고, 사용 가능한 매핑 블록의 주소를 넣기위해 블록 맵을 검색한다. 이 과정에서 전원이 나가거나 이동형 저장 장치가 제거되는 경우, 파일 시스템에는 매핑 블록이 존재하지 않는 파일(newfile.txt)이 존재한다.After storing the information related to file creation in the log file, perform the work related to file creation in the file system as shown in (a). Create newfile.txt and search the block map to enter the address of the available mapping block. If power goes out or the removable storage device is removed during this process, a file (newfile.txt) exists in the file system without a mapping block.
그러나 다시 이동형 저장 장치가 결합하거나 전원이 공급될 경우, 파일 시스템은 로그 파일을 검토하여 최근에 이루어진 파일 연산과 실제 저장 장치의 파일 구조가 일치하는지 비교한다. 그 결과 파일 시스템에는 newfile.txt의 생성이 완료되지 못함을 알고, 남은 작업을 수행한다. 그 결과 (b)와 같이 newfile.txt에 매핑 블록 5번지가 할당된다.However, when removable storage devices are combined or powered up again, the file system examines the log file and compares the file structure of a recent storage operation with the actual storage device's file structure. As a result, the file system knows that the creation of newfile.txt is not complete and does the rest. As a result, 5 mapping blocks are allocated to newfile.txt as shown in (b).
도 6과 7은 본 발명의 일 실시예에 따라 파일 연산 전에 연산에 관한 정보를 저장하게 된다. 저장하는 정보는 파일 시스템과 연산의 성격에 따라 다양하게 달라질 수 있으며, 이는 도 5에서 살펴본 로그 파일을 구성하는 정보 항목과 달라질 수 있다. 도 5에서 제시한 로그 파일은 본 발명을 구현하기 위한 일 실시예에 해당하며, 이에 한정되는 것은 아니다. 일례로, 디렉토리 이동시 해당 디렉토리의 이동 전의 부모 디렉토리(parent directory)와 이동 후의 부모 디렉토리에 대한 정보도 포함될 수 있다. 또한 이동할 디렉토리 내에 존재하는 파일들에 대한 정보도 포함 될 수 있다.6 and 7 store information about an operation before a file operation according to an embodiment of the present invention. The information to be stored may vary depending on the file system and the nature of the operation, which may be different from the information items constituting the log file shown in FIG. The log file shown in FIG. 5 corresponds to an embodiment for implementing the present invention, but is not limited thereto. For example, when a directory is moved, information about a parent directory before the movement of the directory and a parent directory after the movement may also be included. It can also contain information about the files that exist in the directory to be moved.
도 8은 본 발명의 일 실시예에 따른 파일 작업과 오류 복구의 과정을 보여주는 순서도이다.8 is a flowchart illustrating a process of file operation and error recovery according to an embodiment of the present invention.
(a)는 파일에 관련된 연산을 수행시에 파일 시스템에서 수행하는 작업을 보여준다. 먼저 운영 체계 혹은 다른 어플리케이션에서 파일 연산에 대한 명령을 수신한다(S102). 이 연산에 대한 정보를 로그 파일에 저장하기 위해서는 연산 정보를 생성하여야 한다(S104). 생성하게 될 연산 정보의 예는 도 5의 항목들이 될 수 있다.(a) shows the operations performed by the file system when performing operations related to files. First, a command for file operation is received from an operating system or another application (S102). In order to store information about the operation in a log file, operation information must be generated (S104). Examples of operation information to be generated may be the items of FIG. 5.
그리고 로그 파일에 수행할 연산에 대한 정보를 저장한다(S106). 이는 파일 시스템 내의 로그 관리자가 수행할 수 있다. 로그 파일에 저장한 후, 파일 시스템은 해당 파일 연산을 수행한다(S108).In operation S106, information about an operation to be performed is stored in a log file. This can be done by a log manager within the file system. After storing in the log file, the file system performs the file operation (S108).
(b)는 전원이 차단된 후에 다시 공급되거나 또는 이동형 저장 장치가 디지털 장치와 결합 경우의 작업을 보여준다.(b) shows the operation when the power supply is cut off or the portable storage device is combined with the digital device.
전원이 공급되거나, 이동형 저장 장치와 디지털 장치가 결합하게 되면 파일 시스템이 시작한다(S110). 파일 시스템은 디지털 장치로부터 구동을 요청받을 수 있으며, 또는 이동형 저장 장치내의 어플리케이션에 의해 시작될 수 있다. 그리고 파일 시스템 내의 로그 관리자는 로그 파일을 검토한다(S112). 검토는 로그 파일의 내용과 저장 장치의 파일 상태를 검토하여 알 수 있다. 로그 파일에 기록된 연산 내용의 결과가 블록 맵 혹은 데이터 블록에 존재하는지를 비교, 검토한다(S114). 만약 존재한다면, 해당 연산은 성공적으로 수행된 것이므로 다른 연산의 수행을 위 해 대기한다(S118). 만약 존재하지 않거나 비교 결과 서로 다르다면, 해당 연산을 재수행하여 무결성을 유지할 수 있다(S116). 만약 해당 연산을 수행하는 것에 장애가 있다면, 해당 로그 파일의 연산 정보를 더 이상 수행하지 않도록, 연산 결과 부분을 수정할 수 있다. When the power is supplied or when the portable storage device and the digital device are combined, the file system starts (S110). The file system may be requested to drive from a digital device or may be started by an application in a removable storage device. The log manager in the file system reviews the log file (S112). A review can be obtained by examining the contents of the log file and the file status of the storage device. The result of the operation contents recorded in the log file is compared and examined in the block map or the data block (S114). If present, the operation is successful and waits for another operation (S118). If it does not exist or the result is different from each other, the operation can be performed again to maintain integrity (S116). If there is a problem in performing the operation, the operation result can be modified so that the operation information of the log file is no longer executed.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalent concept are included in the scope of the present invention. Should be interpreted.
본 발명을 구현함으로써 이동형 저장 장치에 저장된 데이터의 무결성을 보장할 수 있다.By implementing the present invention it is possible to ensure the integrity of the data stored in the removable storage device.
본 발명을 구현함으로써 이동형 저장 장치의 파일 연산 중에 발생하는 오류를 복구할 수 있다.By implementing the present invention, it is possible to recover from errors occurring during file operations of removable storage devices.
Claims (23)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065910A KR100704621B1 (en) | 2004-08-20 | 2004-08-20 | Method and apparatus for guaranteeing data integrity of portable storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065910A KR100704621B1 (en) | 2004-08-20 | 2004-08-20 | Method and apparatus for guaranteeing data integrity of portable storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060017287A KR20060017287A (en) | 2006-02-23 |
KR100704621B1 true KR100704621B1 (en) | 2007-04-10 |
Family
ID=37125385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040065910A KR100704621B1 (en) | 2004-08-20 | 2004-08-20 | Method and apparatus for guaranteeing data integrity of portable storage device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100704621B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100643286B1 (en) * | 2004-11-22 | 2006-11-10 | 삼성전자주식회사 | Removable storage and recovering method for file system using removable sotrages |
KR100818993B1 (en) * | 2006-05-12 | 2008-04-02 | 삼성전자주식회사 | Apparatus and method for file management using assignment of virtual blocks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04114219A (en) * | 1990-09-05 | 1992-04-15 | Jienetetsuku:Kk | External storage device for computer or the like |
KR20030065223A (en) * | 2002-01-31 | 2003-08-06 | 삼성전자주식회사 | Host equipped with stabilizing function for flash memory and the method thereof |
JP2004178788A (en) * | 2002-11-15 | 2004-06-24 | Matsushita Electric Ind Co Ltd | Recording device and recording method |
-
2004
- 2004-08-20 KR KR1020040065910A patent/KR100704621B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04114219A (en) * | 1990-09-05 | 1992-04-15 | Jienetetsuku:Kk | External storage device for computer or the like |
KR20030065223A (en) * | 2002-01-31 | 2003-08-06 | 삼성전자주식회사 | Host equipped with stabilizing function for flash memory and the method thereof |
JP2004178788A (en) * | 2002-11-15 | 2004-06-24 | Matsushita Electric Ind Co Ltd | Recording device and recording method |
Also Published As
Publication number | Publication date |
---|---|
KR20060017287A (en) | 2006-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430286B2 (en) | Storage control device and storage system | |
CN102779180B (en) | The operation processing method of data-storage system, data-storage system | |
US8924664B2 (en) | Logical object deletion | |
US11301379B2 (en) | Access request processing method and apparatus, and computer device | |
US7363540B2 (en) | Transaction-safe FAT file system improvements | |
EP2176795B1 (en) | Hierarchical storage management for a file system providing snapshots | |
US9880759B2 (en) | Metadata for data storage array | |
WO2017041654A1 (en) | Method and apparatus for writing and acquiring data in distributed storage system | |
US20120084272A1 (en) | File system support for inert files | |
WO2005124530A2 (en) | Method for controlling memory card and method for controlling nonvolatile semiconductor memory | |
US20070112891A1 (en) | Converting file-systems that organize and store data for computing systems | |
JP2005512171A (en) | Efficient management of large files | |
US20050165853A1 (en) | Method and apparatus for localized protected imaging of a file system | |
US11494334B2 (en) | Embedded reference counts for file clones | |
CN112115002B (en) | Method and device for recovering file from damaged or untrusted mechanical hard disk | |
US20060036663A1 (en) | Method and apparatus for effective data management of files | |
EP3542273B1 (en) | Systems and methods for recovering lost clusters from a mounted volume | |
CN114625696B (en) | File recovery method and device, electronic equipment and storage medium | |
EP1103894A2 (en) | Fragmented data recovery method | |
CN112214356B (en) | File data recovery method, device, computer equipment and storage medium | |
KR100704621B1 (en) | Method and apparatus for guaranteeing data integrity of portable storage device | |
JP2008123104A (en) | Data-access device | |
KR100643286B1 (en) | Removable storage and recovering method for file system using removable sotrages | |
CN114880277B (en) | Block device snapshot method, system and storage medium | |
CN116774918A (en) | Data cleaning method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100330 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |