KR20090071348A - Flash memory device having secure file deletion function and method for securely deleting flash file - Google Patents
Flash memory device having secure file deletion function and method for securely deleting flash file Download PDFInfo
- Publication number
- KR20090071348A KR20090071348A KR1020080091545A KR20080091545A KR20090071348A KR 20090071348 A KR20090071348 A KR 20090071348A KR 1020080091545 A KR1020080091545 A KR 1020080091545A KR 20080091545 A KR20080091545 A KR 20080091545A KR 20090071348 A KR20090071348 A KR 20090071348A
- Authority
- KR
- South Korea
- Prior art keywords
- header
- file
- flash
- header block
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 플래시 메모리 장치 및 플래시 파일 삭제 방법에 관한 것으로서, 특히 파일 안전 삭제 기능을 갖는 플래시 메모리 장치 및 플래시 파일 안전 삭제 방법에 관한 것이다.The present invention relates to a flash memory device and a flash file deleting method, and more particularly, to a flash memory device having a file safe deletion function and a flash file safe deletion method.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-039-02, 과제명: 임베디드 보안 운영체제 기술개발(Embedded Secure Operating System Technology Development)].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task management number: 2006-S-039-02, Title: Development of embedded security operating system technology Secure Operating System Technology Development)].
대부분의 파일 시스템에서는, 파일 삭제 명령에 의해 해당 파일에 대한 메타 데이터가 삭제되거나 변경되지만, 파일의 데이터 자체는 삭제되지 않고 물리 매체에 그대로 존재한다. 따라서 지워진 파일을 복구하는 것이 가능하다. 그러나 이러한 복구를 원하지 않는 사용자도 있다. 이러한 요구는 플래시 메모리를 저장 매체로 사용하는 임베디드 시스템에서 더욱 증가하고 있다.In most file systems, the metadata for the file is deleted or changed by the file delete command, but the data of the file itself is not deleted but remains on the physical medium. Thus it is possible to recover erased files. However, some users do not want this recovery. This demand is growing in embedded systems that use flash memory as a storage medium.
자기 기록 매체(Magnetic Media)에서 안전하게 데이터를 삭제하는 방법이 알려져 있다. 이 방법은, 데이터를 삭제하기 위해 다른 비트 패턴을 해당 데이터에 덮어씌우는 기법(overwriting)을 사용하고 있다. 구체적으로 이 기법은 4번의 랜덤 비트 패턴으로 데이터를 덮어씌우는 작업, 이어서 27번의 미리 정해진 패턴으로 데이터를 덮어씌우는 작업, 마지막으로 다시 4번의 랜덤 비트 패턴으로 데이터를 덮어씌우는 작업으로 이루어진다. 따라서 총 35회의 덮어쓰기가 행해진다.A method of securely deleting data from a magnetic recording medium is known. This method uses overwriting to overwrite other bit patterns with data to delete the data. Specifically, this technique consists of overwriting data with 4 random bit patterns, then overwriting data with 27 predetermined patterns, and finally overwriting data with 4 random bit patterns. Therefore, a total of 35 overwrites are performed.
자기 디스크(Magnetic Disk)에서 안전하게 데이터를 삭제하기 위한 방법도 제안되어 있다. 미국방성의 DoD 5220 22-M 방식은, 임의의 비트 패턴으로 데이터를 덮어씌우고, 이어서 그 임의의 비트 패턴의 보수로 데이터를 덮어씌운 다음, 다시 임의의 비트 패턴으로 데이터를 덮어씌우는 작업을 7번 반복한다. 따라서 총 21회의 덮어쓰기가 행해진다.A method for safely deleting data from a magnetic disk has also been proposed. The DoD 5220 22-M method of the Department of Defense overwrites data with an arbitrary bit pattern, then overwrites the data with the complement of the arbitrary bit pattern, and then overwrites the data with an arbitrary bit pattern seven times. Repeat. Therefore, a total of 21 overwrites are performed.
플래시 메모리에 기록되어 있는 데이터를 다른 데이터로 바꿔서 기록하기 위해서는, 삭제 연산이 선행되어야 한다. 플래시 메모리에서의 데이터 삭제 작업은, 블록 단위로 수행되고 기록 작업은 페이지 단위로 수행된다. 일반적으로 블록은 512바이트 크기의 32개의 페이지, 또는 2048바이트 크기의 64개의 페이지로 구성된다. 이러한 기록 단위와 삭제 단위의 불일치 때문에, 플래시 파일 시스템에서는 로그 기반 구조(log-structured) 파일 시스템이 일반적으로 사용된다.In order to replace the data recorded in the flash memory with other data, the erase operation must be preceded. Data erase operations in the flash memory are performed in units of blocks and write operations are performed in units of pages. In general, a block consists of 32 pages of 512 bytes or 64 pages of 2048 bytes. Because of this discrepancy between write and delete units, log-structured file systems are commonly used in flash file systems.
로그 기반 구조 파일 시스템에서 파일을 수정할 때에는, 수정 전의 파일이 삭제되지 않고 무효 표시(invalid)만 된 후, 새로운 페이지에 수정 후의 파일 내용이 기록된다. 또한, 로그 기반 구조 파일 시스템에서는, 전체 파일 시스템을 탐색 하여 무효화된 페이지를 함께 삭제함으로써 안전 삭제를 실현한다.When a file is modified in the log-based file system, the file before the modification is not deleted but only invalid, and then the contents of the file are recorded in a new page. In addition, in the log-based structure file system, secure deletion is realized by searching the entire file system and deleting invalidated pages together.
자기 기록 매체 또는 자기 디스크에 대해 위와 같은 다단계의 과정을 거쳐 데이터를 삭제한다고 하더라도, 지워진 데이터에 자기적인 잔상이 남을 수 밖에 없다. 따라서 데이터에 다른 비트 패턴을 덮어씌우는 방식으로 해당 데이터를 삭제해도 디스크의 약한 자기장의 흔적을 검출할 수 있는 장비로 원래의 데이터를 추출할 수 있다.Even if data is deleted through the above-described multi-step process for the magnetic recording medium or the magnetic disk, magnetic afterimage remains in the erased data. Therefore, the original data can be extracted with a device that can detect traces of the weak magnetic field of the disk even if the corresponding data is deleted by overwriting the other bit patterns.
또한, 종래의 데이터 안전 삭제 방법은, 자기 기록 매체 또는 자기 디스크에 관한 것이어서, 자기 매체와는 구조적으로 전혀 다른 플래시 메모리로부터 데이터를 안전하게 삭제하는 방법에 그대로 적용할 수 없다.Further, the conventional data safe erasing method relates to a magnetic recording medium or a magnetic disk, and thus cannot be applied to a method of safely erasing data from a flash memory that is structurally different from the magnetic medium.
또한, 플래시 파일 시스템, 즉 로그 기반 구조 파일 시스템에서 안전하게 파일을 삭제하는 종래의 방법은 비효율적이다. 왜냐하면, 안전 삭제를 위해 전체 파일 시스템을 탐색하여 무효화된 페이지를 함께 삭제해야 하기 때문이다.In addition, the conventional method of securely deleting files in a flash file system, that is, a log-based file system, is inefficient. This is because you must search the entire file system and delete the invalidated pages together for safe deletion.
본 발명의 목적은, 암호화 및 파일의 객체 헤더 블록 관리를 통해, 전체 파일 시스템을 탐색하지 않고서도 신속하고 안전하게 파일을 삭제하는 방법 및 장치를 제공하는 것이다.It is an object of the present invention to provide a method and apparatus for quickly and securely deleting files without having to navigate the entire file system through encryption and object header block management of files.
본 발명은 플래시 메모리 기반 파일 시스템에서 안전하게 파일을 삭제하는 방법을 제공한다. 이를 위해 본 발명의 발명자들은, 임베디드 시스템에서 가장 일반적으로 사용되는 파일 시스템인 YAFFS(Yet Another Flash File System)를 변경하여 안전 삭제 기능을 가진 플래시 메모리용 파일 시스템을 설계하였다. 그러나 본 발명은 YAFFS에만 국한되는 것은 아니며, 다른 형태의 플래시 파일 시스템에도 적용될 수 있음은 물론이다.The present invention provides a method for securely deleting files in a flash memory based file system. To this end, the inventors of the present invention designed a file system for a flash memory having a safe erase function by changing a YAFFS (YetFS) which is a file system most commonly used in an embedded system. However, the present invention is not limited to YAFFS and can be applied to other types of flash file systems.
본 발명은 암호화를 기반으로 하고 있으며, 특정 파일을 암호화하는 데 사용된 복호화 키를 삭제함으로써 파일의 안전 삭제를 실현한다. 또한, 본 발명은, 복호화 키를 포함한 파일의 메타 데이터를 갖고 있는 객체 헤더와, 파일의 실제 내용인 데이터를 헤더 블록과 데이터 블록에 각각 별도로 저장한다. 따라서 파일 삭제를 위해 전체 파일 시스템을 탐색할 필요없이, 헤더 블록에서 삭제 대상 객체 헤더만 찾아내어 삭제할 수 있으므로, 삭제에 필요한 처리 시간이 대폭 단축된다. 또한, 본 발명은, 안전 삭제가 필요한 파일을 쉽고 빠르게 찾을 수 있는 이진 트리 기법을 제공한다.The present invention is based on encryption and realizes secure deletion of a file by deleting a decryption key used to encrypt a particular file. In addition, the present invention separately stores an object header having metadata of a file including a decryption key and data which is the actual content of the file in a header block and a data block, respectively. Therefore, it is possible to find and delete only the object header to be deleted from the header block without having to search the entire file system for file deletion, which greatly reduces the processing time required for deletion. In addition, the present invention provides a binary tree technique that can quickly and easily find a file that requires safe deletion.
구체적으로, 상기와 같은 목적을 달성하기 위해, 본 발명의 플래시 메모리 장치는, 플래시 파일을 저장하기 위한 메모리 블록들로 구성된 플래시 메모리와, 상기 메모리 블록들 중 데이터 블록에는 플래시 파일의 암호화된 데이터가 저장되고, 상기 메모리 블록들 중 헤더 블록에는 상기 암호화된 데이터를 복호화하기 위한 복호화 키를 포함하는 객체 헤더가 저장되도록 상기 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하며, 상기 메모리 컨트롤러는, 암호화된 데이터를 갖는 플 래시 파일의 삭제 명령에 응답하여, 상기 암호화된 데이터를 복호화하기 위한 복호화 키를 포함하는 객체 헤더를 헤더 블록에서 삭제한다.Specifically, in order to achieve the above object, the flash memory device of the present invention, a flash memory consisting of memory blocks for storing a flash file, and the data block of the memory block in the encrypted data of the flash file And a memory controller configured to control the flash memory to store an object header including a decryption key for decrypting the encrypted data in a header block of the memory blocks, wherein the memory controller stores the encrypted data. In response to the delete command of the flash file, the object header including the decryption key for decrypting the encrypted data is deleted from the header block.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명의 플래시 파일 안전 삭제 방법은, 플래시 메모리의 데이터 블록에는 플래시 파일의 암호화된 데이터를 저장하고, 상기 플래시 메모리의 헤더 블록에는 상기 암호화된 데이터를 복호화하기 위한 복호화 키를 포함하는 객체 헤더를 저장하는 단계와, 암호화된 데이터를 갖는 플래시 파일의 삭제 명령에 응답하여, 상기 암호화된 데이터를 복호화하기 위한 복호화 키를 포함하는 객체 헤더를 헤더 블록에서 삭제하는 단계를 포함한다.In addition, in order to achieve the above object, according to the flash file safe erasing method of the present invention, the encrypted data of the flash file is stored in the data block of the flash memory, and the encrypted data is decrypted in the header block of the flash memory. Storing an object header including a decryption key to delete the object header including a decryption key for decrypting the encrypted data in response to a delete command of the flash file having encrypted data; Steps.
본 발명의 이와 같은 구성에 따르면, 암호화된 데이터와 복호화 키를 별도의 메모리 블록에 저장하고, 삭제 시에는 복화화 키만을 삭제하면 암호화된 데이터의 복구를 불가능하게 할 수 있으므로, 플래시 파일의 안전 삭제가 빠르고 쉽게 달성된다. 플래시 메모리의 경우, 삭제 조작을 위한 오버헤드(overhead)가 상당히 크기 때문에 암호화에 따른 오버헤드가 생기더라도 삭제 조작 회수를 줄이는 것이 훨씬 효율적이다.According to this configuration of the present invention, if the encrypted data and the decryption key are stored in separate memory blocks, and only the decryption key is deleted at the time of deletion, recovery of the encrypted data may be impossible, thereby safely deleting the flash file. Is achieved quickly and easily. In the case of flash memory, since the overhead for the delete operation is quite large, it is much more efficient to reduce the number of delete operations even if an encryption overhead occurs.
이때, 상기 삭제는, 상기 복호화 키를 포함하는 객체 헤더가 저장되어 있는 헤더 블록을 임시 저장 장치에 복사하는 단계와, 상기 헤더 블록을 상기 플래시 메모리에서 삭제하는 단계와, 상기 복사된 헤더 블록에서 상기 복호화 키를 포함하는 객체 헤더를 무효로 설정하는 단계와, 상기 삭제된 헤더 블록을 상기 플래시 메모리에 재할당하는 단계와, 상기 복사된 헤더 블록의 객체 헤더들 중에서 유효한 객체 헤더를 상기 재할당된 헤더 블록에 저장하는 단계를 포함할 수 있다.In this case, the deleting may include copying a header block in which the object header including the decryption key is stored, to the temporary storage device, deleting the header block from the flash memory, and in the copied header block, Invalidating an object header including a decryption key, reassigning the deleted header block to the flash memory, and valid object header among the object headers of the copied header block; Storing in a block.
또한, 동일한 파일 ID를 갖는 플래시 파일의 객체 헤더들은 동일한 헤더 블록에 저장하는 것이 바람직하다. 따라서 시스템 전체를 탐색하지 않고서 하나의 헤더 블록에서만 원하는 객체 헤더를 한꺼번에 삭제할 수 있으므로 신속하고 안전한 플래시 파일의 삭제가 보장된다. 로그 기반 구조 파일 시스템에서는 하나의 파일에 여러 개의 객체 헤더가 있을 수 있다. 따라서 파일 삭제를 위해서는 유효 객체 헤더 뿐만 아니라 기존에 무효화되어 있는 무효 객체 헤더들도 모두 찾아서 삭제해야 한다. 본 발명에 따르면, 동일한 플래시 파일에 대한 객체 헤더들이 모두 하나의 헤더 블록에 모여 있기 때문에, 신속한 파일 안전 삭제가 보장된다.In addition, it is preferable to store object headers of a flash file having the same file ID in the same header block. Therefore, you can delete the desired object headers in only one header block at a time without having to navigate the entire system, ensuring fast and safe flash file deletion. In a log-based file system, there can be multiple object headers in a file. Therefore, to delete a file, not only the valid object header but also all invalid object headers that have been invalidated must be found and deleted. According to the present invention, since the object headers for the same flash file are all gathered in one header block, fast file safe deletion is ensured.
또한, 본 발명의 플래시 메모리 장치 및 플래시 파일 안전 삭제 방법은, 헤더 블록 탐색을 위해 파일 ID와 연관된 이진값을 갖는 노드들로 구성된 이진 트리가 활용된다. 따라서 신속한 헤더 블록 탐색이 보장된다.In addition, in the flash memory device and the flash file safe erasing method of the present invention, a binary tree composed of nodes having a binary value associated with a file ID is used for a header block search. Therefore, fast header block search is guaranteed.
본 발명에 따르면, 암호화된 데이터와 복호화 키를 별도의 메모리 블록에 저장하고, 삭제 시에는 복화화 키만을 삭제하면 암호화된 데이터의 복구를 불가능하게 할 수 있으므로, 플래시 파일의 신속한 안전 삭제가 보장된다.According to the present invention, if the encrypted data and the decryption key are stored in separate memory blocks, and only the decryption key is deleted at the time of deletion, recovery of the encrypted data can be impossible, thereby ensuring safe safe deletion of the flash file. .
또한, 본 발명에 따르면, 시스템 전체를 탐색하지 않고서 하나의 헤더 블록에서만 원하는 객체 헤더를 한꺼번에 삭제할 수 있으므로 신속하고 안전한 플래시 파일의 삭제가 보장된다.In addition, according to the present invention, since the desired object header can be deleted at one time only in one header block without searching the entire system, the fast and safe deletion of the flash file is guaranteed.
또한, 본 발명에 따르면, 파일 ID와 연관된 이진값을 갖는 노드들로 구성된 이진 트리를 헤더 블록 탐색에 활용함으로써 신속한 헤더 블록 탐색이 보장된다.In addition, according to the present invention, a fast header block search is ensured by utilizing a binary tree composed of nodes having a binary value associated with a file ID in the header block search.
이하에서는, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention.
도 1에는 본 발명의 실시예에 따라 플래시 파일을 안전하게 삭제하는 기능을 갖는 플래시 메모리 장치(10)가 개시되어 있다. 플래시 메모리 장치(10)는 플래시 메모리(20)와 메모리 컨트롤러(30)를 포함한다. 플래시 메모리 장치(10)가 USB 플래시 드라이브인 경우에는, 외부 장치와의 사이에서 파일 및 제어 신호를 주고 받기 위한 커넥터를 더 포함한다.1 illustrates a
플래시 메모리(20)는, 플래시 파일을 저장하기 위한 다수의 메모리 블록들로 구성되어 있으며, 예를 들어 NAND 게이트 플래시 메모리일 수 있지만 그것에 국한되는 것은 아니다. 각 메모리 블록은 512바이트 크기의 32개의 페이지로 구성될 수 있다.The
메모리 컨트롤러(30)는, 메모리 블록들이 데이터 블록과 헤더 블록으로 구분되어 사용되도록 플래시 메모리(20)를 제어한다. 데이터 블록에는 플래시 파일의 실제 내용인 데이터가 저장된다. 헤더 블록에는 플래시 파일의 파일 ID, 해당 파일의 데이터가 저장되어 있는 데이터 블록의 위치 등을 포함하는 메타 데이터를 갖는 객체 헤더가 저장된다.The
또한, 메모리 컨트롤러(30)는 플래시 파일의 데이터를 암호화하여 데이터 블 록에 저장하고, 암호화된 데이터를 복호화하기 위한 복호화 키는 해당 플래시 파일의 객체 헤더에 포함시켜 헤더 블록에 저장한다. 플래시 파일을 삭제할 때에는, 해당 플래시 파일의 복호화 키만 헤더 블록에서 삭제함으로써 플래시 파일을 신속하고 안전하게 삭제할 수 있다.In addition, the
이하에서는, 플래시 파일을 생성/변경하고 플래시 파일을 삭제하는 메모리 컨트롤러(30)의 동작에 대해 자세히 설명한다.Hereinafter, an operation of the
1. 헤더 블록 탐색을 위한 이진 트리1. Binary Tree for Header Block Search
도 2에는 메모리 컨트롤러(30)에 의해 행해지는 헤더 블록 탐색을 위한 이진 트리가 도시되어 있다. 이진 트리는 DRAM과 같은 내부 메모리에 유지되어 있으며, 새롭게 생성된 객체 헤더가 저장될 헤더 블록을 탐색하고, 삭제할 객체 헤더가 위치하는 헤더 블록을 탐색하는 데 이용된다.2 shows a binary tree for header block search performed by the
이진 트리의 최상위층은 NULL값을 갖는다. 부모 노드의 왼쪽 자식 노드에는 부모 노드의 이진값의 왼쪽에 0이 붙고, 오른쪽 자식 노드에는 부모 노드의 이진값의 왼쪽에 1이 붙는다. 이와 같은 규칙에 따라 이진 트리의 전체 노드가 형성되고, 각 노드에 대한 탐색이 편리하게 행해진다. 이때 자식 노드의 좌위 위치가 서로 바뀌어도 됨은 물론이다.The top layer of the binary tree has a NULL value. The left child node of the parent node has a zero on the left of its parent's binary value, and the right child node has a one on its left's binary value. According to such a rule, all nodes of the binary tree are formed, and the search for each node is conveniently performed. At this time, the positions of the child nodes may be interchanged.
이진 트리의 각 노드에 표시된 이진값은 헤더 블록의 플래시 메모리(20) 내의 위치를 가리키는 포인터로서, 파일 ID의 n개의 LSB(Least Significant Bits)에 해당한다. 헤더 블록은, 플래시 메모리(20)에서 말단 노드의 포인터가 가리키는 위 치에 존재한다.The binary value indicated at each node of the binary tree is a pointer indicating a position in the
예를 들어 말단 노드 '010'은, 파일 ID의 LSB가 '010'인 파일에 대응하는 객체 헤더가 저장되어 있는 헤더 블록을 가리킨다. 따라서 새롭게 생성된 객체 헤더를 헤더 블록에 저장하려고 할 때, 파일 ID의 n개의 LSB는 노드의 깊이가 n인 말단 노드의 이진값과 같아야 한다. 즉 파일 ID의 LSB가 '010'인 파일에 대응하는 객체 헤더는, '010'의 이진값을 갖는 말단 노드가 가리키는 헤더 블록에 저장된다. For example, the end node '010' indicates a header block in which an object header corresponding to a file whose LSB of the file ID is '010' is stored. Therefore, when trying to store the newly created object header in the header block, n LSBs of the file ID must be equal to the binary value of the end node whose node depth is n. In other words, the object header corresponding to the file whose LSB of the file ID is '010' is stored in a header block indicated by an end node having a binary value of '010'.
그러나 헤더 블록의 저장 공간이 부족한 경우, 블록 관리부(11)는 '010'의 말단 노드의 자식 노드들 '0010' 및 '1010'을 생성하고, 생성된 자식 노드들이 가리키는 플래시 메모리(20) 내의 위치에 2개의 새로운 헤더 블록을 생성한다. 노드 '010'이 가리켰던 헤더 블록에 저장되어 있던 객체 헤더들과 새롭게 생성되었던 객체 헤더는 2개의 새로운 헤더 블록에 나누어 저장된다. '010'이 가리켰던 헤더 블록은 삭제된다.However, when the storage space of the header block is insufficient, the
한편, 노드 '10'이 가리키는 헤더 블록은 플래시 메모리에 존재하지 않는다. 후술하는 바와 같이, 노드 '10'의 자식 노드들 '010' 및 '110'이 생성되면서 노드 '10'이 가리키는 헤더 블록이 삭제되기 때문이다.Meanwhile, the header block indicated by the node '10' does not exist in the flash memory. As will be described later, the header blocks indicated by the node '10' are deleted while the child nodes '010' and '110' of the node '10' are generated.
이와 같은 방식으로 이진 트리를 구성하면, 동일한 파일 ID를 갖는 객체 헤더들은 모두 동일한 헤더 블록에 저장된다. 따라서 삭제 대상 플래시 파일과 관련된 객체 헤더가 저장되어 있는 하나의 헤더 블록만 상기 이진 트리 규칙에 따라 찾아내면 되기 때문에, 신속한 탐색 및 삭제가 보장된다.By constructing a binary tree in this way, all object headers with the same file ID are stored in the same header block. Therefore, only one header block in which the object header associated with the flash file to be deleted needs to be found according to the binary tree rule, thereby ensuring fast searching and deleting.
이하에서는, 이진값 "X"를 갖는 말단 노드를 "말단 노드 X"로 표시하고, 말 단 노드 X가 가리키는 헤더 블록을 "헤더 블록 X"로 표시한다.In the following description, an end node having a binary value "X" is represented by "end node X", and a header block indicated by the end node X is represented by "header block X".
2. 파일의 생성/변경에 따른 헤더 블록의 할당 처리2. Header block allocation process according to file creation / modification
도 3을 참조하여, 새롭게 생성된 객체 헤더를 대응하는 헤더 블록에 할당하는 처리를 설명한다. 메모리 컨트롤러(30)는, 새롭게 생성된 플래시 파일의 저장 명령에 응답하여, 하기의 "OBJECT_HEADER_ADD 연산 알고리즘"을 실행시켜 헤더 블록의 할당 처리를 수행한다. 이 알고리즘은 새로운 파일이 생성되거나 기존의 파일이 변경될 때 발생한다.Referring to Fig. 3, the process of assigning the newly generated object header to the corresponding header block will be described. The
[OBJECT_HEADER_ADD 연산 알고리즘][OBJECT_HEADER_ADD arithmetic algorithm]
도 2와 같이 이진 트리가 구성되어 있는 상태에서, 파일 ID가 "11010010"인 파일을 생성하려고 할 때, 상기 알고리즘은 다음과 같은 순서로 실행된다. 파일 ID "11010010"인 파일의 데이터는 암호화되어 있고, 복호화 키 및 파일 ID는 그 파일의 객체 헤더에 포함되어 있다.In the state where the binary tree is constructed as shown in FIG. 2, when the file having the file ID of "11010010" is to be generated, the algorithm is executed in the following order. The data of the file having the file ID "11010010" is encrypted, and the decryption key and the file ID are included in the object header of the file.
(1) 생성하려는 파일의 파일 ID "11010010"을 얻는다.(1) Obtain the file ID "11010010" of the file to be created.
(2) 도 3의 (a): 노드의 깊이가 n이고, 파일 ID의 n개의 LSB와 동일한 이진값을 갖는 말단 노드를 탐색한다. 이 탐색은 루트 노드(NULL)에서 시작하여, 말단 노드가 발견될 때까지 파일 ID의 LSB값의 순서대로 트리의 노드를 따라간다. (2) Fig. 3 (a): The end node having a depth of n and having a binary value equal to n LSBs of a file ID is searched for. This search starts at the root node (null) and follows the nodes of the tree in the order of the LSB value of the file ID until the end node is found.
파일 ID가 "11010010"인 경우, 노드의 깊이가 1인 노드 중에서 파일 ID의 1개의 LSB인 '0'과 일치하는 이진값을 갖는 노드 '0'이 먼저 탐색된다. 노드 '0'은 아직 말단 노드가 아니므로, 노드 '0'의 자식 노드들 중에서, 파일 ID의 2개의 LSB인 '10'과 일치하는 이진값을 갖는 노드 '10'이 탐색된다. 노드 '10' 역시 아직 말단 노드가 아니므로, 노드 '10'의 자식 노드들 중에서, 파일 ID의 3개의 LSB인 '010'과 일치하는 이진값을 갖는 노드 '010'이 탐색된다. 노드 '010'은 자식 노드를 갖지 않으므로 파일 ID "11010010"에 대한 말단 노드가 된다.When the file ID is "11010010", the node '0' having a binary value matching '0' which is one LSB of the file ID among the nodes having a node depth of 1 is searched first. Since node '0' is not yet an end node, among the child nodes of node '0', node '10' having a binary value matching two LSBs of file ID '10' is searched for. Since the node '10' is not yet an end node, among the child nodes of the node '10', the node '010' having a binary value matching the three LSBs of the file ID '010' is searched for. Node '010' has no child nodes and thus becomes an end node for file ID "11010010".
(3) (2)에서 발견된 말단 노드 010이 가리키는 헤더 블록 010에 새로운 객체 헤더가 들어갈 공간이 있는지 확인한다. 빈 공간이 있다면 파일 ID "11010010"인 파일의 객체 헤더를 헤더 블록 010에 저장하고 연산을 끝낸다.(3) Check whether there is space for the new object header in
(4) 도 3의 (b): 만약 빈 공간이 없다면 헤더 블록 010을 DRAM에 복사한다. DRAM에 복사된 헤더 블록 010은 플래시 메모리(20)에서 삭제한다.(4) FIG. 3B: If there is no free space, the
(5) 도 3의 (c): 헤더 블록 010의 유효한 객체 헤더의 개수를 센다.(5) FIG. 3C: Count the number of valid object headers of the
(6) 도 3의 (c): (5)의 계산 결과, 유효한 객체 헤더의 수가 헤더 블록 010의 소정 페이지 수 이상(예컨대 절반 이상)이면, 말단 노드 010의 2개의 자식 노드인 말단 노드 0010 및 말단 노드 1010을 전술한 이진 트리 규칙에 따라 생성하고, 헤더 블록 0010 및 헤더 블록 1010을 플래시 메모리(20)에 할당한다(도 3의 (c)). (6) As a result of the calculation in FIG. The
(7) 도 3의 (d): 헤더 블록 010 내의 유효한 객체 헤더들 및 파일 ID가 "11010010"인 파일의 객체 헤더를 그들의 파일 ID에 따라 헤더 블록 0010 및 헤더 블록 1010에 나누어(예를 들어 절반씩) 저장한다. 즉 파일 ID의 LSB가 '0010'인 파일의 객체 헤더들은 헤더 블록 0010에 저장되고, 파일 ID의 LSB가 '1010'인 파일의 객체 헤더들은 헤더 블록 1010에 저장된다. 따라서 파일 ID "11010010"인 파일의 객체 헤더는 헤더 블록 0010에 저장된다.(7) FIG. 3D: Valid object headers in the
(8) (5)의 계산 결과, 유효한 객체 헤더의 수가 헤더 블록 010의 페이지 수의 절반을 넘지 않으면, (4)에서 삭제되었던 헤더 블록 010을 다시 플래시 메모리(20) 내에 할당하고, 헤더 블록 010에 기존의 유효한 객체 헤더들과 파일 ID "11010010"인 파일의 객체 헤더를 저장한다.(8) If the calculation result of (5) indicates that the number of valid object headers does not exceed half of the number of pages of the
(9) (4)에서 복사되었던 헤더 블록을 DRAM에서 지운다.(9) The header block copied in (4) is deleted from the DRAM.
파일의 데이터를 변경하는 경우에는, 먼저 헤더 블록에 저장되어 있던 해당 파일의 객체 헤더를 무효로 설정한다. 이어서 헤더 블록에 빈 공간이 있을 경우에는, 변경된 객체 헤더를 (3)의 과정에 의해 헤더 블록의 빈 공간에 할당하고, 헤더 블록에 빈 공간이 없을 경우에는 (5)~(8)의 과정에 의해 헤더 블록을 할당한다.When changing the data of the file, first, the object header of the file stored in the header block is set to invalid. Subsequently, if there is empty space in the header block, the changed object header is allocated to the empty space of the header block by the process of (3), and if there is no empty space in the header block, the process of (5) to (8) Allocates a header block.
3. 파일의 삭제에 따른 헤더 블록의 할당 처리3. Header Block Allocation Process According to File Deletion
도 4를 참조하여, 플래시 파일의 삭제에 따른 헤더 블록의 할당 처리를 설명한다. 메모리 컨트롤러(30)는, 플래시 메모리(20)에 저장되어 있는 특정 플래시 파일의 삭제 명령에 응답하여, 하기의 "OBJECT_HEADER_DEL 연산 알고리즘"을 실행시킨다.Referring to Fig. 4, the allocation process of the header block according to the deletion of the flash file will be described. The
상기 "OBJECT_HEADER_ADD 연산 알고리즘"에 의해 생성되었던, 파일 ID가 "11010010"인 파일을 삭제하려고 할 때, 상기 "OBJECT_HEADER_DEL 연산 알고리즘"은 다음과 같은 순서로 실행된다. 파일 ID "11010010"인 파일의 데이터는 암호화되어 있고, 복호화 키는 그 파일의 객체 헤더에 포함되어 있다. 또한, 파일 ID "11010010"의 객체 헤더는 헤더 블록 010에 저장되어 있다고 가정한다.When attempting to delete a file whose file ID is "11010010", which was generated by the "OBJECT_HEADER_ADD arithmetic algorithm", the "OBJECT_HEADER_DEL arithmetic algorithm" is executed in the following order. The data of the file with the file ID "11010010" is encrypted, and the decryption key is included in the object header of the file. In addition, it is assumed that the object header of the file ID "11010010" is stored in the
(1) 안전 삭제를 하려는 파일의 파일 ID "11010010"을 얻는다.(1) Obtain file ID "11010010" of the file to be safely deleted.
(2) 노드의 깊이가 n이고, 파일 ID의 n개의 LSB와 동일한 이진값을 갖는 말단 노드를 탐색한다. 이 탐색은 루트 노드(NULL)에서 시작하여, 말단 노드가 발견될 때까지 파일 ID의 LSB값의 순서대로 트리의 노드를 따라간다. 이 탐색에 의해 헤더 블록 010이 찾아진다.(2) Search for the end node whose node depth is n and has the same binary value as n LSBs of the file ID. This search starts at the root node (null) and follows the nodes of the tree in the order of the LSB value of the file ID until the end node is found. This search finds the
(3) 도 4의 (a): (2)에서 찾은 헤더 블록 010을 DRAM에 복사한다. DRAM에 복사된 헤더 블록 010은 플래시 메모리(20)에서 삭제된다.(3) The
(4) 도 4의 (b): DRAM 내의 헤더 블록 010에 저장되어 있는 객체 헤더들 중, 파일 ID "11010010"을 갖는 객체 헤더를 무효(INVALID)로 설정한다.(4) FIG. 4B: Among the object headers stored in the
(5) 도 4의 (c): (3)에서 삭제되었던 헤더 블록 010을 다시 플래시 메모리(20) 내에 할당하고, DRAM 내의 헤더 블록 010에 저장되어 있는 모든 유효한 객체 헤더들을 플래시 메모리(20) 내에 다시 할당된 헤더 블록 010에 저장한다.(5) (c) of FIG. 4: The
(6) (3)에서 복사되었던 헤더 블록 010을 DRAM에서 지운다.(6) The
파일 ID "11010010"의 데이터 복호화 키를 포함하고 있던 객체 헤더가 (4)에서 무효로 설정되고, (6)에서 삭제되었기 때문에, 해당 파일의 데이터가 플래시 메모리(20)에 남아 있다고 하더라도, 해당 데이터를 복구할 수 없게 된다.Since the object header containing the data decryption key of the file ID "11010010" is set invalid in (4) and deleted in (6), even if data of the file remains in the
도 5에는 본 발명의 실시예에 따른 플래시 파일 안전 삭제 방법의 흐름도가 도시되어 있다. 도 5의 (a)에 도시된 바와 같이, 플래시 파일의 데이터는 암호화되어 플래시 메모리(20)의 데이터 블록에 저장되어 있고, 그 복호화 키는 객체 헤더에 포함되어 플래시 메모리(20)의 헤더 블록에 저장되어 있다. 5 is a flowchart of a method for securely deleting a flash file according to an exemplary embodiment of the present invention. As shown in FIG. 5A, data of a flash file is encrypted and stored in a data block of the
도 5의 (b)의 흐름도에 따라 먼저, 삭제 대상인 플래시 파일의 ID를 얻는다(S110). 이어서 노드의 깊이가 n이고, 파일 ID의 n개의 LSB와 동일한 이진값을 갖는 말단 노드를 탐색한다(S120). 이 탐색은 루트 노드(NULL)에서 시작하여, 말단 노드가 발견될 때까지 파일 ID의 LSB값의 순서대로 트리의 노드를 따라간다. 단계 S120에서 찾은 말단 노드가 가리키는 헤더 블록을 DRAM에 복사하고, DRAM에 복사된 헤더 블록은 플래시 메모리(20)에서 삭제한다(S130). DRAM 내의 헤더 블록에 저장되어 있는 객체 헤더들 중, 삭제 대상 파일의 파일 ID를 갖는 객체 헤더를 무효(INVALID)로 설정한다(S140). 단계 S130에서 삭제되었던 헤더 블록을 다시 플래시 메모리(20) 내에 할당하고, DRAM 내의 헤더 블록에 저장되어 있는 모든 유효한 객체 헤더들을 플래시 메모리(20) 내에 다시 할당된 헤더 블록에 저장한다(S150). 단계 S130에서 복사되었던 헤더 블록을 DRAM에서 지운다(S160).According to the flowchart of FIG. 5B, first, an ID of a flash file to be deleted is obtained (S110). Subsequently, an end node having a depth of n and having the same binary value as n LSBs of the file ID is searched for (S120). This search starts at the root node (null) and follows the nodes of the tree in the order of the LSB value of the file ID until the end node is found. The header block indicated by the end node found in step S120 is copied to the DRAM, and the header block copied to the DRAM is deleted from the flash memory 20 (S130). Among the object headers stored in the header block in the DRAM, an object header having a file ID of a file to be deleted is set to INVALID (S140). The header block deleted in step S130 is allocated to the
도 6의 그래프는, 본 발명의 실시예에 따른 파일 안전 삭제 방법과 종래예에 따른 파일 안전 삭제 방법의 실험 결과를 보여준다.The graph of FIG. 6 shows an experimental result of a file safe deletion method according to an embodiment of the present invention and a file safe deletion method according to a conventional example.
본 발명의 실시예에서는 메모리 컨트롤러(30)가 메모리 블록을 데이터 블록과 헤더 블록으로 나누어 관리하고, 데이터 블록에는 암호화된 데이터를 저장하고 헤더 블록에는 암호화된 데이터를 복호화하는데 필요한 복호화 키를 저장한다. 동 일한 파일 ID를 갖는 플래시 파일의 객체 헤더들은 모두 동일한 헤더 블록에 저장된다. 플래시 파일에 대한 삭제 명령에 응답하여 메모리 컨트롤러(30)는 해당 파일에 대응하는 헤더 블록에 있는 객체 헤더들을 모두 삭제한다. 종래예에서는, 플래시 파일에 대한 삭제 명령에 응답하여 플래시 메모리 전체에 걸쳐 산재해있는 해당 메모리 블록들을 찾아내어 삭제한다.In the embodiment of the present invention, the
도 6의 실험 결과에 따르면, 종래예에 따른 파일 안전 삭제 방법에서는, 플래시 파일을 수정하는 빈도에 거의 정비례하여 메모리 블록의 삭제 횟수가 증가하는 반면, 본 발명의 실시예에 따른 파일 안전 삭제 방법에서는, 파일을 수정하는 빈도가 증가하더라도 메모리 블록의 삭제 횟수는 거의 증가하지 않는다. 따라서 메모리 블록의 삭제 조작에 대한 오버헤드가 상당히 큰 플래시 메모리에서 본 발명의 실시예에 따른 파일 안전 삭제 방법은 매우 유용하다.According to the experimental result of FIG. 6, in the file safe deletion method according to the conventional example, the number of deletions of the memory block increases in direct proportion to the frequency of modifying the flash file, whereas in the file safe deletion method according to the embodiment of the present invention, However, even if the frequency of modifying a file increases, the number of deletions of a memory block rarely increases. Therefore, the file safe erase method according to the embodiment of the present invention is very useful in a flash memory having a large overhead for the erase operation of the memory block.
앞서 설명한 본 발명의 실시예는 구체적인 구성과 도면에 의해 특정되었지만, 그러한 구체적인 실시예가 본 발명의 범위를 제한하는 것이 아니라는 점을 명확히 하고자 한다. 따라서, 본 발명은, 본 발명의 본질을 벗어나지 않는 다양한 변형예와 그 균등물들을 포함하는 것으로 이해되어야 한다. Although the embodiments of the present invention described above have been specified by specific configurations and drawings, it is intended to be clear that such specific embodiments do not limit the scope of the present invention. Accordingly, it is to be understood that the invention includes various modifications and equivalents thereof without departing from the spirit of the invention.
예를 들어, 파일 ID의 n개의 MSB(Most Significant Bits)에 관하여 이진 트리를 구성하는 것도 본 발명의 범위에 속한다. 이 경우, 왼쪽 자식 노드에는 부모 노드의 이진값의 오른쪽에 0이 붙은 이진값이 할당되고, 오른쪽 자식 노드에는 부모 노드의 이진값의 오른쪽에 1이 붙은 이진값이 할당된다. 이때 자식 노드의 좌우 위치가 서로 바뀌어도 됨은 물론이다.For example, constructing a binary tree with respect to n Most Significant Bits (MSBs) of a file ID is also within the scope of the present invention. In this case, the left child node is assigned a binary value with zeros to the right of the parent node's binary value, and the right child node is assigned a binary value with ones to the right of the parent node's binary value. At this time, the left and right positions of the child nodes may be interchanged.
도 1은 본 발명의 실시예에 따른 플래시 메모리 장치의 구성도.1 is a block diagram of a flash memory device according to an embodiment of the present invention.
도 2는 헤더 블록 탐색에 이용되는 이진 트리의 구조도.2 is a structural diagram of a binary tree used for header block searching.
도 3a 내지 도 3d는 플래시 파일의 생성/변경 시의 헤더 블록의 할당을 설명하기 위한 개념도.3A to 3D are conceptual views illustrating the allocation of header blocks when creating / modifying flash files.
도 4a 내지 도 4c는 플래시 파일의 삭제 시의 헤더 블록의 할당을 설명하기 위한 개념도.4A to 4C are conceptual views for explaining allocation of header blocks when deleting a flash file.
도 5는 본 발명의 실시예에 따른 플래시 파일 안전 삭제 방법의 흐름도.5 is a flowchart of a method for securely deleting a flash file according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 실험 결과를 보여주는 그래프.6 is a graph showing experimental results according to an embodiment of the present invention.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/256,331 US8117377B2 (en) | 2007-12-27 | 2008-10-22 | Flash memory device having secure file deletion function and method for securely deleting flash file |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070138650 | 2007-12-27 | ||
KR20070138650 | 2007-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090071348A true KR20090071348A (en) | 2009-07-01 |
KR100941368B1 KR100941368B1 (en) | 2010-02-11 |
Family
ID=41322776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080091545A KR100941368B1 (en) | 2007-12-27 | 2008-09-18 | Flash memory device having secure file deletion function and method for securely deleting flash file |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100941368B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012144717A1 (en) * | 2011-04-18 | 2012-10-26 | 고려대학교 산학협력단 | Apparatus and method for controlling a flash memory for safe deletion |
US20200387633A1 (en) * | 2019-06-07 | 2020-12-10 | Lenovo (Singapore) Pte. Ltd. | Apparatus, method, and program product for securing personal information in a file |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140056657A (en) | 2012-10-30 | 2014-05-12 | 삼성전자주식회사 | Computer system having main memory and control method thereof |
KR101284465B1 (en) * | 2013-03-26 | 2013-07-09 | 서울과학기술대학교 산학협력단 | Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium |
KR20240020846A (en) * | 2022-08-09 | 2024-02-16 | 박종성 | Terminal Apparatus and Method for Deleting Data Unrecoverably Using the Same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100251636B1 (en) | 1997-04-10 | 2000-05-01 | 윤종용 | Memory device for connecting in a accordance with scsi |
US5832493A (en) | 1997-04-24 | 1998-11-03 | Trimble Navigation Limited | Flash file management system |
KR100703680B1 (en) | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | Flash file system |
KR20040044023A (en) * | 2002-11-20 | 2004-05-27 | 엘지엔시스(주) | Apparatus and method for managing data recorded on memory |
-
2008
- 2008-09-18 KR KR1020080091545A patent/KR100941368B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012144717A1 (en) * | 2011-04-18 | 2012-10-26 | 고려대학교 산학협력단 | Apparatus and method for controlling a flash memory for safe deletion |
US20200387633A1 (en) * | 2019-06-07 | 2020-12-10 | Lenovo (Singapore) Pte. Ltd. | Apparatus, method, and program product for securing personal information in a file |
Also Published As
Publication number | Publication date |
---|---|
KR100941368B1 (en) | 2010-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117377B2 (en) | Flash memory device having secure file deletion function and method for securely deleting flash file | |
US8250380B2 (en) | Implementing secure erase for solid state drives | |
US9043614B2 (en) | Discarding sensitive data from persistent point-in-time image | |
US20230195654A1 (en) | Namespace encryption in non-volatile memory devices | |
US7856451B2 (en) | Selective file erasure using metadata modifications | |
US8762431B2 (en) | System and method for secure erase in copy-on-write file systems | |
US20080201544A1 (en) | Storage system | |
JP2001188701A (en) | Accessing device for semiconductor memory card and computer readable recording medium and initializing method and semiconductor memory card | |
US9558128B2 (en) | Selective management of security data | |
KR20080085574A (en) | Apparatus and method for garbage collection of non-volatile memory | |
KR100941368B1 (en) | Flash memory device having secure file deletion function and method for securely deleting flash file | |
CN106886370B (en) | data safe deletion method and system based on SSD (solid State disk) deduplication technology | |
CN104794024A (en) | Data recovery method | |
JP2015172959A (en) | Access method for flash memory | |
CN104751076A (en) | Method for recovering disk data | |
KR101467227B1 (en) | Method for managing encrypted files based on password with secure file deleting function suitable for ssd and system for managing encrypted files using the same | |
Li et al. | TASecure: Temperature-aware secure deletion scheme for solid state drives | |
US9671964B2 (en) | Method of securely erasing a non-volatile semiconductor mass memory, computer system, and computer program product | |
KR101648262B1 (en) | Method for managing encrypted files based on password with secure file deleting function suitable for ssd and system for managing encrypted files using the same | |
TWI775284B (en) | Memory system, its control method and information processing system | |
Tiwari et al. | Secure Wipe Out in BYOD Environment | |
US20180088846A1 (en) | Multi-user dynamic storage allocation and encryption | |
Khouzani et al. | Architecting data placement in SSDs for efficient secure deletion implementation | |
Hsieh et al. | PRESS: Persistence Relaxation for Efficient and Secure Data Sanitization on Zoned Namespace Storage | |
CN104794062A (en) | Method for reading magnetic disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |