KR19980026498A - Record information recovery apparatus and method for rewritable nonvolatile memory - Google Patents
Record information recovery apparatus and method for rewritable nonvolatile memory Download PDFInfo
- Publication number
- KR19980026498A KR19980026498A KR1019960044937A KR19960044937A KR19980026498A KR 19980026498 A KR19980026498 A KR 19980026498A KR 1019960044937 A KR1019960044937 A KR 1019960044937A KR 19960044937 A KR19960044937 A KR 19960044937A KR 19980026498 A KR19980026498 A KR 19980026498A
- Authority
- KR
- South Korea
- Prior art keywords
- index
- data
- nonvolatile memory
- rewritable nonvolatile
- area
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/06—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using single-aperture storage elements, e.g. ring core; using multi-aperture plates in which each individual aperture forms a storage element
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 재기록 가능한 불휘발성 메모리의 기록정보 복구장치 및 방법에 관한 것으로, 디지털 신호 처리기 및 메모리 인터페이스 장치, 그리고 재기록 가능한 불휘발성 메모리를 포함하여 전원전압 공급이 중단되었다가 다시 공급된 경우, 메모리의 어느 곳까지 기록했는가에 대한 정보를 메모리 내의 인덱스로부터 얻어, 이 정보에 따라 처리함으로써 시스템이 정상 동작을 하도록 한다.The present invention relates to an apparatus and method for recovering write information of a rewritable nonvolatile memory, including a digital signal processor and a memory interface device, and a rewritable nonvolatile memory. Information about where it has been written is obtained from an index in memory and processed according to this information to allow the system to operate normally.
Description
본 발명은 재기록 가능한 불휘발성 메모리(re-writable nonvolatile memory)의 기록정보 복구장치 및 방법에 관한 것으로, 구체적으로는 재기록 가능한 불휘발성 메모리의 기입 또는 소거가 완료되지 않은 상황에서 전원전압 공급이 중단되었다가 다시 공급된 경우, 기록정보를 찾아 복구하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for recovering write information of a rewritable nonvolatile memory, and more particularly, to stop supplying a power supply voltage in a situation in which writing or erasing of a rewritable nonvolatile memory is not completed. Is supplied again, the present invention relates to an apparatus and a method for finding and recovering record information.
일반적으로 결함 셀들을 갖는 메모리 장치는 사용될 수 없지만 특정용도, 예컨대 자동응답기 또는 녹음기에는 사용이 가능하다.Generally, memory devices with defective cells cannot be used, but may be used for specific applications, such as answering machines or recorders.
초기의 자동응답기 또는 녹음기는 테이프(tape)를 사용하였다. 이 방식은 제조 과정에서 조립되고 적용되어야 하는 테이프 전송 메커니즘을 사용해야 하는 문제가 있다. 또한 테이프에 데이터를 독출 및 기입, 그리고 소거하기 위한 헤드(head)가 필요하며, 헤드에 적절한 신호를 주고 재생하기 위한 전기회로가 필요하다. 그리고 테이프를 진행시키기 위해 모터(motor)를 사용해야 하므로 많은 양의 전력이 소비된다. 이에 따라 테이프 방식 대신, 메시지 신호를 양자화(quantization)하여 반도체 메모리에 저장하는 방법을 사용하게 되었다.Early answering machines or recorders used tape. This approach has the problem of using a tape transfer mechanism that must be assembled and applied during manufacturing. There is also a need for a head for reading, writing, and erasing data to tape, and an electrical circuit for giving and reproducing the appropriate signal to the head. In addition, a large amount of power is consumed because a motor must be used to advance the tape. Thus, instead of the tape method, a method of quantizing a message signal and storing the message signal in a semiconductor memory is used.
이 때, 사용되는 반도체 메모리 장치로서는, 비교적 가격이 비싼 DRAM과 SRAM 대신에 결함을 가진 RAM을 사용하였다. 여기서 결함을 가진 RAM은 타이밍 특성이 좋지 않거나 비정상적인 메모리 셀들이 일정 비율로 들어 있는 RAM을 가리킨다. 이러한 RAM은 상기 DRAM과 SRAM에 비해 가격이 저렴하다.At this time, as a semiconductor memory device used, a defective RAM is used in place of a relatively expensive DRAM and an SRAM. A defective RAM refers to a RAM with poor timing characteristics or a certain percentage of abnormal memory cells. Such RAM is cheaper than the DRAM and SRAM.
상기 결함이 있는 RAM을 오디오 정보의 저장을 위한 메모리로 사용하기 위해 다음과 같은 방식을 사용한다. 오디오 신호(audio signal)를 양자화하여 그대로 저장하거나 파형 모양대로 압축, 저장하여 인간의 귀가 느끼지 못하는 정도의 정보 손실을 인정하는 방식과, 오디오 신호에서 특정 변수만을 추출하여 그 변수 값만을 저장하기 위해 결함이 있는 장소를 피해 저장하는 매핑(mapping) 방식이 그것이다.In order to use the defective RAM as a memory for storing audio information, the following scheme is used. Quantize the audio signal and store it as it is or compress and store it in the shape of the waveform to recognize the loss of information that the human ear does not feel, and to extract only the specific variable from the audio signal and store only the variable value. This is a mapping scheme that avoids and stores these places.
RAM을 사용하는 경우는 RAM이 갖는 휘발성 특성으로 인해, 전원공급이 끊어졌을 때를 대비한 보조 전원(backup battery)을 필요로 하므로 이것에 대한 가격 비용이 소요된다. 그러나, 반도체 기술의 발달로 기록 가능한 불휘발성 메모리가 개발되었으며, 보조 전원을 필요로 하지 않으므로 원가 절감 효과를 기대할 수 있게 되었다. 또한 불휘발성 메모리 자체에 대한 가격도 지속적으로 하락하고 있다.In the case of using the RAM, because of the volatile characteristics of the RAM, it requires a backup battery in case the power supply is cut off, so the cost of this is expensive. However, with the development of semiconductor technology, a recordable nonvolatile memory has been developed, and cost reduction effects can be expected because an auxiliary power supply is not required. In addition, the price for nonvolatile memory itself continues to fall.
재기록 가능한 불휘발성 메모리를 사용하는 장치에 있어서, 상기 재기록 가능한 불휘발성 메모리로 정보를 기록하던 중에, 전원공급이 중단된 후 다시 공급되면, 이미 기록된 정보를 삭제한 후 기록동작을 처음부터 다시 시작해야 한다. 그런데, 전원전압의 공급이 중단되었다가 다시 공급되면, 재기록 가능한 불휘발성 메모리의 어디까지 기록 또는 삭제했는가에 대한 정보가 사라지게 된다. 따라서 전원전압의 공급 재개시 이미 기록되어 있는 곳에 기록을 한다거나 기존의 데이터를 삭제하는 등 나아가 전체 시스템 동작에 오류를 일으키게 되는 등의 문제가 발생된다.In a device using a rewritable nonvolatile memory, if the power supply is interrupted and supplied again while recording information into the rewritable nonvolatile memory, the recording operation is started again after deleting the already recorded information. Should be. However, when the supply of the power supply voltage is interrupted and supplied again, the information on how far the rewritable nonvolatile memory has been recorded or deleted disappears. Therefore, when the supply of the power supply voltage is resumed, there are problems such as writing in an already recorded place or deleting existing data, thereby causing an error in the entire system operation.
본 발명의 목적은, 기록동작 중에 전원전압의 공급이 중단되었다가 다시 공급되었을 때, 데이터의 기입 또는 소거에 대한 정보를 찾아내어 기록정보를 완벽하게 복구해 낼 수 있는 장치 및 방법을 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an apparatus and method for finding information on writing or erasing data and completely recovering the recording information when the supply of the power supply voltage is interrupted and then supplied again. .
도 1은 본 발명에 따른 기록정보 복구장치의 블록도.1 is a block diagram of a recording information recovery apparatus according to the present invention;
도 2는 정상적인 전원전압 공급 상태에서 기록정보 복구장치의 독출동작을 나타낸 플로우챠트.Fig. 2 is a flowchart showing a read operation of the recording information recovery device in a normal power supply state.
도 3은 정상적인 전원전압 공급 상태에서 기록정보 복구장치의 기입동작을 나타낸 플로우챠트.Fig. 3 is a flowchart showing a writing operation of the recording information recovery apparatus in a normal power supply state.
도 4는 정상적인 전원전압 공급 상태에서 기록정보 복구장치의 소거동작을 나타낸 플로우챠트.Fig. 4 is a flowchart showing the erasing operation of the recording information recovery apparatus in the normal power supply state.
도 5는 기록정보 복구장치의 재기록 가능한 불휘발성 메모리에 대한 메모리 맵.Fig. 5 is a memory map of a rewritable nonvolatile memory of the record information recovery apparatus.
도 6은 도 5에 있어서, 재기록 가능한 불휘발성 메모리의 제 1 인덱스와 제 2 인덱스 영역에 대한 메모리 맵.FIG. 6 is a memory map of a first index and a second index area of a rewritable nonvolatile memory of FIG. 5; FIG.
도 7은 본 발명의 실시예에 따라 전원전압 공급이 끊어졌다가 다시 공급되었을 때 기록정보를 복구하는 방법을 나타낸 플로우챠트.7 is a flowchart illustrating a method of recovering recording information when a power supply voltage is cut off and then supplied again according to an embodiment of the present invention.
도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings
100: 디지털 신호 처리기 200: 메모리 인터페이스 장치100: digital signal processor 200: memory interface device
300: 재기록 가능한 불휘발성 메모리 310: 제 1 영구정보테이블300: rewritable nonvolatile memory 310: first permanent information table
320: 제 1 인덱스 330: 제 2 인덱스320: first index 330: second index
340: 복사 블록 350: 데이터 영역340: Copy block 350: data area
360: 제 2 영구정보테이블 321: 인덱스 데이터360: second permanent information table 321: index data
322: 데이터 끝 323: 기입 시작 플래그322: end of data 323: write start flag
324: 기입 끝 플래그 325: 데이터 넘버324: Write end flag 325: Data number
상술한 목적을 달성하기 위해 제안된 본 발명의 특징에 의하면, 재기록 가능한 불휘발성 메모리를 데이터 저장 매체로 사용하는 기록장치에 있어서, 재기록 가능한 불휘발성 메모리는 인덱스 영역과 데이터 영역을 포함하고 각각에 대한 데이터를 저장한다. 디지털 신호 처리기는 상기 불휘발성 메모리에 독출 및 기입, 그리고 소거에 대한 소정의 신호와 데이터를 주며, 전원전압 공급 재개시 상기 인덱스 영역을 독출하여 기록정보를 복구한다. 메모리 인터페이스 장치는 상기 디지털 신호 처리기로부터 받은 모든 명령을 상기 재기록 가능한 불휘발성 메모리에 전달하고, 소정의 신호로 재기록 가능한 불휘발성 메모리의 동작 상태를 감지하여 이를 디지털 신호 처리기에 전달한다.According to a feature of the present invention proposed to achieve the above object, in a recording apparatus using a rewritable nonvolatile memory as a data storage medium, the rewritable nonvolatile memory includes an index area and a data area, Save the data. The digital signal processor provides predetermined signals and data for reading, writing, and erasing the nonvolatile memory, and recovers write information by reading the index area when power supply voltage is resumed. The memory interface device transfers all commands received from the digital signal processor to the rewritable nonvolatile memory, detects an operation state of the rewritable nonvolatile memory as a predetermined signal, and transmits the command to the digital signal processor.
본 발명의 다른 특징에 의하면, 인덱스 영역과 데이터 영역을 포함하고 각각에 대한 데이터를 저장하는 재기록 가능한 불휘발성 메모리와, 이 재기록 가능한 불휘발성 메모리에 독출 및 기입, 그리고 소거에 대한 소정의 신호와 데이터를 주며, 상기 인덱스 영역을 독출하여 기록정보를 복구하는 디지털 신호 처리기와, 이 디지털 신호 처리기로부터 받은 모든 명령을 상기 재기록 가능한 불휘발성 메모리에 전달하고, 소정의 신호로 재기록 가능한 불휘발성 메모리의 동작 상태를 감지하여 이를 디지털 신호 처리기에 전달하는 메모리 인터페이스 장치를 포함하는 재기록 가능한 불휘발성 메모리 기록정보 복구장치의 기록정보 복구 방법은 : 데이터 영역에 기입 또는 소거 동작이 완료됨과 아울러 제 1 인덱스의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스에 기록된 후, 제 1 인덱스의 기록이 삭제되는 중이었는가를 판단하는 1) 단계와; 이 1) 단계에서 예로 결정된 경우에 대해서는 제 1 인덱스와 제 2 인덱스의 설정을 서로 바꾸는 2) 단계와; 이 2) 단계 후 제 2 인덱스의 기록을 삭제하는 3) 단계와; 상기 1) 단계에서 아니오로 판단된 경우에 대해서는 데이터 영역에 기입 또는 소거 동작은 완료됨과 아울러 제 2 인덱스의 인덱스 데이터와 수정된 인덱스 데이터가 제 1 인덱스에 기록된 후 제 2 인덱스의 기록이 삭제되는 중이었는가를 판단하는 4) 단계와; 이 4) 단계에서 예로 판단된 경우에 대해서는 제 1 인덱스와 제 2 인덱스의 설정이 틀린 상태이므로 제 2 인덱스의 기록을 삭제하고 종료하는 5) 단계와; 상기 4) 단계에서 아니오로 판단된 경우에 대해서는 단지 데이터 영역에 기입 또는 소거 동작이 행해지던 상태이고, 제 1 인덱스와 제 2 인덱스의 설정이 틀린 상태인가를 판단하는 6) 단계와; 이 6) 단계에서 예로 판단된 경우에 대해서는 제 1 인덱스와 제 2 인덱스의 설정을 서로 바꾸는 7) 단계와; 상기 7) 단계 후 데이터 넘버에 숫자가 있는가를 판단하는 8) 단계와; 이 8) 단계에서 예로 판단된 경우에 대해서는 제 1 인덱스에 근거하여 데이터 넘버에 해당하는 데이터를 데이터 영역에서 삭제하는 9) 단계와; 이 8) 단계에서 아니오로 판단된 경우에 대해서는 제 1 인덱스에 근거하여 기록된 마지막 데이터 이후로 데이터를 데이터 영역에서 삭제하는 10) 단계와; 상기 9) 단계와 10) 단계 후 제 2 인덱스의 기록을 삭제하고 종료하는 11) 단계와; 상기 6) 단계에서 아니오로 판단된 경우에 대해서는 단지 데이터 영역에 기입 또는 소거 동작이 행해지던 상태인가를 판단하는 12) 단계와; 이 12) 단계에서 예로 판단된 경우에 대해서는 상기 8) 11) 단계와 같이 데이터 넘버가 있는가 없는가의 판단에 따라 기록정보를 복구하는 13) 단계와; 이 12) 단계에서 아니오로 판단된 경우에 대해서는 데이터 영역에 기입 또는 소거 동작은 완료되었고, 제 1 인덱스의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스에 기록되었으며, 제 1 인덱스의 기록이 삭제 되었는가를 판단하는 14) 단계와; 이 14) 단계에서 예로 판단된 경우에 대해서는 제 1 인덱스와 제 2 인덱스의 설정을 서로 바꾸고 종료하는 15) 단계와; 상기 14) 단계에서 아니오로 판단된 경우에 대해서는 기입 또는 소거 동작이 없던 상태이므로 아무런 복구 작업이 필요하지 않는 단계를 포함한다.According to another aspect of the invention, there is provided a rewritable nonvolatile memory including an index area and a data area and storing data for each, and predetermined signals and data for reading, writing, and erasing the rewritable nonvolatile memory. A digital signal processor that reads the index area to recover recording information, and transfers all commands received from the digital signal processor to the rewritable nonvolatile memory, and rewrites the signal to a predetermined signal. A method of recovering record information of a rewritable nonvolatile memory record information recovering apparatus including a memory interface device for detecting a signal and transmitting the same to a digital signal processor may include: writing or erasing a data area and completing index data of the first index. The modified index data 1) determining whether a record of the first index was being deleted after being recorded in the second index; For the case where it is determined as an example in step 1), step 2) of swapping settings of the first index and the second index; 3) deleting the record of the second index after this 2) step; In the case where NO is determined in step 1), the writing or erasing operation is completed in the data area, and after the index data and the modified index data of the second index are written to the first index, the recording of the second index is deleted. 4) determining whether it was in progress; 5) in the case where it is determined as an example in step 4) that the setting of the first index and the second index is incorrect, deleting and ending the recording of the second index; 6) in the case where it is determined as NO in step 4) that only the writing or erasing operation is performed in the data area, and that the setting of the first index and the second index is incorrect; For the case where it is determined as an example in step 6), step 7) of changing the setting of the first index and the second index; 8) determining whether a number is present in the data number after step 7); For the case where it is determined as an example in step 8), step 9) deleting data corresponding to the data number from the data area based on the first index; 10) for deleting the data from the data area after the last data recorded based on the first index for the case where NO is determined in step 8); 11) deleting and ending recording of the second index after steps 9) and 10); 12) determining whether or not a write or erase operation has been performed in the data area only in the case where NO is determined in step 6); For the case where it is determined as an example in step 12), step 13) for recovering the record information according to whether or not there is a data number as in step 8) and 11); In the case where NO is determined in step 12), is the writing or erasing operation completed in the data area, and the index data and the modified index data of the first index have been recorded in the second index, and have the records of the first index deleted? Determining 14); 15) for the case where it is determined as an example in step 14) that the settings of the first index and the second index are changed and finished; If it is determined as NO in step 14), since there is no write or erase operation, no recovery operation is required.
도 1은 본 발명에 따른 기록정보 복구장치의 블록도이다.1 is a block diagram of a recording information recovery apparatus according to the present invention.
도 1을 참조하면, 기록정보 복구장치는 압축된 오디오 신호를 저장 및 재생할 수 있는 장치로 디지털 신호 처리기(Digital Signal Processor;DSP)(100)와, 메모리 인터페이스 장치(Memory Interface Unit;MIU)(200), 그리고 재기록 가능한 불휘발성 메모리(300)로 구성되어 있다.Referring to FIG. 1, an apparatus for recovering a recording information is a device capable of storing and reproducing a compressed audio signal. The digital signal processor (DSP) 100 and the memory interface unit (MIU) 200 are provided. And a rewritable nonvolatile memory 300.
상기 재기록 가능한 불휘발성 메모리(300)는 플래시 EEPROM(flash EEPROM)이다.The rewritable nonvolatile memory 300 is a flash EEPROM.
이하, 플래시 메모리(F.M)(300)라 칭한다.Hereinafter, the flash memory (F.M) 300 will be referred to.
디지털 신호 처리기(100)와 메모리 인터페이스 장치(200)의 정보교환은 외부 데이터 버스(External Data Bus;EXT)[15:0]를 통해 이루어지며, 디지털 신호 처리기(100)는 외부 데이터 버스를 통해 플래시 메모리(300)의 어드레스와 데이터를 메모리 인터페이스 장치(200)로 보낸다.Information exchange between the digital signal processor 100 and the memory interface device 200 is performed through an external data bus (EXT) [15: 0], and the digital signal processor 100 flashes through an external data bus. The address and data of the memory 300 are sent to the memory interface device 200.
플래시 메모리(300)의 어드레스와 데이터의 구분은 EA[2:0]을 메모리 인터페이스 장치(200)에서 디코우드(decode)하여 이루어진다. 도 1에 나타난 4 개의 플래시 메모리(300)는 4 메가비트(Mbit)의 기억장치이며, 각각 4,193,304 개의 기억장소가 있으므로 디지털 신호 처리기(100)에서는 2 회에 걸쳐 하위 어드레스와 상위 어드레스를 메모리 인터페이스 장치(200)로 보내게 된다. 이러한 두 어드레스의 구분도 EA[2:0]을 통해 이루어진다. 이 외에도 디지털 신호 처리기(100)와 메모리 인터페이스 장치(200) 사이의 신호 흐름을 제어하기 위한 신호로 독출/기입(R/WB), 소거(ESB), 준비(READY), 그리고 인터럽트(INT) 등이 있다.The address and data of the flash memory 300 are distinguished by decoding EA [2: 0] in the memory interface device 200. The four flash memories 300 shown in FIG. 1 are four megabit (Mbit) storage devices, and since there are 4,193,304 storage locations, respectively, the digital signal processor 100 stores the lower address and the upper address twice in a memory interface device. Will be sent to (200). The distinction between these two addresses is also made through EA [2: 0]. In addition, signals for controlling the signal flow between the digital signal processor 100 and the memory interface device 200 are read / write (R / WB), erase (ESB), ready (READY), and interrupt (INT). There is this.
메모리 인터페이스 장치(200)와 플래시 메모리(300)의 정보교환은 8 비트의 데이터 라인 I/O[7:0]을 통해 이루어지며, 메모리 인터페이스 장치(200)는 데이터의 기입 및 독출, 그리고 소거를 수행하기 위한 제어 신호로 커맨드(command), 어드레스(address), 그리고 데이터(data)를 이 데이터 라인(data line)을 통해 플래시 메모리(300)로 보낸다. 이 외에도 메모리 인터페이스 장치(200)와 플래시 메모리(300) 사이의 신호 흐름의 제어를 위한 신호로 칩 인에이블(Chip Enable;CEB), 커맨드 래치 인에이블(Command Latch Enable;CLE), 어드레스 래치 인에이블(Address Latch Enable;ALE), 기입 인에이블(Write Enable;WEB), 독출 인에이블(Read Enable ;REB), 준비/대기(Ready/Busy;RBB) 등이 있다.Information exchange between the memory interface device 200 and the flash memory 300 is performed through 8-bit data lines I / O [7: 0], and the memory interface device 200 writes, reads, and erases data. Commands, addresses, and data are sent to the flash memory 300 through these data lines as control signals for performing. In addition, as a signal for controlling the signal flow between the memory interface device 200 and the flash memory 300, chip enable (CEB), command latch enable (CLE), and address latch enable (Address Latch Enable; ALE), Write Enable (WEB), Read Enable (REB), Ready / Busy (RBB), and the like.
도 2는 정보복구 장치가 정상적인 전원전압 공급 상태에서 독출 동작을 하는 과정을 나타내고 있다.2 shows a process in which the information recovery device performs a read operation in a normal power supply state.
도 2를 참조하면, 디지털 신호 처리기(100)가 플래시 메모리(300)의 독출 모드를 설정하고 하위 어드레스와 상위 어드레스를 메모리 인터페이스 장치(200)에 주는 것으로 독출 동작이 시작(S400)된다. 이 때 메모리 인터페이스 장치(200)는 준비(READY) 신호를 디스에이블 시켜서(S404) 메모리 인터페이스 장치(200)가 플래시 메모리(300)로부터 데이터를 독출하는 동작이 완료될 때까지 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스하지 못하도록 한다(S402).Referring to FIG. 2, the digital signal processor 100 sets the read mode of the flash memory 300 and gives a lower address and an upper address to the memory interface device 200, whereby a read operation is started (S400). At this time, the memory interface device 200 disables the READY signal (S404) until the memory interface device 200 reads data from the flash memory 300 to complete the digital signal processor 100. ) To prevent access to the memory interface device 200 (S402).
상기 메모리 인터페이스 장치(200)는 상기 디지털 신호 처리기(100)가 설정한 독출 모드에 의하여 상기 플래시 메모리(300)에 독출 명령어를 주고(S406), 디지털 신호 처리기(100)로부터 받은 어드레스로부터 실제 플래시 메모리(300)의 어드레스를 플래시 메모리(300)에 준다(S408). 그러면 플래시 메모리(300)의 준비/대기 신호가 로우(low) 상태로 되며, 플래시 메모리(300)는 독출 동작을 수행한다(S410).The memory interface device 200 issues a read command to the flash memory 300 according to a read mode set by the digital signal processor 100 (S406), and actually flash memory from an address received from the digital signal processor 100. The address of 300 is given to the flash memory 300 (S408). Then, the ready / standby signal of the flash memory 300 is set to a low state, and the flash memory 300 performs a read operation (S410).
상기 플래시 메모리(300)의 독출 동작이 완료되면(S412) 플래시 메모리(300)의 준비/대기 신호는 하이(high) 상태가 되며, 이 신호를 감지하고 있던 메모리 인터페이스 장치(200)는 16 비트의 데이터를 독출하기 위해 2 회에 걸쳐 플래시 메모리(300)로부터 8 비트 데이터를 독출한다(S414).When the read operation of the flash memory 300 is completed (S412), the ready / standby signal of the flash memory 300 is in a high state, and the memory interface device 200, which has sensed the signal, has a 16-bit value. In order to read data, 8-bit data is read from the flash memory 300 twice (S414).
상기 동작이 완료되면(S416) 메모리 인터페이스 장치(200)는 준비 신호를 인에이블 상태로하여 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스 가능하도록 하며(S418), 이 준비 신호를 감지하고 있던 디지털 신호 처리기(100)는 메모리 인터페이스 장치(200)로부터 16비트 데이터를 독출한다(S420). 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)로부터 데이터를 독출하면 메모리 인터페이스 장치(200)는 어드레스를 1 만큼 증가시킨 뒤 플래시 메모리로(300)부터 다음 16비트 데이터를 독출한다(S422).When the operation is completed (S416), the memory interface device 200 turns on the ready signal to enable the digital signal processor 100 to access the memory interface device 200 (S418), and detects the ready signal. The digital signal processor 100 reads 16-bit data from the memory interface device 200 (S420). When the digital signal processor 100 reads data from the memory interface device 200, the memory interface device 200 increases the address by one and then reads the next 16-bit data from the flash memory 300 (S422).
도 3은 정보복구 장치가 정상적인 전원전압 공급 상태에서 기입 동작을 하는 과정을 나타내고 있다.3 shows a process in which the information recovery apparatus performs a write operation in a normal power supply state.
도 3을 참조하면, 상기 디지털 신호 처리기(100)가 상기 플래시 메모리(300)의 기입 모드를 설정하고, 하위 어드레스와 상위 어드레스를 메모리 인터페이스 장치(200)에 주는 것으로 기입 동작이 시작(S500)된다. 이 때 메모리 인터페이스 장치(200)는 준비 신호를 디스에이블 시켜서(S504) 메모리 인터페이스 장치(200)가 플래시 메모리(300)에 데이터를 기입을 위한 준비 작업이 완료될 때까지 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스하지 못하게 한다(S502).Referring to FIG. 3, when the digital signal processor 100 sets the write mode of the flash memory 300 and gives a lower address and an upper address to the memory interface device 200, a write operation is started (S500). . At this time, the memory interface device 200 disables the ready signal (S504) until the digital signal processor 100 is ready until the memory interface device 200 completes the preparation for writing data to the flash memory 300. The memory interface device 200 may not be accessed (S502).
디지털 신호 처리기(100)는 메모리 인터페이스 장치(200)에 기입 모드를 주며(S506), 메모리 인터페이스 장치(200)는 디지털 신호 처리기(100)가 설정한 기입 모드에 의해 플래시 메모리(300)에 기입 명령어를 주고, 디지털 신호 처리기(100)로부터 받은 어드레스로부터 실제 플래시 메모리(300)의 어드레스를 플래시 메모리(300)에 준다(S508). 상기 동작이 완료되면 메모리 인터페이스 장치(200)는 준비 신호를 인에이블 상태로하여 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스 가능하도록 하며, 이 준비 신호를 감지하던 디지털 신호 처리기(100)는 기입을 원하는 16 비트 데이터를 메모리 인터페이스 장치(200)로 보낸다(S510). 그러면 메모리 인터페이스 장치(200)는 준비 신호를 디스에이블 시킨 후 이 16 비트 데이터를 플래시 메모리(300)로 보낸 뒤 준비 신호를 인에이블 상태로하여 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스 가능하도록 한다(S512).The digital signal processor 100 gives a write mode to the memory interface device 200 (S506), and the memory interface device 200 writes a command to the flash memory 300 in a write mode set by the digital signal processor 100. And the address of the actual flash memory 300 to the flash memory 300 from the address received from the digital signal processor 100 (S508). When the operation is completed, the memory interface device 200 turns on the ready signal to enable the digital signal processor 100 to access the memory interface device 200 and detects the ready signal. ) Transmits 16-bit data to be written to the memory interface device 200 (S510). Then, the memory interface device 200 disables the ready signal, sends the 16-bit data to the flash memory 300, and then enables the ready signal so that the digital signal processor 100 operates the memory interface device 200. Make it accessible (S512).
디지털 신호 처리기(100)가 데이터를 더 기입하기 원하는 경우에는 앞의 동작을 반복하며(S514), 그렇지 않은 경우에는 플래시 메모리(300)의 기입 종료 모드를 설정한다(S516).If the digital signal processor 100 wants to write more data, the above operation is repeated (S514). Otherwise, the write end mode of the flash memory 300 is set (S516).
메모리 인터페이스 장치(200)는 기입 종료 모드가 설정되면 준비 신호를 디스에이블 시킨 후 플래시 메모리(300)에 프로그램 명령어를 주고(S518), 플래시 메모리(300)는 준비/대기 신호를 로우 상태로 한 뒤 이제까지 받은 16 비트 데이터들을 실제 기억장소로 프로그램 한다(S520).When the write end mode is set, the memory interface device 200 disables the ready signal and gives a program command to the flash memory 300 (S518). The flash memory 300 sets the ready / standby signal to a low state. The 16-bit data received so far is programmed into an actual storage location (S520).
상기 프로그램이 완료되면 플래시 메모리(300)는 준비/대기 신호를 하이 상태로 만들며 이를 감지하던 메모리 인테페이스 장치(200)는 준비 신호를 인에이블 상태로하여 디지털 신호 처리기(100)가 다음 동작을 할 수 있도록 한다(S522).When the program is completed, the flash memory 300 makes the ready / standby signal high, and the memory interface device 200 which has sensed this is enabled with the ready signal ready for the digital signal processor 100 to perform the next operation. (S522).
도 4는 정보복구 장치가 정상적인 전원전압 공급 상태에서 소거 동작을 하는 과정을 나타내고 있다.4 shows a process in which the information recovery apparatus performs an erase operation in a normal power supply state.
도 4를 참조하면, 상기 디지털 신호 처리기(100)가 상기 플래시 메모리(300)의 소거 모드를 설정하고 상위 어드레스를 메모리 인터페이스 장치(200)에 주는 것으로 소거 동작이 시작(S600)된다. 이 때 메모리 인터페이스 장치(200)는 준비 신호를 디스에이블 시켜서(S604) 메모리 인터페이스 장치(200)가 플래시 메모리(300)의 데이터를 소거하는 동작이 완료될 때까지 디지털 신호 처리기(100)가 메모리 인터페이스 장치(200)를 억세스하지 못하도록 한다(S602).Referring to FIG. 4, an erase operation is started by setting the erase mode of the flash memory 300 and giving an upper address to the memory interface device 200 by the digital signal processor 100 (S600). At this time, the memory interface device 200 disables the ready signal (S604) until the digital signal processor 100 completes the operation of erasing data of the flash memory 300 by the memory interface device 200. Prevent access to the device 200 (S602).
메모리 인터페이스 장치(200)는 디지털 신호 처리기(100)가 설정한 소거 모드에 의해(S606) 플래시 메모리(300)에 소거 명령어를 주고, 디지털 신호 처리기(100)로부터 받은 어드레스로부터 실제 플래시 메모리(300)의 어드레스를 플래시 메모리(300)에 준다(S608). 그러면 플래시 메모리(300)는 준비/대기 신호를 로우 상태로 하고 해당되는 어드레스를 블록단위로 플래시 메모리(300)의 정보를 지운다(S610).The memory interface device 200 issues an erase command to the flash memory 300 in an erase mode set by the digital signal processor 100 (S606), and actually flashes the flash memory 300 from an address received from the digital signal processor 100. Is given to the flash memory 300 (S608). Then, the flash memory 300 sets the ready / standby signal to a low state and erases the information of the flash memory 300 at a corresponding address in block units (S610).
소거 동작이 완료되면 플래시 메모리(300)는 준비/대기 신호를 하이 상태로 하며(S614) 이를 감지하던 메모리 인터페이스 장치(200)는 소거 동작이 완료되었음을 알고 디지털 신호 처리기(100)에 이를 알리기 위해 준비 신호를 인에이블 시킨다(S616).When the erase operation is completed, the flash memory 300 sets the ready / standby signal to a high state (S614), and the memory interface device 200, which has sensed this, knows that the erase operation is completed and is ready to notify the digital signal processor 100. Enable the signal (S616).
이하, 도 5와 도 6을 참조하여 재기록 가능한 불휘발성 메모리(300)를 인덱스 영역과 데이터 영역으로 나누어 사용하는 기록장치의 동작을 설명한다.Hereinafter, an operation of the recording apparatus using the rewritable nonvolatile memory 300 divided into an index area and a data area will be described with reference to FIGS. 5 and 6.
도 5는 기록정보 복구장치의 재기록 가능한 불휘발성 메모리에 대한 메모리 맵이다.5 is a memory map of a rewritable nonvolatile memory of the recording information recovery apparatus.
도 6은 도 5에 있어서, 재기록 가능한 불휘발성 메모리의 제 1 및 제 2 인덱스 영역에 대한 메모리 맵이다.FIG. 6 is a memory map of the first and second index regions of the rewritable nonvolatile memory of FIG. 5.
먼저 상기 장치의 동작의 하나로 인덱스 영역의 내용을 변경하기 위해서는 다음의 순서를 따른다.First, to change the contents of the index area as one of the operations of the device, the following procedure is performed.
우선 이전 인덱스에 대한 모든 정보를 가지고 있는 제 1 인덱스(제 1 index)(320)를 찾는다. 그리고 어떤 데이터도 기입되어 있지 않은 제 2 인덱스(제 2 index)(330)의 특정 어드레스에 기입 시작 플래그(Writing Start Flag;WSF)(323) 정보를 기록한다. 그리고 나서 제 1 인덱스(320)의 수정하려는 어드레스 전까지의 모든 데이터를 제 2 인덱스(330)로 이동시킨다. 모든 블록 내에서의 어드레스는 동일하므로 제 1 인덱스(320)의 수정하려는 어드레스의 데이터와 관련한 수정된 인덱스 데이터(modifying index data)를 제 2 인덱스(330)의 그 어드레스에 기록하고, 제 2 인덱스(330)의 체크썸(checksum) 데이터가 기록될 어드레스 앞의 모든 데이터를 제 2 인덱스(330)에 옮긴 후 제 2 인덱스(330)에 체크썸과 데이터 끝(End Of Data;EOD)(322)을 기록한다. 그리고 나서 제 1 인덱스(320)의 모든 데이터를 소거하고 제 1 인덱스(320)의 특정 어드레스에 기입 끝 플래그(Writing End Flag;WEF)(324) 정보를 기록한다.First, a first index 320 having all information about a previous index is found. Then, the writing start flag (WSF) 323 information is recorded at a specific address of the second index 330 in which no data is written. Then, all data up to the address of the first index 320 to be modified are moved to the second index 330. Since the addresses in all blocks are the same, modifying index data relating to the data of the address to be modified in the first index 320 is written to the address of the second index 330, and the second index ( Move all data before the address to which checksum data of 330 is to be written to the second index 330, and then checkmark and end of data (EOD) 322 to the second index 330. Record it. Then, all data of the first index 320 is erased, and writing end flag (WEF) 324 information is recorded at a specific address of the first index 320.
상기 장치의 다른 동작으로서, 지워진 데이터 영역(Data Area;DA)(350)에 데이터를 기록하기 위해서는 다음의 순서를 따른다. 먼저 제 1 인덱스(320)를 찾는다. 제 1 인덱스(320)는 이전의 인덱스에 대한 모든 정보를 가지고 있으며 제 2 인덱스(330)에는 어떤 데이터도 기입되어 있지 않다. 제 1 인덱스(320)를 찾은 후 제 2 인덱스(330)의 특정 어드레스에 기입 시작 플래그(323) 정보를 기록한다. 그리고 나서 데이터 영역(350)에 실제 데이터를 기록한다. 기록이 끝나면, 제 1 인덱스(320)의 수정하려는 어드레스 전까지의 모든 데이터를 제 2 인덱스(330)로 이동시킨다. 모든 블록 내에서의 어드레스는 동일하므로 제 1 인덱스(320)의 수정하려는 어드레스의 데이터와 관련한 수정된 인덱스 데이터를 제 2 인덱스(330)의 그 어드레스에 기록하고, 제 2 인덱스(330)의 체크썸 데이터가 기록될 어드레스 앞의 모든 데이터를 제 2 인덱스(330)에 옮긴 후 제 2 인덱스(330)에 체크썸과 데이터 끝(322)을 기록한다. 그리고 나서 제 1 인덱스(320)의 모든 데이터를 소거하고 제 2 인덱스(330)의 특정 어드레스에 기입 끝 플래그(324) 정보를 기록한다.As another operation of the apparatus, the following procedure is used to write data to the erased data area (DA) 350. First, the first index 320 is found. The first index 320 has all the information about the previous index and no data is written in the second index 330. After the first index 320 is found, the write start flag 323 information is recorded at a specific address of the second index 330. Then, actual data is recorded in the data area 350. After writing, all data up to the address to be modified in the first index 320 is moved to the second index 330. Since the addresses in all blocks are the same, the modified index data relating to the data of the address to be modified of the first index 320 is written to the address of the second index 330, and the checksum of the second index 330 is After moving all the data before the address where the data is to be written to the second index 330, the checksum and the data end 322 are written to the second index 330. Then, all data of the first index 320 is erased and the write end flag 324 information is recorded at a specific address of the second index 330.
상기 장치의 또 다른 동작으로서, 데이터 영역(350)에서의 데이터 이동을 수행하기 위해서는 다음 순서를 따른다. 먼저 제 1 인덱스(320)를 찾는다. 제 1 인덱스(320)는 이전의 인덱스에 대한 모든 정보를 가지고 있으며 제 2 인덱스(330)에는 어떤 데이터도 기입되어 있지 않다. 제 1 인덱스(320)를 찾은 후 제 2 인덱스(330)의 특정 어드레스에 기입 시작 플래그(323) 정보와 옮기려는 데이터의 데이터 넘버(Data Number;DNB)(325)를 기록한다. 복사 블록(Copy Block;CBL)(340)을 이용하여 데이터 영역(350)에서 데이터를 이동한다. 이동이 완료되면, 제 1 인덱스(320)의 수정하려는 어드레스의 전까지의 모든 데이터를 제 2 인덱스(330)로 이동시킨다. 모든 블록 내에서의 어드레스는 동일하므로 제 1 인덱스(320)의 수정하려는 어드레스의 데이터와 관련한 수정된 데이터를 제 2 인덱스(330)의 그 어드레스에 기록하고 제 2 인덱스(330)의 체크썸 데이터가 기록될 어드레스 앞의 모든 데이터를 제 2 인덱스(330)에 옮긴 후, 제 2 인덱스(330)에 체크썸과 데이터 끝(322)을 기록한다. 그리고 나서 제 1 인덱스(320)의 모든 데이터를 소거하고 제 2 인덱스(330)의 특정 어드레스에 기입 끝 플래그(324) 정보를 기록한다.As another operation of the apparatus, the following order is performed to perform data movement in the data area 350. First, the first index 320 is found. The first index 320 has all the information about the previous index and no data is written in the second index 330. After finding the first index 320, the write start flag 323 information and the data number (DNB) 325 of the data to be moved are recorded at a specific address of the second index 330. Data is moved in the data area 350 using a copy block (CBL) 340. When the movement is completed, all data up to the address of the first index 320 to be modified are moved to the second index 330. Since the addresses in all blocks are the same, the modified data relating to the data of the address to be modified of the first index 320 is written to the address of the second index 330 and the checksum data of the second index 330 is After moving all the data before the address to be recorded to the second index 330, the checksum and the data end 322 are written to the second index 330. Then, all data of the first index 320 is erased and the write end flag 324 information is recorded at a specific address of the second index 330.
본 발명은 재기록 가능한 불휘발성 메모리의 기록정보 복구장치 및 방법에 관한 것으로, 디지털 신호 처리기 및 메모리 인터페이스 장치, 그리고 플래시 메모리 포함하여 전원전압이 중단되었다가 다시 공급된 경우, 플래시 메모리의 어느 곳까지 기록했는가에 대한 정보를 플래시 메모리 내의 인덱스로부터 얻어, 이 정보에 따라 처리함으로써 시스템이 정상 동작을 하도록 기록 정보를 복구해 낼 수 있다.The present invention relates to an apparatus and method for recovering record information of a rewritable nonvolatile memory, including a digital signal processor, a memory interface device, and a flash memory, where a power supply voltage is interrupted and supplied again, wherever the flash memory is recorded. By obtaining the information on whether or not the information from the index in the flash memory and processing according to this information, it is possible to recover the record information for the normal operation of the system.
실시예Example
이하, 표 1 및 2, 그리고 도 7을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to Tables 1 and 2, and FIG.
상기 플래시 메모리(300)는 제 1 및 제 2 영구정보테이블(Permanent Infor- mation Table;PIT)(310, 360)과, 제 1 및 제 2 인덱스(index)(320, 330)와, 복사 블록(Copy BLock;CBL)(340)과, 데이터 영역(Data Area;DA)(350)을 포함한다.The flash memory 300 includes first and second permanent information tables (PITs) 310 and 360, first and second indexes 320 and 330, and a copy block ( Copy BLock (CBL) 340 and a data area (DA) 350.
상기 제 1 영구정보테이블(310)은 시스템 초기화시에 정의되는 정보를 갖는다. 상기 제 1 인덱스(320)는 이전 데이터의 시작과 끝을 나타내는 정보를 갖는다. 상기 제 2 인덱스(330)는 상기 플래시 메모리(300)의 불필요한 데이터 이동을 최소화하여 기입 또는 소거 횟수를 줄이기 위해 상기 제 1 인덱스(320)와 교대로 사용되고, 모든 블록내에서 상기 제 1 인덱스(320)와 동일한 어드레스를 갖는다. 상기 복사 블록(340)은 데이터 수정시 임시적인 데이터 기억장소로 사용된다. 상기 데이터 영역(350)은 상기 디지털 신호 처리기(100)로부터 받은 데이터가 저장된다. 상기 제 2 영구정보테이블(360)은 상기 제 1 영구정보테이블(310)의 복사본으로 불량블록이나 제 1 영구정보테이블(310)과 구별되는 특징 데이터를 갖는다.The first permanent information table 310 has information defined at system initialization. The first index 320 has information indicating the start and end of previous data. The second index 330 is alternately used with the first index 320 to minimize the unnecessary data movement of the flash memory 300 to reduce the number of writing or erasing, and the first index 320 in every block. ) Has the same address. The copy block 340 is used as a temporary data storage when data is modified. The data area 350 stores data received from the digital signal processor 100. The second permanent information table 360 is a copy of the first permanent information table 310 and has characteristic data distinguished from the bad block or the first permanent information table 310.
상기 제 1 인덱스(320)와 제 2 인덱스(330) 영역은 인덱스 데이터와 수정된 인덱스 데이터가 기입되는 인덱스 데이터(321) 영역과, 상기 데이터 영역(350)에 데이터를 기입할 때 시작정보가 기입되는 기입 시작 플래그(WSF)(323) 영역과, 상기 인덱스 데이터(321) 영역에 인덱스 데이터의 기입이 모두 끝난 후 기입되는 데이터 끝(EOD)(322) 영역과, 상기 데이터 영역(350)에 데이터를 기입하는 것을 끝낸 정보가 들어가는 기입 끝 플래그(WEF)(324) 영역과, 옮기려는 데이터의 수를 나타내는 데이터 넘버(DNB)(325) 영역을 포함한다.The first index 320 and the second index 330 areas are index data 321 in which index data and modified index data are written, and start information is written when data is written in the data area 350. Data in the write start flag (WSF) 323 area, the data end (EOD) 322 area to be written after all of the index data has been written in the index data 321 area, and the data area 350. A write end flag (WEF) 324 area into which the information which has finished writing the data is entered, and a data number (DNB) 325 area indicating the number of data to be transferred.
상기 재기록 가능한 불휘발성 메모리(300)를 인덱스 영역과 데이터 영역으로 나누어 사용하는 기록장치의 상기 세 가지 동작 중 전원전압 공급이 중단되게 되면, 플래시 메모리(300)의 제 1 인덱스(320)와 제 2 인덱스(330)의 데이터 끝(322), 기입 시작 플래그(323), 기입 끝 플래그(324), 그리고 데이터 넘버(325)는 표 1과 같은 상태가 된다.The first index 320 and the second index 320 of the flash memory 300 are interrupted when the supply voltage is stopped during the three operations of the recording apparatus using the rewritable nonvolatile memory 300 divided into an index area and a data area. The data end 322, the write start flag 323, the write end flag 324, and the data number 325 of the index 330 are in the state shown in Table 1 below.
이 때, 제 1 인덱스(320)와 제 2 인덱스(330)로 나올 수 있는 가능한 상태는 크게 네 가지로 구분되며, 제 1 인덱스(320)와 제 2 인덱스(330) 내의 영역 중 데이터 끝(322), 기입 시작 플래그(323), 그리고 기입 끝 플래그(324)에 대해 각각 한 비트씩을 할당하여 얻은 값이 표 1의 우측에 A와 B로 각각 표기되어 있다. A는 제 1 인덱스(320)에 대한 상기 세 비트의 값이며, B는 제 2 인덱스(330)에 대한 상기 세 비트의 값이다. 데이터 넘버(325)가 0 또는 양수인 경우는 기호 N으로 표기하였고, 독출한 값이 모두 하이(high)인 경우 즉, 2의 보수 표현법의 수에서 -1로 나타난 경우는 F로, 돈 케어(don't care)는 X로 표기하였다.At this time, the possible states that can be separated into the first index 320 and the second index 330 are largely divided into four types, and the data ends 322 among the regions in the first index 320 and the second index 330. ), The values obtained by allocating one bit for each of the write start flag 323 and the write end flag 324 are indicated as A and B on the right side of Table 1, respectively. A is the value of the three bits for the first index 320 and B is the value of the three bits for the second index 330. If the data number 325 is 0 or a positive number, the symbol N is used. If the read values are all high, that is, F is represented by -1 in the number of two's complement representations, F is used. 't care) is denoted by X.
첫 번째의 상태(1-1)는 데이터 영역(350)에 기입 또는 소거 동작이 없던 상태이며, 두 번째 상태(2-1)는 데이터 영역(350)에 기입 또는 소거 동작이 행해지던 상태이다. 세 번째 상태(3-1,3-2,3-3,3-4,3-5)는 기입 또는 소거 동작은 완료된 상태이며 제 1 인덱스(320)의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스 데이터(330)에 기록되던 상태를 나타낸다. 네 번째 상태(4-1)는 데이터 영역(350)에 기입 또는 소거 동작이 완료되고, 제 1 인덱스(320)의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스(330)에 기록되었으며, 제 1 인덱스(320)의 기록이 삭제된 상태를 포함하여 기입 또는 소거 동작이 모두 완료된 상태를 나타낸다.The first state 1-1 is a state in which there is no write or erase operation in the data area 350, and the second state 2-1 is a state in which a write or erase operation is performed in the data area 350. FIG. In the third state (3-1,3-2,3-3,3-4,3-5), the write or erase operation is completed and the index data of the first index 320 and the modified index data are second. The state recorded in the index data 330 is shown. In the fourth state 4-1, the write or erase operation is completed in the data area 350, the index data of the first index 320 and the modified index data are written in the second index 330, and the first index 4. This indicates a state in which all of the write or erase operations are completed, including the state in which the recording of the index 320 is deleted.
장치에 다시 전원전압이 공급되면 표 1의 상태를 바탕으로 정보복구를 해야 한다. 정보복구 방법은 표 1에 나타나 있는 상태를 다시 여섯 가지로 가정하여 분류할 수 있고 각각에 대해 기록정보 복구처리를 행할 수 있다.When the device is powered back on, the information should be recovered based on the conditions in Table 1. The information recovery method can be classified by assuming that the states shown in Table 1 are six again, and the record information recovery process can be performed for each.
표 2에 표 1의 상태를 바탕으로 가능한 여섯 가지의 가정을 나타내었다.Table 2 shows six possible assumptions based on the state of Table 1.
도 7은 표 2를 바탕으로 복구 작업을 수행하기 위한 플로우챠트를 나타낸다. 제 1 인덱스(320)와 제 2 인덱스(330)를 결정하여 각각에 대해 단계별로 기록정보 복구처리를 행하는 과정이 나타나 있다.7 shows a flowchart for performing a recovery operation based on Table 2. FIG. A process of determining the first index 320 and the second index 330 and performing record information recovery processing for each step is shown.
우선 경우 1에서처럼 제 2 인덱스(330)에 대한 데이터 끝(322), 기입 시작 플래그(323), 기입 끝 플래그(324)에 각각 한 비트씩을 할당하여 얻은 값이 1인 경우 즉, B=1로 판별(S10)된 경우는 데이터 영역(350)에 기입 또는 소거 동작은 완료된 상태이며, 제 1 인덱스(320)의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스(330)에 기록되던 상태이므로, 제 1 인덱스(320)와 제 2 인덱스(330)를 서로 바꾸고(S12) 제 2 인덱스(330)를 삭제한다(S14).First, as in case 1, when a value obtained by assigning one bit to the data end 322, the write start flag 323, and the write end flag 324 for the second index 330 is 1, that is, B = 1. In the case where the determination is made (S10), since the writing or erasing operation is completed in the data area 350, the index data and the modified index data of the first index 320 are recorded in the second index 330. The first index 320 and the second index 330 are exchanged with each other (S12), and the second index 330 is deleted (S14).
상기 S10 단계의 판별 결과가 B=1이 아니라면, 경우 2에서처럼 A=1인가를 판별(S20)한다.If the determination result of step S10 is not B = 1, it is determined whether A = 1 as in case 2 (S20).
상기 S20 단계의 판별 결과가 A=1이면, 제 1 인덱스(320)와 제 2 인덱스(330)의 가정이 틀린 것으로 데이터 영역(350)에 기입 또는 소거 동작은 완료된 상태이고 제 1 인덱스(320)의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스(330)에 기록되던 상태이며, 제 1 인덱스(320)와 제 2 인덱스(330)를 서로 바꾸는 단계가 이루어졌다고 보고 제 2 인덱스(330)의 기록을 삭제한다(S14).If the determination result of step S20 is A = 1, the assumption of the first index 320 and the second index 330 is incorrect, and the writing or erasing operation is completed in the data area 350 and the first index 320 is completed. It is reported that the index data and the modified index data of the second index 330 were recorded, and the step of swapping the first index 320 and the second index 330 was reported. Delete (S14).
상기 S20 단계의 판별 결과가 A=1이 아니라면, 경우 3에서처럼 A=5인가를 판별(S30)한다.If the determination result of step S20 is not A = 1, it is determined whether A = 5 as in case 3 (S30).
상기 S30 단계의 판별 결과가 A=5이면, 제 1 인덱스(320)와 제 2 인덱스(330)의 가정이 틀린 것으로, 데이터 영역(350)에 기입 또는 소거 동작이 행해지던 상태이며 제 1 인덱스(320)와 제 2 인덱스(330)를 서로 바꾸고(S32), 이 때는 데이터 넘버(325)의 유무를 판별(S34)하여 숫자가 있는 경우(기호 N)는 제 1 인덱스(320)에 근거하여 다시 새로운 데이터를 저장하기 위해 기존의 불완전한 해당 데이터를 삭제(S36)하고 제 2 인덱스(330)를 삭제하며(S38), 데이터 넘버(325)에 숫자가 없는 경우(기호 F)는 제 1 인덱스(320)에 근거하여 기록된 마지막 데이터 이후로 데이터 영역(350)을 삭제(S35)하고 제 2 인덱스(330) 영역을 삭제한다(S38).If the determination result of step S30 is A = 5, the assumption of the first index 320 and the second index 330 is wrong, and the writing or erasing operation is performed in the data area 350 and the first index ( 320 and the second index 330 are exchanged with each other (S32). At this time, the presence or absence of the data number 325 is determined (S34), and if there is a number (symbol N), it is again based on the first index 320. In order to store the new data, the existing incomplete corresponding data is deleted (S36) and the second index 330 is deleted (S38), and if the number is not included in the data number 325 (symbol F), the first index 320 The data area 350 is deleted after the last recorded data (S35) and the second index 330 area is deleted (S38).
상기 S30 단계의 판별 결과가 A=5가 아니라면, 경우 4에서처럼 B=5인지를 판별(S40)한다.If the determination result of step S30 is not A = 5, it is determined whether B = 5 as in case 4 (S40).
상기 S40 단계의 판별 결과가 B=5라면, 이 경우는 데이터 영역(350)에 기입 또는 소거 동작이 행해지던 상태이며, A=5인 경우에서처럼 데이터 넘버(S325)를 판별(S34)하여 같은 복구처리 단계(S35, S36, S38)를 수행한다.If the determination result of step S40 is B = 5, in this case, the writing or erasing operation is performed in the data area 350, and as in the case of A = 5, the data number S325 is determined (S34) and the same recovery is performed. The processing steps S35, S36, S38 are performed.
상기 S40 단계의 판별 결과가 B=5가 아니라면, 경우 5에서처럼 A=7인지를 판별(S50)한다.If the determination result of step S40 is not B = 5, it is determined whether A = 7 as in case 5 (S50).
상기 S50 단계의 판별 결과가 A=7이라면, 이 경우는 데이터 영역(350)에 기입 또는 소거 동작이 완료되고, 제 1 인덱스(320)의 인덱스 데이터와 수정된 인덱스 데이터가 제 2 인덱스(330)에 기록되었으며, 제 1 인덱스(320)의 기록이 삭제된 경우로 제 2 인덱스(330)의 설정을 서로 바꾼다(S52).If the determination result of step S50 is A = 7, in this case, the writing or erasing operation is completed in the data area 350, and the index data and the modified index data of the first index 320 are converted into the second index 330. In the case where the record of the first index 320 is deleted, the settings of the second index 330 are interchanged (S52).
상기 S50 단계의 판별 결과가 A=7이 아니라면, 경우 6에서처럼 B=7인 경우로 기입 또는 소거 동작이 없던 상태이므로 아무런 복구 작업도 필요하지 않으므로 종료하는 단계를 포함한다.If the determination result of step S50 is not A = 7, since the write or erase operation is not performed in the case of B = 7 as in case 6, no recovery operation is required, and thus the process ends.
본 발명은 전원전압 공급이 중단되었다가 다시 공급되었을 때, 재기록 가능한 불휘발성 메모리의 기록정보를 찾아내어 복구처리 함으로써, 이미 기록되어 있는 곳에 기록을 한다거나 기록된 데이터를 삭제 한다든가하여 전체 시스템 동작에 오류를 일으키는 문제점을 해결할 수 있는 효과가 있다.The present invention finds and recovers record information of a rewritable nonvolatile memory when the power supply voltage is interrupted and then supplied again, thereby recording the previously recorded data or deleting the recorded data. There is an effect to solve the problem causing the error.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960044937A KR100206186B1 (en) | 1996-10-09 | 1996-10-09 | Data recovering equipment of rewritable nonvolatile memory and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960044937A KR100206186B1 (en) | 1996-10-09 | 1996-10-09 | Data recovering equipment of rewritable nonvolatile memory and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980026498A true KR19980026498A (en) | 1998-07-15 |
KR100206186B1 KR100206186B1 (en) | 1999-07-01 |
Family
ID=19476864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960044937A KR100206186B1 (en) | 1996-10-09 | 1996-10-09 | Data recovering equipment of rewritable nonvolatile memory and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100206186B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100365725B1 (en) * | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | Ranked Cleaning Policy and Error Recovery Method for File Systems Using Flash Memory |
KR100451179B1 (en) * | 2001-11-24 | 2004-10-02 | 엘지전자 주식회사 | Memory management method of portable phone |
KR100577380B1 (en) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | A flash-memory and a it's controling method |
KR100692982B1 (en) * | 2005-08-26 | 2007-03-12 | 삼성전자주식회사 | NAND type flash memory for recording bad block information |
KR100704618B1 (en) * | 2004-01-19 | 2007-04-10 | 삼성전자주식회사 | Data recovery device and method thereof |
KR100816120B1 (en) * | 2006-12-27 | 2008-03-21 | 주식회사 하이닉스반도체 | The method for the data swapping between the blocks of non volatile memory device |
-
1996
- 1996-10-09 KR KR1019960044937A patent/KR100206186B1/en not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100577380B1 (en) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | A flash-memory and a it's controling method |
KR100365725B1 (en) * | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | Ranked Cleaning Policy and Error Recovery Method for File Systems Using Flash Memory |
KR100451179B1 (en) * | 2001-11-24 | 2004-10-02 | 엘지전자 주식회사 | Memory management method of portable phone |
KR100704618B1 (en) * | 2004-01-19 | 2007-04-10 | 삼성전자주식회사 | Data recovery device and method thereof |
US7421624B2 (en) | 2004-01-19 | 2008-09-02 | Samsung Electronics Co., Ltd. | Data recovery apparatus and method used for flash memory |
KR100692982B1 (en) * | 2005-08-26 | 2007-03-12 | 삼성전자주식회사 | NAND type flash memory for recording bad block information |
KR100816120B1 (en) * | 2006-12-27 | 2008-03-21 | 주식회사 하이닉스반도체 | The method for the data swapping between the blocks of non volatile memory device |
Also Published As
Publication number | Publication date |
---|---|
KR100206186B1 (en) | 1999-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2242805C2 (en) | Recording method, control device and recording device | |
KR100193779B1 (en) | Semiconductor disk device | |
US6388908B1 (en) | Recording system, data recording device, memory device, and data recording method | |
US7065608B2 (en) | Apparatus for recording data and method for writing data to flash memory | |
KR100578427B1 (en) | Memory management method | |
KR100987241B1 (en) | Memory Device and Recording/Reproducing Apparatus Using the Same | |
US8327068B2 (en) | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method | |
US5841699A (en) | Storage device and method to detect its degradation | |
KR100742849B1 (en) | Data storage, data processing system, data processing method and data processing apparatus | |
KR100564672B1 (en) | Storage device, data recording method and data reading method | |
US20070033364A1 (en) | Information recording medium, information recording medium accessing apparatus and accessing method | |
US5233591A (en) | Auto changer apparatus with a defect control memory | |
JP5592293B2 (en) | Nonvolatile storage device, access device, and nonvolatile storage system | |
KR100206186B1 (en) | Data recovering equipment of rewritable nonvolatile memory and method thereof | |
JPH04307644A (en) | Memory card storage control system | |
JPH09128165A (en) | Solid state recording and reproducing device | |
JP2005243000A (en) | Semiconductor memory device, memory controller and data recording method | |
JP2001101087A (en) | Memory and memory controlling method | |
JP2584119B2 (en) | Data recording method in memory card and memory card system | |
JPH04307647A (en) | Memory card storage control system | |
JP3921751B2 (en) | Recording apparatus, recording method, and recording / reproducing apparatus | |
JP4173138B2 (en) | Storage control device having function of restoring to initial state, storage device control method, and program | |
JP4766781B2 (en) | Semiconductor memory device | |
JPH10240633A (en) | Memory system and memory card | |
JP3600008B2 (en) | Recording / reproducing device for batch erase type memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100315 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |