KR100608774B1 - Error processing method for mobile phone file system - Google Patents

Error processing method for mobile phone file system Download PDF

Info

Publication number
KR100608774B1
KR100608774B1 KR1020040028787A KR20040028787A KR100608774B1 KR 100608774 B1 KR100608774 B1 KR 100608774B1 KR 1020040028787 A KR1020040028787 A KR 1020040028787A KR 20040028787 A KR20040028787 A KR 20040028787A KR 100608774 B1 KR100608774 B1 KR 100608774B1
Authority
KR
South Korea
Prior art keywords
unit block
data
file system
valid
changed
Prior art date
Application number
KR1020040028787A
Other languages
Korean (ko)
Other versions
KR20050103579A (en
Inventor
이승연
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040028787A priority Critical patent/KR100608774B1/en
Publication of KR20050103579A publication Critical patent/KR20050103579A/en
Application granted granted Critical
Publication of KR100608774B1 publication Critical patent/KR100608774B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 휴대폰의 플래시 메모리용 파일 시스템에서, 전체 파일 시스템 영역을 에러 처리를 위한 임시 데이터를 쓸 수 있는 공간으로 활용하는 기술에 관한 것이다. 이러한 본 발명은, 파일의 최소 단위 블록에 개별적인 수정번호를 부여한 후 상기 단위 블록 내의 데이터가 변경되는지 확인하는 제1과정과; 상기 단위 블록 내의 데이터가 변경되어 다른 단위 블록으로 옮길 때, 상기 수정번호를 증가시키고, 상기 다른 단위 블록에 성공적으로 기록이 되면 유효하다는 표시를 남기는 제2과정과; 상기 단위 블록을 참조하는 동작이 발생될 때, 유효한 단위 블록들 중에서 상기 수정번호의 값이 가장 큰 단위 블록을 근거로 데이터를 복구하는 제3과정에 의해 달성된다. The present invention relates to a technique for utilizing the entire file system area as a space for writing temporary data for error processing in a flash memory file system of a mobile phone. The present invention provides a first process of identifying whether data in the unit block is changed after assigning an individual modification number to a minimum unit block of a file; A second step of incrementing the modification number when the data in the unit block is changed and moving to another unit block, and leaving an indication that the data is valid when the data is successfully written to the other unit block; When an operation of referring to the unit block is generated, a third process of recovering data is performed based on the unit block having the largest value of the modification number among valid unit blocks.

Description

휴대폰 파일 시스템의 에러 처리방법{ERROR PROCESSING METHOD FOR MOBILE PHONE FILE SYSTEM}ERROR PROCESSING METHOD FOR MOBILE PHONE FILE SYSTEM}

도 1은 본 발명에 의한 휴대폰 파일 시스템의 에러 처리방법의 신호 흐름도.1 is a signal flowchart of an error processing method of a mobile phone file system according to the present invention;

본 발명은 휴대폰의 플래시 메모리용 파일 시스템에서 예고 없이 전원이 차단되는 경우에 대한 에러처리 기술에 관한 것으로, 특히 플래시 메모리용 파일 시스템에서 전체 파일 시스템 영역을 임시 데이터를 쓸 수 있는 공간으로 활용할 수 있도록 한 휴대폰 파일 시스템의 에러 처리방법에 관한 것이다.The present invention relates to an error handling technique for a case where power is cut off without a notice in a flash memory file system of a mobile phone. In particular, the entire file system area of a flash memory file system can be used as a space for writing temporary data. An error handling method of a mobile phone file system.

일반적으로, 플래시 메모리는 특성상 한번 쓴 영역에 다시 쓰기를 못하게 되어 있다. 따라서, 휴대폰의 플래시 메모리용 파일 시스템(예: journaling system 또는 logging system)의 경우 임시 저장 공간을 마련해 두고, 이 곳에 새로 기록될 데이터를 1차적으로 기록한 후 그 내용을 실제 저장공간에 재 기록하도록 되어 있었다. In general, a flash memory cannot be rewritten in an area that has been written once. Therefore, in case of file system for flash memory of mobile phone (eg journaling system or logging system), temporary storage space is prepared, and newly recorded data is first recorded in this place and the contents are re-recorded in actual storage space. there was.

이와 같이 종래의 파일 관리 시스템(DFMS)에 있어서는 임시 저장 공간 만큼 의 공간을 별도로 마련해 두어야 하므로 실제 파일 시스템을 위해 사용할 공간이 줄어들게 되고, 복잡한 처리 루틴으로 인하여 시스템 코드의 분석 및 보수 유지에 어려움이 있었다. As such, in the conventional file management system (DFMS), the space for the temporary file space must be prepared separately, thereby reducing the space to be used for the actual file system, and it is difficult to analyze and maintain the system code due to complicated processing routines. .

따라서, 본 발명의 목적은 플래시 메모리 상에서 유효한 값이 기록되기 전에 임시로 데이터를 기록하되, 플래시 메모리용 파일 시스템에서 전체 파일 시스템 영역을 임시 데이터를 기록할 수 있는 공간으로 활용하도록 하는데 있다.Accordingly, an object of the present invention is to temporarily record data before a valid value is written on the flash memory, but utilize the entire file system area as a space for recording temporary data in the flash memory file system.

본 발명에 의한 휴대폰 파일 시스템의 에러 처리방법은, 파일을 구성하는 최소 단위인 블록(예: 클러스터)에 개별적인 수정번호를 부여한 후 그 블록 내의 데이터가 변경되는지 확인하는 제1과정과; 상기 확인 결과 블록 내의 데이터가 변경되어 그 내용을 다른 블록으로 옮길 때, 상기 수정번호를 증가시키고, 그 블록이 성공적으로 기록되면 유효하다는 표시를 남기는 제2과정과; 상기 블록을 참조하는 동작이 발생될 때 유효한 블록 중에서 상기 수정번호의 값이 가장 큰 블록을 근거로 데이터를 복구하는 제3과정으로 이루어지는 것으로, 이와 같이 이루어지는 본 발명의 에러 처리과정을 첨부한 도 1을 참조하여 상세히 설명하면 다음과 같다.An error processing method of a mobile phone file system according to the present invention includes: a first process of assigning an individual modification number to a block (for example, a cluster) which is the minimum unit constituting a file, and then checking whether data in the block is changed; A second step of incrementing the modification number when the data in the block is changed and moving the contents to another block, and leaving an indication that the block is valid if the block is successfully recorded; A third process of recovering data based on a block having the largest value of the modification number among valid blocks when an operation referring to the block occurs is shown in FIG. 1. When described in detail with reference to as follows.

본 발명에 의한 데이터 처리방법 중 플래시 메모리 상에서 유효한 값이 기록되기 전에 임시로 데이터를 기록하는 것은 종래와 동일하다. 하지만, 종래의 경우 임시 데이터를 특정 영역에 한정적으로 기록하는 것에 비하여, 본 발명에서는 전체 파일 시스템 영역(예: 클러스터)을 임시 데이터를 기록할 수 있는 공간으로 활용하는 것이 다른 점이다. In the data processing method according to the present invention, data is temporarily written before a valid value is written on the flash memory. However, in the conventional case, the present invention utilizes the entire file system area (for example, a cluster) as a space for recording temporary data, compared to recording temporary data in a specific area.

먼저, 파일을 구성하는 최소 단위인 블록에 개별적인 수정(Revision) 번호를 부여한다.(S1)First, an individual revision number is assigned to a block, which is the minimum unit constituting the file. (S1)

이후, 상기 블록 내의 데이터가 변경되는지 확인하여 변경되는 것으로 판명되면 그 변경되는 내용을 다른 블록으로 옮길 때, 클러스터 상의 상기 수정번호를 증가시키는 방식으로 히스토리(history)를 남긴다.(S2,S3) Thereafter, if it is determined that the data in the block is changed and is found to be changed, a history is left in such a manner as to increase the revision number on the cluster when the changed content is moved to another block. (S2, S3)

이때, 상기 블록이 성공적으로 기록되는지 확인하여 성공적으로 기록된 것으로 판명되면 그 블록이 유효(valid)하다는 표시를 남긴다.(S4-S6)At this time, it is checked whether the block is successfully written, and if it is found to be successfully written, an indication that the block is valid is left. (S4-S6)

이후, 플래시 메모리의 오류 또는 전원이 차단되는 등의 이유로 인하여, 상기 블록을 참조하는 동작이 발생되는지 확인하여 그 동작이 발생된 것으로 판명되면, 플래시 메모리의 각각의 클러스터 상에 존재하는 유효한 블록 중에서 상기 수정번호의 값이 가장 큰 블록을 최신의 블록으로 판단한 다음 이를 근거로 데이터를 복구하게 된다.(S7,S8)Thereafter, if an operation referring to the block occurs and it is determined that the operation occurs due to an error of the flash memory or the power is cut off, the valid block existing on each cluster of the flash memory is determined. The block with the largest revision number is determined to be the latest block, and then data is recovered based on the block. (S7, S8)

이하, 본 발명에 의한 파일 시스템의 에러 처리방법의 일실시 구현예를 설명한다.Hereinafter, an embodiment of an error processing method of a file system according to the present invention will be described.

일반적으로, 플래시 메모리의 특정 영역에 어떤 값을 기록하거나 읽을 때에는 일련의 번호로 된 주소를 사용하게 된다. 예를 들어, 1000 번지에 'A'(1 byte) 값이 기록되어 있는 경우, 이 값을 읽을 때에는 그대로 1000 번지에서 읽어오게 되지만, 이를 'B' 값으로 변경하고자 할 때에는 변경된 값을 1000 번지에 기록하지 못하고 다른 번지 예를 들어, 1001 번지에 기록하게 된다. 참고로, 플래시 메모리의 하나의 어드레스에 1 byte의 데이터를 기록할 수 있다. In general, a series of numbered addresses are used to write or read a value in a specific area of flash memory. For example, if 'A' (1 byte) value is recorded at address 1000, when reading this value, it reads from address 1000 directly, but if you want to change it to 'B' value, change the changed value to address 1000. If you do not record, you will write to another address, for example, 1001. For reference, one byte of data can be written to one address of the flash memory.

그런데, 본 발명에 의한 파일 관리 시스템에서는 1 byte 단위로 데이터를 관리하지 않고, 1 Kbyte(1024 bytes)를 하나의 묶음으로 해서 관리한다. 즉, 1 byte의 내용을 변경할 때 변경된 내용을 바로 다음 번지에 기록하는 것이 아니라 1024 번지만큼 지난 곳에 기록한다.By the way, the file management system according to the present invention does not manage data in units of 1 byte, but manages 1 Kbyte (1024 bytes) as a bundle. In other words, when changing the contents of 1 byte, the changed contents are not recorded at the next address but as far as 1024 addresses.

예를 들어, 1000 번지에 'A'가 기록되어 있고 2024 번지에 'B'가 기록된다. 이와 같은 기본 단위를 클러스터(cluster)라고 하는데, 본 발명에서는 이 클러스터 내의 값이 한번 바뀔 때마다 해당되는 수정본을 해당 클러스터 상에 기록해 두었다가(상기 예의 경우, 'A'가 있는 클러스터에는 수정본이 1로 기록되고, 'B'가 있는 클러스터에는 수정본이 2로 기록됨) 나중에 목적한 값을 정상적으로 기록하지 못하는 경우 이전의 수정본을 찾아 값을 복구시키게 된다. For example, 'A' is recorded at 1000 and 'B' is recorded at 2024. Such a basic unit is called a cluster. In the present invention, whenever a value in the cluster changes, a corresponding revision is recorded on the cluster (in the example, the revision is 1 for a cluster with 'A'). The revision is recorded as 2 in the cluster with 'B'). If the desired value is not recorded later, the previous revision is found and the value is restored.

만약, 상기 'A' 값을 'B' 값으로 변경하는 도중에 플래시 메모리 상의 오류가 발생하거나 전원이 차단되어 'B'값을 정상적으로 기록하지 못하면, 이에 대한 수정본의 정보가 존재하지 않는다. 하지만, 다음에 상기 B 값을 읽으려 할 때 수정본이 가장 큰 값인 'A'를 읽어오게 되므로 최소한의 복구가 가능하게 된다. If an error on the flash memory occurs or the power is cut off while the 'A' value is changed to the 'B' value, and the 'B' value is not normally recorded, the information on the modified version does not exist. However, the next time the B value is read, the modified version reads 'A', which is the largest value, so that the minimum recovery is possible.

이상에서 상세히 설명한 바와 같이 본 발명은 플래시 메모리 상에서 유효한 값이 기록되기 전에 임시로 데이터를 기록하되, 플래시 메모리용 파일 시스템에서 전체 파일 시스템 영역을 임시 데이터를 기록할 수 있는 공간으로 활용하도록 함으로써, 별도의 임시 저장공간을 필요로 하지 않게 되어 파일 시스템으로 사용할 공간이 많이 확보되고, 처리 루틴이 간단하게 되어 시스템의 코드 분석이 용이하게 되고 유지보수가 편리하게 되는 효과가 있다. As described in detail above, the present invention temporarily records data before a valid value is written on the flash memory, but utilizes the entire file system area as a space for recording temporary data in the flash memory file system. It does not require a temporary storage space of the file system to secure a lot of space to use, the processing routine is simple, so that the code analysis of the system is easy and easy to maintain the effect.

Claims (10)

파일의 최소 단위 블록에 개별적인 수정번호를 부여한 후 상기 단위 블록 내의 데이터가 변경되는지 확인하는 제1과정과;A first step of identifying whether data in the unit block is changed after assigning an individual modification number to a minimum unit block of a file; 상기 단위 블록 내의 데이터가 변경되어 다른 단위 블록으로 옮길 때, 상기 수정번호를 증가시키고, 상기 다른 단위 블록에 성공적으로 기록이 되면 유효하다는 표시를 남기는 제2과정과;A second step of incrementing the modification number when the data in the unit block is changed and moving to another unit block, and leaving an indication that the data is valid when the data is successfully written to the other unit block; 상기 단위 블록을 참조하는 동작이 발생될 때, 유효한 단위 블록들 중에서 상기 수정번호의 값이 가장 큰 단위 블록을 근거로 데이터를 복구하는 제3과정으로 이루어지는 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.And a third process of recovering data based on the unit block having the largest value of the revised number among valid unit blocks when an operation of referring to the unit block occurs. . 제1항에 있어서, 상기 단위 블록은 클러스터인 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.The method of claim 1, wherein the unit block is a cluster. 제1항에 있어서, 상기 단위 블록의 용량은 1 kbyte인 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.The method of claim 1, wherein the unit block has a capacity of 1 kbyte. 제1항에 있어서, 상기 제2과정이 유효하다는 표시는 해당 클러스터 상에 남기는 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.The method according to claim 1, wherein the indication that the second process is valid is left on the cluster. 제1항에 있어서, 상기 제3과정에서 상기 단위 블록을 참조하는 동작은 플래시 메모리의 오류 또는 전원이 차단될 때 발생되는 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.The method of claim 1, wherein the operation of referring to the unit block in the third process occurs when an error or power of the flash memory is cut off. 번호가 부여된 단위 블록 내의 데이터가 변경되는지 확인하는 과정과;Checking whether data in the numbered unit block is changed; 상기 데이터가 변경되어 상기 단위 블록과 다른 단위 블록에 기록이 되면 상기 번호를 증가하는 과정을 반복하는 과정과;Repeating the step of increasing the number when the data is changed and written in a unit block different from the unit block; 상기 데이터가 리드가 되면, 상기 증가된 번호들 중에서 가장 큰 번호에 해당되는 데이터를 복구하는 과정으로 이루어지는 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리방법.And when the data is read, recovering data corresponding to the largest number among the increased numbers. 제6항에 있어서, 상기 단위 블록은The method of claim 6, wherein the unit block 클러스터인 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리 방법.Error handling method of a mobile phone file system, characterized in that the cluster. 제6항에 있어서, 상기 단위 블록의 용량은The method of claim 6, wherein the capacity of the unit block 1 kbyte인 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리 방법.An error handling method of a mobile phone file system, characterized in that 1 kbyte. 제6항에 있어서, 상기 반복 과정은The method of claim 6, wherein the iterative process 상기 데이터가 상기 다른 단위 블록에 성공적으로 기록되는지 판단하고 유효하다는 표시를 남기는 과정을 포함하는 것을 특징으로 하는 휴대폰 파일 시스템의 에러 처리 방법.Determining whether the data is successfully recorded in the other unit block and leaving an indication that the data is valid. 제6항에 있어서, 상기 복구된 데이터는The method of claim 6, wherein the recovered data is 상기 다른 단위 블록에 성공적으로 기록된 데이터 중에서 상기 번호가 가장 큰 데이터인 것을 특징으로 하는 휴대폰 파일 시스템 에러 처리 방법.And wherein the number is the largest data among the data successfully recorded in the other unit block.
KR1020040028787A 2004-04-26 2004-04-26 Error processing method for mobile phone file system KR100608774B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040028787A KR100608774B1 (en) 2004-04-26 2004-04-26 Error processing method for mobile phone file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040028787A KR100608774B1 (en) 2004-04-26 2004-04-26 Error processing method for mobile phone file system

Publications (2)

Publication Number Publication Date
KR20050103579A KR20050103579A (en) 2005-11-01
KR100608774B1 true KR100608774B1 (en) 2006-08-08

Family

ID=37281408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040028787A KR100608774B1 (en) 2004-04-26 2004-04-26 Error processing method for mobile phone file system

Country Status (1)

Country Link
KR (1) KR100608774B1 (en)

Also Published As

Publication number Publication date
KR20050103579A (en) 2005-11-01

Similar Documents

Publication Publication Date Title
US5699549A (en) Memory card having a card management information area for improved format capability and recording, reproducing, and erasing methods therefor
US5864655A (en) Managing removable media in raid and rail environments
US7725646B2 (en) Method of using a flash memory for a circular buffer
JPH1139801A (en) Method for recording information
CN113220239A (en) Erasing and writing method, device and equipment for flash storage and readable storage medium
CA2575418A1 (en) Information recording medium, recording/ reproducing apparatus, and recording/ reproducing method
CN111966281B (en) Data storage device and data processing method
JP4347707B2 (en) Information recording medium formatting method and information recording medium
US20090164869A1 (en) Memory architecture and configuration method thereof
KR100954603B1 (en) A log file of file system and method for recovering file system
KR101248539B1 (en) A drive indicating mechanism for removable media
KR100608774B1 (en) Error processing method for mobile phone file system
US5048004A (en) Optical recording medium recording and reproducing device
JP2003036209A (en) Nonvolatile memory and data rewriting method thereof
CN115328851A (en) Data protection method, device, equipment and medium
CN112395260B (en) Data storage method and medium
US7840541B2 (en) Information recording method and information recording/reproduction device
CN106598769A (en) Method and device for checking EMMC (embedded multi media card) burning file
CN111414280A (en) Data backup system and method for NTFS (New technology File System)
JP2010256944A (en) Device, program and method for maintaining nand type flash memory
CN112540882A (en) Flash memory device detection system and flash memory device detection method
CN111949198A (en) Bad block management method and device and storage equipment
CN111090396A (en) File processing method and device and electronic equipment
CN116610269B (en) Data storage method, device, storage medium and controller
CN112286718B (en) Method for restoring deleted data after enabling TRIM command by solid state disk controlled by PS3111

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: 20130624

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee