KR20000008113A - Method of preventing data loss in a secondary memory - Google Patents
Method of preventing data loss in a secondary memory Download PDFInfo
- Publication number
- KR20000008113A KR20000008113A KR1019980027795A KR19980027795A KR20000008113A KR 20000008113 A KR20000008113 A KR 20000008113A KR 1019980027795 A KR1019980027795 A KR 1019980027795A KR 19980027795 A KR19980027795 A KR 19980027795A KR 20000008113 A KR20000008113 A KR 20000008113A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- buffer
- flash memory
- secondary memory
- Prior art date
Links
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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]
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
본 발명은 보조 기억 장치에서의 데이터 손실을 방지하는 방법에 관한 것으로, 특히 데이터를 라이트하는 도중에 전원 이상이 발생하더라도 저장되어 있는 데이터를 보호하는 방법에 관한 것이다.The present invention relates to a method of preventing data loss in an auxiliary memory device, and more particularly, to a method of protecting stored data even when a power failure occurs while writing data.
일반적으로 보조 기억 장치는 대용량의 데이터를 자유롭게 리트/라이트할 수 있으며, 전원을 차단하더라도 데이터를 보존할 수 있는 비휘발성의 특성을 가진다. 이러한 보조 기억 장치로 현재 많이 사용되고 있는 하드 디스크가 있다. 하지만, 요즘 대용량의 데이터를 쉽게 지우고 쓸 수 있는 소자가 많이 나오고 있으며, 플래쉬 메모리가 그 대표적인 소자이다.In general, the auxiliary storage device can freely read / write a large amount of data, and has a nonvolatile characteristic that can preserve data even when the power supply is cut off. There is a hard disk that is widely used as such an auxiliary storage device. However, there are many devices that can easily erase and write large amounts of data, and flash memory is a typical device.
이러한 보조 기억 장치는 호스트 컴퓨터의 라이트 명령에 의하여 데이터를 저장하며, 리드 명령에 의해 데이터를 꺼내올 수 있다. 이중에서 데이터를 라이트하는 경우에는 기존의 데이터를 삭제하고, 새로운 데이터를 저장하는 것이기 때문에 라이트 동작중에 전원 이상이 발생하는 경우에 종래 보조 기억 장치는 저장되어 있는 데이터가 손상되는 문제점이 발생한다.Such an auxiliary memory device stores data by a write command of a host computer, and can retrieve data by a read command. In the case of writing data, existing data is deleted and new data is stored. Thus, when a power failure occurs during a write operation, a conventional auxiliary memory device may have a problem in that stored data is damaged.
따라서, 본 발명의 목적은 보조 기억 장치에 데이터를 라이트하는 도중에 전원 이상이 발생되더라도 저장되어 있는 데이터를 보호하는 방법을 제공함에 있다.Accordingly, it is an object of the present invention to provide a method for protecting stored data even when a power failure occurs while writing data to the auxiliary storage device.
이러한 목적을 달성하기 위한 본 발명은 플래쉬 메모리를 저장 매체로 사용하는 보조 기억 장치에서 비휘발성 메모리를 캐쉬 메모리로 사용하고, 데이터를 라이트할때에 상기 플래쉬 메모리에 직접 쓰지 않고, 상기 캐쉬 메모리에 일단 라이트하며 임시 버퍼에 데이터를 저장한 후 전원 온시에 상기 캐쉬 메모리 또는 상기 임시 버퍼에 저장된 데이터를 플래쉬 메모리에 백업하는 것을 특징으로 한다.In order to achieve the above object, the present invention uses a nonvolatile memory as a cache memory in an auxiliary storage device using a flash memory as a storage medium, and writes the data to the cache memory instead of writing directly to the flash memory when writing data. After writing, the data is stored in the temporary buffer and the data stored in the cache memory or the temporary buffer is backed up to the flash memory at power-on.
도 1은 본 발명이 적용되는 보조 기억 장치의 구성도.1 is a block diagram of an auxiliary memory device to which the present invention is applied.
도 2는 본 발명에 따른 보조 기억 장치에 데이터를 라이트하는 과정을 나타내는 도면.2 is a diagram illustrating a process of writing data to an auxiliary storage device according to the present invention;
도 3은 본 발명에 따른 보조 기억 장치에서 데이터를 백업하는 과정을 나타내는 도면.3 is a diagram illustrating a process of backing up data in an auxiliary storage device according to the present invention;
도 4는 본 발명에 따른 보조 기억 장치에 전원이 공급될 때의 동작을 나타내는 도면.4 is a diagram showing an operation when power is supplied to the auxiliary memory device according to the present invention;
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또한, 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명이 적용되는 보조 기억 장치의 구성도이다.1 is a configuration diagram of an auxiliary memory device to which the present invention is applied.
도 1을 참조하면, 보조 기억 장치100은 플래쉬 메모리101과 제1버퍼102와 비휘발성 메모리103과 제2버퍼104로 구성되며, 호스트컴퓨터110과 연결된다. 플래쉬 메모리101은 보조 기억 장치100의 주저장매체로서, 데이터를 저장한다. 제1버퍼102는 임시 버퍼로서 비휘발성 메모리103의 데이터를 임시 저장한다. 비휘발성 메모리103은 캐쉬 메모리로서 스태틱램(static RAM)으로 구현될 수 있으며, 플래쉬 메모리101에 데이터를 라이트하기 전에 우선 데이터를 라이트한다. 제2버퍼104는 송수신버퍼로서, 호스트컴퓨터110과 보조 기억 장치100간의 데이터를 송수신한다.Referring to FIG. 1, the auxiliary memory device 100 includes a flash memory 101, a first buffer 102, a nonvolatile memory 103, and a second buffer 104, and is connected to a host computer 110. The flash memory 101 is a main storage medium of the auxiliary storage device 100 and stores data. The first buffer 102 temporarily stores data of the nonvolatile memory 103 as a temporary buffer. The nonvolatile memory 103 may be implemented as a static RAM as a cache memory, and first writes data before writing the data to the flash memory 101. The second buffer 104 is a transmission / reception buffer, which transmits and receives data between the host computer 110 and the auxiliary storage device 100.
도 2는 본 발명에 따른 보조 기억 장치로 데이터를 라이트하는 과정을 나타내는 도면이다.2 is a diagram illustrating a process of writing data to an auxiliary memory device according to the present invention.
도 1 및 도 2를 참조하여 본 발명의 실시예에 보조 기억 장치로 데이터를 라이트하는 방법을 설명한다. 제201단계에서 보조 기억 장치100은 제2버퍼104를 통해 호스트컴퓨터110으로부터 라이트(write) 명령을 수신하면, 제202단계에서 송수신버퍼104를 통해 호스트컴퓨터110으로부터 라이트하기 위한 데이터를 전송받는다. 제203단계에서 보조 기억 장치100은 비휘발성 메모리103을 검색하고, 제204단계에서 해당 섹터가 존재하는지의 여부를 판단한다. 해당 섹터가 존재하는 경우 제205단계에서 보조 기억 장치100은 비휘발성 메모리103의 해당 섹터의 데이터를 제1버퍼102에 임시 저장한다. 이와 달리 해당 섹터가 존재하지 않은 경우 제206단계에서 보조 기억 장치100은 비휘발성 메모리103에 수신된 데이터를 라이트하고, 더티 비트(dirty bit)를 세트시킨다. 상기 더티 비트는 캐쉬 메모리의 내용이 플래쉬 메모리에 백업되었는지의 여부를 판단하는 플래그이다. 제207단계에서 보조 기억 장치100은 제1버퍼의 내용을 삭제하므로써 라이트 동작을 완료한다. 이후 일정한 주기가 되어 제208단계에서 보조 기억 장치100은 비휘발성 메모리103의 데이터를 플래쉬 메모리101로 백업할 조건을 만족하면, 비휘발성 메모리103의 데이터를 플래쉬 메모리101로 백업한다.1 and 2, a method of writing data to an auxiliary memory device in an embodiment of the present invention will be described. When the auxiliary memory device 100 receives a write command from the host computer 110 through the second buffer 104 in step 201, the auxiliary memory device 100 receives data for writing from the host computer 110 through the transmit / receive buffer 104 in step 202. In operation 203, the auxiliary memory device 100 searches for the nonvolatile memory 103, and determines whether the corresponding sector exists in operation 204. If the corresponding sector exists, in step 205, the auxiliary memory device 100 temporarily stores data of the corresponding sector of the nonvolatile memory 103 in the first buffer 102. In contrast, when the corresponding sector does not exist, the auxiliary memory device 100 writes the received data to the nonvolatile memory 103 and sets a dirty bit in step 206. The dirty bit is a flag for determining whether the contents of the cache memory have been backed up to the flash memory. In operation 207, the auxiliary memory device 100 completes the write operation by deleting the contents of the first buffer. Subsequently, in step 208, the auxiliary memory device 100 backs up the data of the nonvolatile memory 103 to the flash memory 101 when the condition for backing up the data of the nonvolatile memory 103 to the flash memory 101 is satisfied.
도 3은 본 발명에 따른 보조 기억 장치에서 비휘발성 메모리의 데이터를 플래쉬 메모리에 백업하는 과정을 나타내는 도면이다.3 is a diagram illustrating a process of backing up data of a nonvolatile memory to a flash memory in the auxiliary memory device according to the present invention.
도 1 내지 도 3을 참조하여 본 발명의 실시예에 따른 보조 기억 장치에서 비휘발성 메모리의 데이터를 플래쉬 메모리에 백업하는 방법을 설명한다. 제301단계에서 보조 기억 장치100은 비휘발성 메모리103의 특정 블록에 대한 백업 조건이 만족되었는가를 판단한다. 상기 특정 블록에 대한 백업 조건이 만족하면, 제302단계에서 보조 기억 장치100은 비휘발성 메모리103의 내용을 플래쉬 메모리101에 라이트한다. 상기 특정 블록에 대한 백업이 완료되면, 제303단계에서 비휘발성 메모리103의 해당 블록에 대한 더티 비트를 삭제한다. 보조 기억 장치100은 비휘발성 메모리103의 모든 블록에 대해 상기 제301단계에서 제303단계를 되풀이하여 수행한다.A method of backing up data of a nonvolatile memory to a flash memory in an auxiliary memory device according to an exemplary embodiment of the present invention will be described with reference to FIGS. 1 to 3. In operation 301, the auxiliary memory device 100 determines whether a backup condition for a specific block of the nonvolatile memory 103 is satisfied. If the backup condition for the specific block is satisfied, in step 302, the auxiliary memory device 100 writes the contents of the nonvolatile memory 103 to the flash memory 101. When the backup of the specific block is completed, in step 303, the dirty bit of the corresponding block of the nonvolatile memory 103 is deleted. The auxiliary memory device 100 repeats steps 301 to 303 for all blocks of the nonvolatile memory 103.
도 4는 본 발명에 따른 보조 기억 장치의 전원을 온시켰을때의 동작을 나타낸다.4 shows an operation when the auxiliary memory device according to the present invention is turned on.
도 1 내지 도 4를 참조하여 본 발명의 실시예에 따른 보조 기억 장치의 전원을 켰을 때의 동작을 설명한다. 이러한 동작은 비휘발성 메모리103에 데이터를 라이트하는 도중에 전원의 이상이 발생한 경우 또는 비휘발성 메모리103에서 플래쉬 메모리101로 데이터를 백업하는 도중에 전원의 이상이 발생한 경우 전원을 켰을 때 다시 비휘발성 메모리103에 저장된 데이터를 플래쉬 메모리101로 백업하기 위한 것이다. 제401단계에서 보조 기억 장치100은 비휘발성 메모리103을 검색하여 제402단계에서 비휘발성 메모리103에 저장된 데이터가 있는지의 여부를 판단한다. 비휘발성 메모리103에 저장된 데이터가 있는 경우 제403단계에서 보조 기억 장치100은 비휘발성 메모리103에 저장된 데이터를 플래쉬 메모리101로 백업한다. 이는 비휘발성 메모리103에 저장된 데이터를 플래쉬 메모리101에 백업하는 도중에 전원의 이상이 생긴 경우에 대해서 다시 한번 비휘발성 메모리103에 저장된 데이터를 플래쉬 메모리101로 백업하기 위한 것이다.An operation when the auxiliary memory device is powered on will be described with reference to FIGS. 1 to 4. This operation can be performed when the power is turned on while data is being written to the nonvolatile memory 103 or when the power is turned off while data is being backed up from the nonvolatile memory 103 to the flash memory 101. This is to back up the stored data to flash memory 101. In operation 401, the auxiliary memory device 100 searches for the nonvolatile memory 103 and determines whether there is data stored in the nonvolatile memory 103 in operation 402. If there is data stored in the nonvolatile memory 103, in step 403, the auxiliary memory device 100 backs up the data stored in the nonvolatile memory 103 to the flash memory 101. This is for backing up the data stored in the nonvolatile memory 103 to the flash memory 101 in the event of a power failure while the data stored in the nonvolatile memory 103 is backed up to the flash memory 101.
한편, 비휘발성 메모리103에 저장된 데이터가 없거나 비휘발성 메모리103에 저장된 데이터의 백업이 완료되면, 제404단계에서 보조 기억 장치100은 제1버퍼102에 저장된 데이터가 존재하는지의 여부를 판단한다. 제1버퍼102에 저장된 데이터가 존재하는 경우 제405단계에서 보조 기억 장치100은 제1버퍼102에 저장된 데이터를 플래쉬 메모리101로 백업시킨다. 제1버퍼102에 저장된 데이터를 플래쉬 메모리101로 백업하는 과정이 완료되었거나 제1버퍼102에 저장된 데이터가 존재하지 않은 경우 제406단계에서 보조 기억 장치100은 비휘발성 메모리103을 초기화한 후 정상적인 서비스를 수행한다.On the other hand, if there is no data stored in the nonvolatile memory 103 or the backup of the data stored in the nonvolatile memory 103 is completed, the auxiliary memory device 100 determines whether data stored in the first buffer 102 exists in step 404. If there is data stored in the first buffer 102, in step 405, the auxiliary memory device 100 backs up the data stored in the first buffer 102 to the flash memory 101. When the process of backing up the data stored in the first buffer 102 to the flash memory 101 is completed or the data stored in the first buffer 102 does not exist, in step 406, the auxiliary memory device 100 initializes the nonvolatile memory 103 and resumes normal service. Perform.
상술한 바와 같이 본 발명은 플래쉬 메모리를 주저장 매체로 사용하는 보조 기억 장치에서 비휘발성 메모리를 캐쉬 메모리로 사용한다. 따라서, 본 발명은 보조 기억 장치의 전원이 온될때에 캐쉬 메모리에 저장된 데이터를 플래쉬 메모리로 백업받으로써 데이터 라이트시에 전원 이상이 발생되는 경우에도 데이터의 손실을 방지할 수 있다.As described above, the present invention uses the nonvolatile memory as the cache memory in the auxiliary memory device using the flash memory as the main storage medium. Accordingly, the present invention can prevent data loss even when a power failure occurs when data is written by backing up data stored in the cache memory to the flash memory when the auxiliary memory device is turned on.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980027795A KR100303338B1 (en) | 1998-07-10 | 1998-07-10 | Method for protecting loss of data in secondary memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980027795A KR100303338B1 (en) | 1998-07-10 | 1998-07-10 | Method for protecting loss of data in secondary memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000008113A true KR20000008113A (en) | 2000-02-07 |
KR100303338B1 KR100303338B1 (en) | 2001-09-24 |
Family
ID=19543694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980027795A KR100303338B1 (en) | 1998-07-10 | 1998-07-10 | Method for protecting loss of data in secondary memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100303338B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020067028A (en) * | 2002-07-25 | 2002-08-21 | 두산티엠에스주식회사 | External Standalone Database Management Device |
CN108896099A (en) * | 2018-05-09 | 2018-11-27 | 南京思达捷信息科技有限公司 | A kind of detection big data platform and its method for earth's crust disaster |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675836A (en) * | 1992-08-25 | 1994-03-18 | Nippon Densan Corp | Auxiliary storage device |
-
1998
- 1998-07-10 KR KR1019980027795A patent/KR100303338B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020067028A (en) * | 2002-07-25 | 2002-08-21 | 두산티엠에스주식회사 | External Standalone Database Management Device |
CN108896099A (en) * | 2018-05-09 | 2018-11-27 | 南京思达捷信息科技有限公司 | A kind of detection big data platform and its method for earth's crust disaster |
Also Published As
Publication number | Publication date |
---|---|
KR100303338B1 (en) | 2001-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5226157A (en) | Backup control method and system in data processing system using identifiers for controlling block data transfer | |
US7890720B2 (en) | Snapshot system | |
US7640388B2 (en) | File storage apparatus for storing file data and management information | |
JP4536785B2 (en) | Information processing apparatus, control unit for controlling data storage performed in information processing apparatus, and data storage control method | |
US8190812B2 (en) | Memory system capable of restoring broken information | |
US9183132B2 (en) | Storage device, computer system, and storage system | |
KR101215864B1 (en) | Flash memory management method that is resistant to data corruption by power loss | |
US5832493A (en) | Flash file management system | |
US8041991B2 (en) | System and method for recovering solid state drive data | |
US7911840B2 (en) | Logged-based flash memory system and logged-based method for recovering a flash memory system | |
US6839568B2 (en) | User setting information management method and management system for portable telephone | |
US8745443B2 (en) | Memory system | |
JP4041473B2 (en) | Autonomous power loss recovery for multi-cluster storage subsystems | |
US20030093610A1 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
JP2005011317A (en) | Method and device for initializing storage system | |
US6016536A (en) | Method for backing up the system files in a hard disk drive | |
US20070124552A1 (en) | Memory control method for restoring data in a cache memory | |
JP2004152301A (en) | Electric power control block used in nonvolatile memory system | |
JPS607818B2 (en) | How to back up files | |
JP2006252535A (en) | Storage apparatus | |
JP2008077519A (en) | Virtual tape device, data management method for virtual tape device, and data management program for virtual tape device | |
US20020027508A1 (en) | Power failure managing device and method for managing a power failure | |
CN114063901A (en) | SSD-supported read-only mode after PLP backup failure | |
KR20110018605A (en) | Memory apparatus supporting auto back-up function | |
KR100303338B1 (en) | Method for protecting loss of data in secondary memory |
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: 20070611 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |