KR20000039727A - Method for approaching flash memory - Google Patents

Method for approaching flash memory Download PDF

Info

Publication number
KR20000039727A
KR20000039727A KR1019980055139A KR19980055139A KR20000039727A KR 20000039727 A KR20000039727 A KR 20000039727A KR 1019980055139 A KR1019980055139 A KR 1019980055139A KR 19980055139 A KR19980055139 A KR 19980055139A KR 20000039727 A KR20000039727 A KR 20000039727A
Authority
KR
South Korea
Prior art keywords
data
flash memory
area
block
task
Prior art date
Application number
KR1019980055139A
Other languages
Korean (ko)
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 KR1019980055139A priority Critical patent/KR20000039727A/en
Publication of KR20000039727A publication Critical patent/KR20000039727A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

PURPOSE: An approaching method of flash memory is provided to complete a slow access time by updating only small data and to increase an operating speed and a life of flash memory by minimizing a necessity of erase time. CONSTITUTION: Data areas not used at present are erased among plural data area until a writing operation of flash memory is not performed and it is stand-by until the erase operation is finished. When the present used data area are filled all in finished the erase operation during watching a state if the present used data area are filled all, a data of final block is copied to a first block of an area finished the erase operation. An invalid block flag is set to inform that a data of an area used newly is valid. Moreover, other variables related with the operation are updated together.

Description

플래시 메모리 접근 방법Flash memory approach

본 발명은 플래시 메모리 접근 방법에 관한 것으로, 특히 한 순간에 적은 데이터만을 업데이트하도록 하여 더딘 엑세스 시간(access time)을 보완해 주며, 삭제 시간(erase time)의 필요성을 최소화 시켜 플래시 메모리의 실행 속도와 수명을 늘려줄 수 있는 플래시 메모리 접근 방법에 관한 것이다.The present invention relates to a flash memory access method, and in particular, to update only a small amount of data at a time to compensate for slow access time, and to minimize the need for erase time, It's about a flash memory approach that can extend its lifespan.

최근 플래시 메모리는 비휘발성(non-volatile) 메모리로 그 이용이 점차 증가하고 있는 추세로 데이터의 리드, 라이트시 일반적인 메모리와의 큰 차이점은 라이트 시간이 리드 시간에 비해 훨씬 길고, 메모리가 블록으로 나뉘어져 있어서 해당 블록에 하나의 데이터만 쓰더라도 그 블록 전체를 지우고 다시 써야 한다는 점이다.Recently, flash memory is a non-volatile memory, and its usage is gradually increasing. A big difference from general memory when reading or writing data is that the write time is much longer than the read time, and the memory is divided into blocks. Therefore, even if only one data is written to the block, the entire block must be erased and rewritten.

도1은 종래 플래시 메모리에 데이터를 라이트하는 과정을 보인 블록도로서, 이에 도시된 바와 같이 사용자가 플래시 메모리에 라이트를 하고자 할 때(ST1) 일단, 라이트할 부분이 들어있는 블록의 전체 데이터를 램(Ram)과 같은 휘발성(volatile) 메모리에 백업시킨(ST2) 다음 플래시 메모리를 지우고(ST3), 상기 램에 백업시켜둔 데이터에서 필요한 부분을 수정하여 다시 플래시 메모리에 라이트(ST4) 하였다.FIG. 1 is a block diagram illustrating a process of writing data to a conventional flash memory. As shown in FIG. 1, when a user wants to write to a flash memory (ST1), the entire data of a block containing a portion to be written is RAM. The flash memory was backed up to a volatile memory such as Ram (ST2), then the flash memory was erased (ST3), and a necessary portion of the data backed up to the RAM was modified and then written back to the flash memory (ST4).

그러나, 상기의 경우 플래시 메모리의 특성상 아주 조그만 데이터의 변화만 있더라도 지우기 과정(erase operation)이 들어가기 때문에 사용자의 체감 속도가 느려지게 된다.However, in the above case, even if there is only a small change in data due to the characteristics of the flash memory, an erasing operation is performed, so that the user's haptic speed is slowed down.

도2는 이와 같은 문제점을 개선하기 위해 멀티태스킹 기법을 적용하여 데이터의 라이트를 하는 과정을 보인 블록도로서, 이에 도시된 바와 같이 사용자가 현재 수행하고 있는 응용 프로그램(Application)의 임무(task)는 계속 수행되면서 플래시 메모리의 라이트 동작(write operation)은 상기 도1과 같은 플래시 태스크(flash task)로 실행하는 것이다. 이때 플래시 태스크(flash task)의 우선순위를 어플리케이션(Application)의 목적에 따라 다르게 두면 된다. 그리고, 플래시 태스크(flash task)의 우선순위를 응용 태스크(Application task)보다 높게 두면 즉, 라이트 동작이 완료되어 응답신호(ack)가 출력된 후 다음 과정(next procedure)이 진행되도록 할 경우는 도1의 경우와 동일하게 되고, 데이터 보존성이 높아지고, 데이터 손실율이 낮아지며 어플리케이션 실행속도가 늦어진다. 반대로 플래시 태스크의 우선 순위를 낮게 두는 경우에는 데이터가 플래시 메모리에 완전히 라이트된 것을 확인하지 않고 다음 과정(next procedure)을 진행하기 때문에 데이터의 보존성이 낮아지고, 전원이 갑자기 끊어졌을 때 데이터가 손실될 확률이 커지게 되는 단점이 있는 반면 어플리케이션의 실행속도가 빨라지는 장점이 있다.FIG. 2 is a block diagram illustrating a process of writing data by applying a multitasking technique to improve such a problem. As shown in FIG. 2, a task of an application currently executed by a user is The write operation of the flash memory while being continuously performed is executed by a flash task as shown in FIG. 1. In this case, the priority of the flash task may be set differently according to the purpose of the application. If the priority of the flash task is higher than that of the application task, that is, the next operation is performed after the write operation is completed and the response signal ack is outputted. Same as the case 1, the data retention is higher, the data loss rate is lower, and the application execution speed is slower. Conversely, if you lower the priority of the flash task, the next procedure is performed instead of confirming that the data has been completely written to the flash memory. Therefore, the preservation of the data becomes low and the probability of data loss when the power is suddenly cut off. This has the disadvantage of being larger while the application is running faster.

이와 같이, 상기 종래의 기술에 있어서는 아주 조그만 데이터의 변화만 있더라도 플래시 메모리를 지우는 과정이 들어가기 때문에 태스크 수행 시간이 길어지는 플래시 메모리의 특성을 고려하지 않고 순차 처리를 할 경우 라이트 도중 전원이 불안정하여 데이터를 잃어버려도 데이터를 복구할 수 있는 방법이 없기 때문에 개발의 최종 단계에서 심각한 오류가 발생 되는 문제점이 있었다.As described above, in the conventional technology, even if there is only a slight change in data, a process of erasing the flash memory is involved. When the sequential processing is performed without considering the characteristics of the flash memory, which causes a long task execution time, the power is unstable during writing. In the final stage of development, there was a problem that a serious error occurs because there is no way to recover data even if the data is lost.

따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 플래시 메모리를 복수개의 데이터 영역으로 나누고 한 영역이 다 채워질 경우 다른 영역과 번갈아 가며 이용하도록 함으로써 플래시 메모리 접근(access)시 체감 속도를 높히고, 지우기 동작을 감소 시킬 수 있는 플래시 메모리 접근 방법을 제공 하는데 그 목적이 있고 또한 이전의 데이터를 오랫동안 지우지 않으므로 데이터 오류시 데이터를 복구하는데 목적이 있다.Accordingly, the present invention was created to solve the above-mentioned conventional problems. When the flash memory is divided into a plurality of data areas and one area is filled, the present invention alternately uses the other area to experience flash memory access. Its purpose is to provide a flash memory access method that speeds up and reduces erase operations. It also aims to recover data in the event of a data failure since the previous data is not erased for a long time.

도1은 종래 플래시 메모리에 데이터를 라이트하는 과정을 보인 블록도.1 is a block diagram showing a process of writing data to a conventional flash memory.

도2는 종래 멀티태스킹 기법을 적용하여 데이터의 라이트를 하는 과정을 보인 블록도.2 is a block diagram showing a process of writing data by applying a conventional multitasking technique.

도3은 발명 플래시 메모리 접근 방법의 개념도.3 is a conceptual diagram of an inventive flash memory access method.

도4의 (a)는 플래시 메모리에 저장되는 데이터의 형식을 보인 구성도.Fig. 4A is a block diagram showing the format of data stored in the flash memory.

(b)는 데이터 영역에 저장되는 모양을 개략적으로 보인 구성도.(b) is a schematic diagram showing the shape stored in the data area.

도5는 본 발명에 의한 리드 동작시의 과정을 보인 순서도.5 is a flowchart showing a process during a read operation according to the present invention.

도6은 본 발명에 의한 라이트 동작시의 과정을 보인 순서도.Figure 6 is a flow chart showing a process during the write operation according to the present invention.

도7은 본 발명에 의한 리로케이션 태스크의 동작 과정을 보인 순서도.7 is a flowchart illustrating an operation process of a relocation task according to the present invention.

이와 같은 목적을 달성하기 위한 본 발명은, 플래시 메모리 접근 이벤트 발생시 그 요청 동작이 리드 또는 라이트인지를 판단하여 플래시 메모리에 데이터를 리드 또는 라이트 하거나 플래시 태스크의 제어메시지에 의해 플래시 메모리의복수의 영역중 어느 한 영역이 다 채워졌는지를 검사하여 리로케이션 태스크에 제어 메시지를 보내는 플래시 태스크 과정과; 다른 영역으로 라이트될 수 있도록 제어하는 리로케이션 태스크 과정으로 이루어짐으로써 달성되는 것으로, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.In order to achieve the above object, the present invention can determine whether the requested operation is read or write when a flash memory access event occurs, and read or write data to or from a plurality of areas of the flash memory by a control message of the flash task. A flash task process of checking whether one region is filled and sending a control message to a relocation task; It is achieved by a relocation task process for controlling to be written to another area, the embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

일단, 플래시 메모리를 사용하는 임의의 시스템을 처음 시작하면 플래시 메모리의 임의의 데이터 영역에 저장되어 있는 최종 블록의 데이터를 검사하여 만약 오류가 있다면 그 바로 전 블록의 데이터를 최종 데이터로 하여 그 데이터를 램(Ram)으로 백업하는 초기화 동작을 하게 된다.Once you start a system that uses flash memory for the first time, it checks the data of the last block stored in any data area of flash memory, and if there is an error, the data of the immediately preceding block is used as the final data. Initialize operation to back up to RAM.

이후 발생되는 이벤트에 의해 라이트 이벤트일 경우는 램과 플래시 메모리에 동시에 라이트되게 한다.In the event of a later event, the write event is written to both RAM and flash memory.

그러나, 그 특성상 램은 리라이트가 되고 플래시 메모리는 본 발명의 방법에 의해 임의의 데이터 영역에 쌓이게 되며, 리드 이벤트일 경우는 램으로부터 데이터를 리드하게 된다.However, due to its characteristics, the RAM is rewritten and the flash memory is accumulated in an arbitrary data area by the method of the present invention, and in the case of a read event, data is read from the RAM.

그 상세한 과정을 첨부된 도면을 참조하여 설명하면 다음과 같다.The detailed process will be described below with reference to the accompanying drawings.

도3은 본 발명 플래시 메모리 접근(access) 방법의 개념도로서, 이에 도시한 바와 같이 플래시 메모리에 접근하고자 하는 이벤트(메시지 전송이나 직접 호출등)가 발생하면 플래시 태스크는 요청된 동작이 리드이면 초기화시에 플래시 메모리로 부터 백업을 받아둔 램(ram,미도시)으로 부터 데이터를 보내주고, 라이트이면 플래시 메모리의 복수의 영역(primary, secondary data area)중 어느 한 영역과 램에 동시에 데이터를 라이트하고 라이트하는 영역이 거의 다 채워지면 리로케이션 태스크를 스타트 시킨다. 리로케이션 태스크는 플래시 태스크에 의해 시작되면 현재 사용하고 있지 않은 영역을 지우고 이 영역으로 데이터를 재구성하여 복사한다.3 is a conceptual diagram of a flash memory access method according to the present invention. When an event (message transmission or direct call, etc.) occurs to access the flash memory as shown in FIG. Sends data from the RAM (not shown) backed up from the flash memory, and writes data to any one of the primary and secondary data areas of the flash memory at the same time. Start the relocation task when the area to be written is almost full. When a relocation task is initiated by a flash task, it erases the area that is not currently in use and reconstructs and copies the data into this area.

도4의 (a),(b)는 플래시 메모리의 복수의 데이터 영역에 저장되는 데이터의 형식(format)과 저장되는 모양을 개략적으로 보인 구성도로서, 데이터의 형식은 복수개의 데이터 영역 중 어느 데이터 영역에 있는 데이터가 유효한지를 구분하기 위한 무효블록 플래그(Invalid block flag)와; 데이터의 유효유무를 알려주는 유효비트(valid)와; 데이터의 유형을 구분하기 위한 데이터 유형자(ID)와; 데이터의 크기(Size) 및 업데이트할 경우의 다음 시작 어드레스(addr)등으로 구성된 헤더부와; 실제 데이터(Data)가 라이트 되는 데이터부로 구성되어 있다.4 (a) and 4 (b) are schematic diagrams illustrating a format and a shape of data stored in a plurality of data areas of a flash memory, and the format of the data is any data among the plurality of data areas. An invalid block flag for identifying whether data in the area is valid; A valid bit indicating whether data is valid; A data type identifier (ID) for identifying the type of data; A header section including a size of data and a next start address (addr) when updating; It consists of a data part to which real data (Data) is written.

상기 (a)와 같은 형식으로 구성된 데이터는 (b)와 같이 플래시 메모리의 복수개의 블록(n block)을 하나의 데이터 영역으로 구성한 복수개의 데이터 영역(primary, secondary data area)중 어느 한 데이터 영역에 데이터가 업데이트될 때 마다 종래의 블록을 지우지 않고, 다음 블록에 순차적으로 쌓이도록 한다.Data configured in the form of (a) may be stored in any one of a plurality of data areas (primary and secondary data areas) including a plurality of blocks (n blocks) of the flash memory as one data area as shown in (b). Whenever data is updated, the conventional blocks are sequentially stacked on the next block without erasing the conventional blocks.

이와 같이 플래시 메모리의 블록을 지우는 과정이 삭제되고, 바로 라이트 동작이 이루어지도록 함으로써 라이트시의 체감시간이 단축되게 된다.As such, the process of erasing the block of the flash memory is deleted, and the write operation is performed immediately, thereby reducing the haptic time during writing.

도5는 리드 동작시의 과정을 보인 순서도로서, 이에 도시된 바와 같이 발생된 이벤트가 리드일 경우 플래시 메모리와 동시에 라이트되는 램으로 부터 데이터를 리드하여 데이터를 요청한 소오스로 데이터를 전송하도록 이루어진 것으로 플래시 메모리로 부터 데이터를 리드할때에 비해 간단하게 이루어진다.FIG. 5 is a flowchart illustrating a process during a read operation. When an event generated as shown in FIG. 5 is a read, a data is read from a RAM which is simultaneously written with a flash memory to transfer data to a source requesting data. This is simpler than reading data from memory.

도6은 라이트 동작시의 과정을 보인 순서도로서, 이에 도시한 바와 같이 플래시 메모리가 동작중(Busy) 인지를 판단하여 동작중이 아니면 데이터를 업데이트하고(ST1), 동작중(Busy)이면 그 동작이 라이트 동작(write operation)인지 또는 지우기 동작(erase operation)인지를 판단하여(ST2) 만약, 라이트 동작이라면 그 라이트 동작이 완료될 때 까지 기다렸다가 업데이트 하고(ST3), 지우기 동작 즉, 리로케이션 태스크에 의해 사용하지 않는 영역을 지우고 있는 동작이라면 우선 순위에 의해 그 지우기 동작을 잠시 중지한 후 업데이트한 후에 다시 지우기 동작을 계속 수행하도록(ST4) 이루어 졌다.FIG. 6 is a flow chart illustrating a process during a write operation. As shown in FIG. 6, it is determined whether the flash memory is busy (Busy) to update data when not in operation (ST1), and when it is in operation (Busy). Determine whether this is a write operation or an erase operation (ST2). If it is a write operation, wait until the write operation is completed and update it (ST3). In the case of deleting an unused area by the priority, the erase operation is temporarily stopped and updated, and then the erase operation is continued (ST4).

도7은 리로케이션 태스크의 동작 과정을 보인 순서도로서, 이에 도시한 바와 같이 플래시 메모리의 라이트 동작이 이루어지지 않을 때 복수개의 데이터 영역중 현재 사용되지 않는 데이터 영역을 지우고(ST10), 상기 지우는 동작이 완료될 때 까지 대기한다.(ST20)FIG. 7 is a flowchart illustrating an operation of a relocation task. As shown in FIG. 7, when a write operation of a flash memory is not performed, a data region that is not currently used among a plurality of data regions is erased (ST10), and the erase operation is performed. Wait until it is completed (ST20)

다음, 현재 사용되는 데이터 영역이 다 채워지는지 그 상태를 감시하다가 상기 지우기 동작이 완료된 상태에서 현재 사용되는 데이터 영역이 모두 채워지면 최종 블록의 데이터를 상기 지우기 동작이 완료된 영역의 처음 블록으로 복사하고(ST30) 동시에 새로 사용되는 영역의 데이터가 유효한 것을 알리기 위해 상기 도4의 (a)에 도시된 바와 같이 무효블록 플래그(Invalid block flag)를 세트하고(ST40) 이와 함께 상기 동작에 관련된 기타 변수들을 같이 업데이트 시킨다.(ST50)Next, monitor the state that the currently used data area is full, and if the data area currently used is filled while the erase operation is completed, copy the data of the last block to the first block of the area where the erase operation is completed; ST30) At the same time, an invalid block flag is set as shown in (a) of FIG. 4 to indicate that data of the newly used area is valid (ST40), and together with other variables related to the operation, as shown in FIG. Update it (ST50)

이때 우선순위는 플래시 태스크가 최상위 이고, 리로케이션 태스크가 최하위로 되어 있어 플래시 태스크에 의한 플래시 메모리의 라이트 동작이 우선으로 수행되면서 라이트 동작이 되지 않을 때 리로케이션 태스크에 의해 데이터 영역의 지우기와 전환 동작이 이루어지도록 되어 있지만 리로케이션 태스크가 완료되지 않은 상태에서 영역을 전환해야 될 경우에는 리로케이션 태스크의 우선순위를 플래시 태스크와 같게 만들어 에러가 발생되지 않게 한다.At this time, the priority of the flash task is the highest and the relocation task is the lowest. Therefore, when the write operation of the flash memory is performed first by the flash task and the write operation is not performed, the data area is erased and switched by the relocation task. If this is to be done but the area needs to be switched when the relocation task is not completed, the priority of the relocation task is the same as the flash task so that no error occurs.

이상에서 설명한 바와 같이 본 발명 플래시 메모리 접근 방법은 플래시 메모리의 복수의 블록을 하나로 하는 복수개의 데이터 영역으로 나누고, 라이트시에 데이터를 외부의 램과 플래시 메모리의 어느 한 영역에 순차로 쌓이게 하고 그 영역이 다 채워질 경우 다른 영역과 번갈아 가며 이용하도록 하여 플래시 메모리는 초기화시 램에 백업할때만 리드하고, 이 후로는 새로운 데이터가 리라이트된 램으로 부터 데이터를 리드하게 함으로써 플래시 메모리 접근(access)시 체감 속도를 높히고, 지우기 동작 횟수를 감소시킴으로써 메모리의 수명을 늘려주는 효과가 있다.As described above, the flash memory access method of the present invention divides a plurality of blocks of the flash memory into a plurality of data areas, and at the time of writing, data is sequentially accumulated in any one area of the external RAM and the flash memory, and the area. When this is full, it alternates with other areas so that the flash memory can only be read when it is backed up to RAM at initialization, and then new data can be read from the rewritten RAM. By increasing the speed and reducing the number of erase operations, the life of the memory can be extended.

Claims (4)

플래시 메모리 접근 이벤트 발생시 그 요청 동작이 리드 또는 라이트인지를 판단하여 플래시 메모리에 데이터를 리드 또는 라이트 하거나 플래시 태스크의 제어메시지에 의해 플래시 메모리의복수의 영역중 어느 한 영역이 다 채워졌는지를 검사하여 리로케이션 태스크에 제어 메시지를 보내는 플래시 태스크 과정과; 다른 영역으로 라이트될 수 있도록 제어하는 리로케이션 태스크 과정으로 이루어진 것을 특징으로 하는 플래시 메모리 접근 방법.When a flash memory access event occurs, it is determined whether the request operation is a read or write operation. The data is read or written to the flash memory, and a control message of the flash task checks whether any one of the plurality of regions of the flash memory is filled. Sending a control message to a location task; A flash memory access method comprising a relocation task process for controlling writing to another area. 제1항에 있어서, 상기 플래시 메모리는 복수개의 블록을 하나의 데이터 영역으로 구성한 복수개의 데이터 영역중 어느 한 데이터 영역에 데이터가 업데이트될 때 마다 종래의 블록을 지우지 않고, 다음 블록에 순차적으로 쌓이도록 한 것을 특징으로 하는 플래시 메모리 접근 방법.The flash memory of claim 1, wherein the flash memory is stacked on the next block without erasing the conventional block each time data is updated in any one of the plurality of data areas including a plurality of blocks as one data area. Flash memory access method characterized in that. 제1항에 있어서, 상기 리로케이션 과정은 복수개의 데이터 영역중 현재 사용되지 않는 한 데이터 영역을 지우는 단계와; 상기 지우는 동작이 완료될 때 까지 대기하는 단계와; 현재 사용되는 데이터 영역의 최종 블록의 데이터를 상기 지우기 동작이 완료된 영역의 블록으로 복사하는 단계와; 새로 사용되는 영역의 데이터가 유효한 것을 알리기 위해 무효블록 플래그를 세트하는 단계와; 상기 동작에 관련된 기타 변수들을 같이 업데이트하는 단계로 이루어진 것을 특징으로 하는 플래시 메모리 접근 방법.The method of claim 1, wherein the relocation process comprises: erasing a data area unless currently used among a plurality of data areas; Waiting until the erase operation is completed; Copying the data of the last block of the data area currently used to the block of the area where the erase operation is completed; Setting an invalid block flag to indicate that data of a newly used area is valid; And updating other variables related to the operation together. 제1항에 있어서, 플래시 메모리의 각 데이터 영역에 저장되는 데이터의 형식은 복수개의 데이터 영역 중 어느 데이터 영역에 있는 데이터가 유효한지를 구분하기 위한 무효블록 플래그(Invalid block flag)와; 데이터의 유효유무를 알려주는 유효비트(valid)와; 데이터의 유형을 구분하기 위한 데이터 유형자(ID)와; 데이터의 크기(Size) 및 업데이트할 경우의 다음 시작 어드레스(addr)등으로 구성된 헤더부와; 실제 데이터(Data)가 라이트 되는 데이터부로 구성되는 것을 특징으로 하는 플래시 메모리 접근 방법.The data storage device of claim 1, wherein a format of data stored in each data area of the flash memory comprises: an invalid block flag for identifying which data area of the plurality of data areas is valid; A valid bit indicating whether data is valid; A data type identifier (ID) for identifying the type of data; A header section including a size of data and a next start address (addr) when updating; A flash memory access method comprising: a data unit in which actual data is written.
KR1019980055139A 1998-12-15 1998-12-15 Method for approaching flash memory KR20000039727A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980055139A KR20000039727A (en) 1998-12-15 1998-12-15 Method for approaching flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980055139A KR20000039727A (en) 1998-12-15 1998-12-15 Method for approaching flash memory

Publications (1)

Publication Number Publication Date
KR20000039727A true KR20000039727A (en) 2000-07-05

Family

ID=19562953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980055139A KR20000039727A (en) 1998-12-15 1998-12-15 Method for approaching flash memory

Country Status (1)

Country Link
KR (1) KR20000039727A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389867B1 (en) * 2001-06-04 2003-07-04 삼성전자주식회사 Flash memory management method
KR100449708B1 (en) * 2001-11-16 2004-09-22 삼성전자주식회사 Flash memory management method
KR100453053B1 (en) * 2002-06-10 2004-10-15 삼성전자주식회사 Flash memory file system
WO2007075668A1 (en) * 2005-12-16 2007-07-05 Microsoft Corporation Optimizing write and wear performance for a memory
KR100765786B1 (en) * 2006-06-12 2007-10-12 삼성전자주식회사 Flash memory system, host system for programming and program method thereof
US7882300B2 (en) 2006-10-27 2011-02-01 Samsung Electronics Co., Ltd. Apparatus and method for managing nonvolatile memory
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389867B1 (en) * 2001-06-04 2003-07-04 삼성전자주식회사 Flash memory management method
KR100449708B1 (en) * 2001-11-16 2004-09-22 삼성전자주식회사 Flash memory management method
US7127551B2 (en) 2001-11-16 2006-10-24 Samsung Electronics Co., Ltd. Flash memory management method
KR100453053B1 (en) * 2002-06-10 2004-10-15 삼성전자주식회사 Flash memory file system
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
WO2007075668A1 (en) * 2005-12-16 2007-07-05 Microsoft Corporation Optimizing write and wear performance for a memory
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
KR100765786B1 (en) * 2006-06-12 2007-10-12 삼성전자주식회사 Flash memory system, host system for programming and program method thereof
US7882300B2 (en) 2006-10-27 2011-02-01 Samsung Electronics Co., Ltd. Apparatus and method for managing nonvolatile memory
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store

Similar Documents

Publication Publication Date Title
US6571326B2 (en) Space allocation for data in a nonvolatile memory
US6571312B1 (en) Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
US8051258B2 (en) Apparatus and methods using invalidity indicators for buffered memory
US8307149B2 (en) Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table
JP3544610B2 (en) Memory device
TWI261254B (en) Memory card and semiconductor device
JP2778786B2 (en) Data update / restoration processing method
KR100238925B1 (en) A recoverable disk control system with a non-volatile memory
US20060179212A1 (en) Flash memory control devices that support multiple memory mapping schemes and methods of operating same
JP2007280428A (en) Memory management
US20080120488A1 (en) Apparatus and method of managing nonvolatile memory
US8650339B2 (en) Control of data transfer
KR20070005730A (en) Nonvolatile storage device and data write method
JP2008152464A (en) Storage device
JP2006079543A (en) Memory management device
US8185705B2 (en) Information recording medium, information recording medium accessing apparatus and accessing method
KR20040007395A (en) Posted write-through cache for flash memory
JP4046877B2 (en) Batch erase nonvolatile memory and mobile phone
JPH10133940A (en) Memory device
JP2003257132A (en) File management of one-time-programmable nonvolatile memory devices
KR20000039727A (en) Method for approaching flash memory
US5748537A (en) Method and apparatus for storing items in flash memory
JP3539752B2 (en) Semiconductor storage device and memory control method
JPH11282765A (en) External storage device using flash memory
JPH10124403A (en) Writing method for block deletion type flash memory

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination