KR20050027233A - The method of nand flash memory access for the device under the file system - Google Patents

The method of nand flash memory access for the device under the file system Download PDF

Info

Publication number
KR20050027233A
KR20050027233A KR1020050009953A KR20050009953A KR20050027233A KR 20050027233 A KR20050027233 A KR 20050027233A KR 1020050009953 A KR1020050009953 A KR 1020050009953A KR 20050009953 A KR20050009953 A KR 20050009953A KR 20050027233 A KR20050027233 A KR 20050027233A
Authority
KR
South Korea
Prior art keywords
flash memory
aat
size
address
information
Prior art date
Application number
KR1020050009953A
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 KR1020050009953A priority Critical patent/KR20050027233A/en
Publication of KR20050027233A publication Critical patent/KR20050027233A/en

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21SNON-PORTABLE LIGHTING DEVICES; SYSTEMS THEREOF; VEHICLE LIGHTING DEVICES SPECIALLY ADAPTED FOR VEHICLE EXTERIORS
    • F21S8/00Lighting devices intended for fixed installation
    • F21S8/08Lighting devices intended for fixed installation with a standard
    • F21S8/085Lighting devices intended for fixed installation with a standard of high-built type, e.g. street light
    • F21S8/086Lighting devices intended for fixed installation with a standard of high-built type, e.g. street light with lighting device attached sideways of the standard, e.g. for roads and highways
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V3/00Globes; Bowls; Cover glasses
    • F21V3/04Globes; Bowls; Cover glasses characterised by materials, surface treatments or coatings
    • F21V3/049Patterns or structured surfaces for diffusing light, e.g. frosted surfaces
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V5/00Refractors for light sources
    • F21V5/002Refractors for light sources using microoptical elements for redirecting or diffusing light
    • F21V5/005Refractors for light sources using microoptical elements for redirecting or diffusing light using microprisms
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V7/00Reflectors for light sources
    • F21V7/0008Reflectors for light sources providing for indirect lighting
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21WINDEXING SCHEME ASSOCIATED WITH SUBCLASSES F21K, F21L, F21S and F21V, RELATING TO USES OR APPLICATIONS OF LIGHTING DEVICES OR SYSTEMS
    • F21W2131/00Use or application of lighting devices or systems not provided for in codes F21W2102/00-F21W2121/00
    • F21W2131/10Outdoor lighting
    • F21W2131/103Outdoor lighting of streets or roads
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/72Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps in street lighting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

A method for accessing a NAND flash memory with variable AAT(Address Allocation Table) on a device operating a file system is provided to maximize stability of a flash memory device as a large capacity storage by largely improving cost/performance of an FIU(Flash memory Interface Unit) and efficiently access the flash memory. If a host accesses the flash memory at the first operation, the FIU reads size information by reading unique information of the flash memory(S100). The size information of the flash memory is transferred to the host and the file system is built in the flash memory based on the size information. As the FIU determines the size of the AAT#0(S200) and updates address information of the AAT#0(S300), the host finishes a process for preparing the flash memory as the storage.

Description

파일 시스템이 운용되는 장치에서의 낸드 플래시 메모리 액세스 방법 {The method of NAND Flash Memory access for the device under the File System}NAND flash memory access for the device under the file system

본 발명은 파일 시스템(File System : FS)이 운용 되는 호스트(Host : 300)의 저장 매체(저장 장치)로서 플래시 메모리(100)를 사용 함에 있어 플래시 메모리 액세스 장치(FIU : 200)내의 RAM(500) 크기를 최소화하여 플래시 메모리 액세스 장치(200)의 가격을 떨어뜨림과 동시에 플래시 메모리 액세스 속도를 향상 시키는 장치와 방법에 관한 것이다.The present invention uses the flash memory 100 as a storage medium (storage device) of a host (300) in which a file system (FS) is operated, and the RAM 500 in the flash memory access device (FIU: 200). The present invention relates to an apparatus and a method for improving the flash memory access speed while minimizing the size and reducing the price of the flash memory access device 200.

플래시 메모리는 경량, 소형, 저전력의 장점으로 최근 디지털 카메라, PDA, MP3P, 핸드폰 등 휴대용 전자기기의 대용량 저장 매체로 널리 사용되고 있다. 그러나, 플래시 메모리는 다른 대용량 저장 매체(HDD 등)와는 다른 특징을 가진다. HDD는 매체를 읽고, 쓰는 동작이 약간의 지연 시간(Head가 해당 실린더까지 이동하는 시간 : Seek Time)을 제외 하면 비교적 자유롭다. 그러나, 플래시 메모리는 HDD와 같은 지연시간은 없는 반면, 매체에 쓰기(기록)전에 반드시 먼저 지워야 한다는 제약이 있다. 플래시 메모리의 지우는 동작은 상대적으로 상당히 긴 시간을 요구하기 때문에 플래시 메모리의 쓰는 동작에 있어서 상당한 지연 요소로 작용한다.Flash memory has been widely used as a mass storage medium of portable electronic devices such as digital cameras, PDAs, MP3Ps, and mobile phones due to its light weight, small size, and low power. However, flash memory has different characteristics from other mass storage media (HDD, etc.). The HDD is relatively free to read and write media except for some delay time (the time the head moves to the cylinder). However, the flash memory does not have the same delay time as the HDD, but has a limitation that the flash memory must be erased before writing to the medium. Since the erase operation of the flash memory requires a relatively long time, it is a significant delay factor in the write operation of the flash memory.

통상적으로 플래시 변환 계층(Flash Translation Layer : FTL)이 플래시 메모리를 블록 디바이스로 사용할 수 있게 함과 동시에 상기와 같은 쓰기 동작에서의 지연 시간을 완화하는등 플래시 메모리를 효율적으로 사용할 수 있는 방법을 제공한다.In general, the Flash Translation Layer (FTL) provides a method for efficiently using flash memory, such as enabling the flash memory to be used as a block device and reducing the delay time in the above write operation. .

대표적으로 호스트 블록 주소를 플래시 블록 주소로 재할당 하는 것인데, 이는 플래시 메모리를 쓰는 동작에 있어서 사용하지 않는 블록에만 계속 쓰고, FIU(200)내의 RAM(500)에 있는 주소 할당 테이블(AAT)만을 갱신 함으로서 플래시 메모리 쓰는 동작에서 지우는 동작을 배제하여 속도 향상을 꾀하고 있다.Typically, the host block address is reassigned to the flash block address, which keeps writing only to blocks that are not used in the operation of writing flash memory, and updates only the address allocation table (AAT) in RAM 500 in the FIU 200. By eliminating the erase operation in the flash memory write operation, the speed is improved.

그리고, 상기와 같이 쓰는 동작에서 지워져야 할 블록은 별도로 표시하여 사용하지 않는 블록이 없거나, 플래시 메모리의 동작이 일정시간 멈췄을 때 일괄적으로 지우는 동작을 수행한다.In addition, the block to be erased in the above write operation is displayed in a separate block when the block is not used separately or when the operation of the flash memory stops for a predetermined time.

종래에는 플래시 메모리의 크기(용량)이 적어 플래시 메모리 주소 영역 전체를 AAT에 할당하였으나 이는 FIU(200)내의 RAM(500)의 크기를 크게 하여 FIU(200) 가격의 상승 요인으로 작용하였으며, 이의 대안으로 플래시 메모리 주소 영역을 일정 크기로 나누어 AAT에 할당하였으나, 이 또한 호스트가 현재 동작중인 AAT에 할당 되어 있지 않는 플래시 메모리 주소 영역을 액세스하면 다시 해당 플래시 메모리 주소 영역을 AAT에 갱신 해야하므로 플래시 메모리 액세스 시간 지연 요소로 작용한다.Conventionally, the entire flash memory address area is allocated to the AAT because the size (capacity) of the flash memory is small, but this increases the size of the RAM 500 in the FIU 200 and acts as an increase factor of the FIU 200 price. By dividing the flash memory address area into a certain size and assigning it to the AAT, it is also necessary to update the flash memory address area to the AAT when the host accesses a flash memory address area that is not allocated to the currently operating AAT. It acts as a time delay factor.

본 발명은 위와 같은 문제점을 해결하여 가격(FIU 가격)대비 성능(플래시 메모리 액세스 시간)을 향상 시키는 장치 및 방법을 제시한다. The present invention solves the above problems and proposes an apparatus and method for improving the performance (flash memory access time) compared to the price (FIU price).

본 발명의 다른 목적은 플래시 메모리 액세스를 효율적으로 하여 대용량 저장 매체로서의 플래시 메모리 장치의 안정성을 향상시키는 것이다. Another object of the present invention is to improve the stability of a flash memory device as a mass storage medium by making flash memory access efficient.

본 발명의 기술적 요지는 크게 세 가지 이다. 첫 번째는 플래시 메모리 영역에서 빈번하게 수정되는(지우고, 쓰는 동작이 빈번한) 파일 시스템(File System : FS)정보가 저장되어 있는 영역에 FS 정보의 크기에 상응하는 AAT #0 을 고정 할당하여, FS 정보가 수정되더라도 AAT가 갱신 되는 동작 없이 고속으로 수정할 수 있는 방법을 제공하고, 두 번째는 AAT를 FS 정보가 저장되는 플래시 메모리 영역에 하나(AAT #0) 프로그램 및 데이터가 저장되는 플래시 메모리 주소 영역에 두 개(AAT #1, #2) 이렇게 도4에서 도시 하는 바와 같이 세 개의 AAT를 운용하여 플래시 메모리를 액세스 하고, 세 번째는 프로그램 및 데이터가 저장되는 플래시 메모리 주소 영역에 할당된 AAT #1, #2의 운용에 있어 호스트가 현재 AAT #1 영역을 액세스 하고 있으면 AAT #2는 상기의 호스트 요청 주소 예측 시스템이 예측한 플래시 메모리 영역의 정보를 미리 갱신하여 플래시 메모리 액세스 속도를 향상하는 것이다.The technical gist of the present invention is largely three. First, fixedly allocates AAT # 0 corresponding to the size of the FS information in the area where the file system (FS) information that is frequently modified (erasing and writing operations) in the flash memory area is stored. Even if the information is modified, the AAT can be modified at high speed without updating the operation. The second is the AAT in the flash memory area where the FS information is stored (AAT # 0). The flash memory address area where the program and data are stored. Two (AAT # 1, # 2) in this way, as shown in Fig. 4, three AATs are used to access the flash memory, and the third is AAT # 1 allocated to the flash memory address area where programs and data are stored. , If the host is currently accessing the AAT # 1 area in operation # 2, then AAT # 2 will determine the flash memory area predicted by the host request address prediction system. To update the flash memory to increase the speed of access in advance.

이제부터 위에 상술한 기술의 구체적인 구현 방안을 도면을 참조하여 기술한다. 파일 시스템을 운용하는 호스트는 FAT12, 16 32, NTFS 등 그 고유의 파일 시스템을 운용한다. 각 파일 시스템은 파일 시스템의 종류, 저장 매체의 크기(용량), 파티션 정보, 저장된 파일의 물리적 위치 정보 고리(1쌍) 등의 파일 시스템 정보들을 가지고 있다. 특히 저장된 파일의 물리적 위치 정보 고리(FAT12, 16, 32 파일 시스템에서는 File Allocation Table : FAT)는 호스트가 저장 장치에 파일을 쓰고자 할 때 마다 수정되어지는 정보로서 수정의 정도가 일반 데이터 영역과 비교하여 상당히 빈번하다. 따라서, FS 정보가 저장되는 영역에 고정으로 FS 정보의 크기에 상응하는 크기의 AAT #0를 고정 할당하여 AAT의 갱신 없이 고속으로 호스트가 FS 정보를 수정할 수 있게 한다. 여기서 FS 정보의 크기는 FS 정보 중 FS 크기 정보를 읽음으로서 얻을 수 있다.(예 : FAT32에서는 "Sectors per FAT"필드)Hereinafter, a specific implementation plan of the above-described technology will be described with reference to the drawings. Hosts that run file systems run their own file systems, including FAT12, 16 32, and NTFS. Each file system has file system information such as a file system type, a storage medium size (capacity), partition information, and a physical location information ring (pair) of stored files. In particular, the physical location information ring (File Allocation Table (FAT) in FAT12, 16, 32 file system) of the stored file is modified whenever the host wants to write the file to the storage device. Quite frequently. Therefore, the AAT # 0 having a size corresponding to the size of the FS information is fixedly allocated to the area where the FS information is stored so that the host can modify the FS information at high speed without updating the AAT. Here, the size of the FS information can be obtained by reading the FS size information of the FS information (for example, the "Sectors per FAT" field in FAT32).

도4에서 도시하는 바와 같이 플래시 메모리 주소의 크기는 M이다. 이 M은 플래시 메모리의 고유 정보를 플래시 메모리로부터 읽음으로서 얻을 수 있고, 파일 시스템 정보의 크기 K는 위와 같이 파일 시스템에서 파일 시스템 크기 정보를 읽음으로서 얻을 수 있다.As shown in FIG. 4, the size of the flash memory address is M. FIG. This M can be obtained by reading the unique information of the flash memory from the flash memory, and the size K of the file system information can be obtained by reading the file system size information from the file system as described above.

도3에서 AAT #0(31)은 파일 시스템 정보가 저장되는 플래시 메모리 주소 영역에 고정할당 되어 있으며, 그 크기는 K에 의존적으로 가변적이다. AAT #1(32), AAT #2(33)은 프로그램 및 데이터가 저장되는 플래시 메모리 주소 영역에 동적으로 할당되며, 그 크기는 플래시 메모리 액세스 장치(FIU : 200)내에서의 RAM 크기에 의존적이며 불변한다.In FIG. 3, AAT # 0 31 is fixedly assigned to the flash memory address area in which file system information is stored, and its size varies depending on K. FIG. AAT # 1 (32) and AAT # 2 (33) are dynamically allocated to the flash memory address area where programs and data are stored, the size of which depends on the amount of RAM in the flash memory access unit (FIU: 200). Immutable

호스트가 처음 구동되어 플래시 메모리를 액세스 하면 FIU는 도5의 S100과정에서 플래시 고유의 정보를 읽어서 플래시 크기 정보를 읽는다. FIU는 위와 같이 읽은 플래시 크기 정보를 호스트에 전달하고 호스트는 이를 바탕으로 플래시 메모리에 파일 시스템을 구축하게 된다. 그러면 다시 FIU(200)는 도5의 S200과정에서 AAT #0(31)의 크기를 결정하고, S300과정에서 AAT #0(31)의 주소 정보를 갱신하게 된다. 위와 같은 과정에 의해서 전체 장치는 호스트의 대용량 저장매체로서의 준비과정을 마친다. 여기서, 도5의 S200단계를 상세 도시한 도6을 참조하여 AAT #0(31)의 크기 결정 과정을 자세히 본다.When the host is first driven and accesses the flash memory, the FIU reads flash size information by reading flash specific information in step S100 of FIG. 5. The FIU delivers the read flash size information to the host, and the host builds the file system in the flash memory based on this. Then, the FIU 200 determines the size of the AAT # 0 31 in step S200 of FIG. 5, and updates the address information of the AAT # 0 31 in step S300. By the above process, the whole device completes the preparation process as a mass storage medium of the host. Here, the process of determining the size of AAT # 0 31 will be described in detail with reference to FIG. 6, which details the step S200 of FIG. 5.

도6의 동작 흐름도는 파일 시스템의 파일 시스템 크기 정보를 읽어서 AAT #0(31)의 크기를 AAT 기본 단위로 할 것인가 아니면 AAT 기본 단위의 정수배로 할 것인가를 결정하여 AAT #0의 크기를 결정하는 과정을 상세 도시한 것이다. 도6의 S210과정에서 FIU(200)는 FS의 Boot Record에서 Sectors per FAT 필드를 읽음으로서 FS 정보 크기를 알 수 있다. 이때 상기와 같이 FS는 FS의 안정성을 위해서 FAT정보의 복사본을 하나 더 가지고 있다. 다시 말하면, 똑 같은 FAT 두 개가 FS에 존재하게 된다. 따라서 전체 FS 정보 크기는 다음과 같다.(S220)6 is a flowchart of determining the size of AAT # 0 by reading file system size information of the file system and determining whether the size of AAT # 0 31 is the AAT basic unit or an integer multiple of the AAT basic unit. The process is shown in detail. In step S210 of FIG. 6, the FIU 200 may know the size of the FS information by reading the Sectors per FAT field in the Boot Record of the FS. At this time, the FS has one more copy of FAT information for stability of the FS. In other words, two identical FATs exist on the FS. Therefore, the total size of the FS information is as follows (S220).

전체 FS 정보 크기 = {(Sectors per FAT * 2) + α}Total FS info size = {(Sectors per FAT * 2) + α}

여기서 α는 파일 시스템의 FAT를 제외한 나머지 부분을 나타낸다.(예 : FAT 32에서는 MBR, PBR, Reserved Area)Where α represents the rest of the file system except FAT (e.g., MBR, PBR, Reserved Area in FAT 32).

다음으로 FIU(200)는 내부 RAM(500)의 크기를 고려하여 AAT 크기의 기본 단위를 결정한다. 그 크기는 다음과 같다.Next, the FIU 200 determines the basic unit of the AAT size in consideration of the size of the internal RAM 500. The size is as follows.

AAT 기본 단위 = (RAM전체 크기 - FIU 사용 크기) / 3AAT base unit = (total RAM size-FIU usage size) / 3

이렇게 도출된 결과를 비교하여 전체 FS 정보의 크기가 AAT 기본 단위보다 작게 되면 AAT #0(31)의 크기는 AAT 기본 단위가 되고(S240), 크게 되면 다음과 같이 AAT #0(31)의 크기는 AAT 기본 단위의 정수배가 된다.Comparing the obtained results, if the size of the entire FS information is smaller than the AAT basic unit, the size of AAT # 0 (31) becomes the AAT basic unit (S240), and if the size of AAT # 0 (31) is larger as follows: Is an integer multiple of the AAT base unit.

AAT #0(31)의 크기 = {AAT 기본단위 X [(전체 FS 정보 크기/AAT 기본 단위)의 몫]}Size of AAT # 0 (31) = {AAT base unit X [(quot; total FS information size / AAT base unit)]}

+ AAT 기본단위+ AAT basic unit

여기서 AAT #0(31)의 크기가 AAT 기본단위의 정수배가 되면 FS 정보의 크기보다 크게 된다. 이렇게 크게 된 결과로 남은 나머지 영역은 플래시 메모리가 오류 블록을 도축할 때 대체 블록으로 활용한다.Here, when the size of AAT # 0 (31) becomes an integer multiple of the AAT basic unit, the size of the AFS # 0 (31) becomes larger than that of the FS information. As a result of this enlargement, the remaining area is used as a replacement block when the flash memory slaughter the error block.

위와 같이 AAT #0(31)의 크기를 결정(S200)하고 AAT #0(31)의 주소 정보를 갱신(S300)한 후에 FIU(200)는 호스트 명령을 기다리게 된다.(S400)After determining the size of the AAT # 0 31 (S200) and updating the address information of the AAT # 0 31 (S300), the FIU 200 waits for a host command (S400).

도7에서 FIU(200)는 호스트의 명령을 기다리다가(S400) 호스트 명령을 수신하면 호스트 명령에 포함된 호스트 블록 주소에 해당하는 플래시 블록 주소 영역을 AAT #1에 갱신한다.(S520) 이렇게 갱신된 AAT #1(32)을 사용하여 호스트 블록 주소를 플래시 블록 주소로 변환하여 호스트의 명을 수행하다가 호스트의 유휴 시간 때 호스트 요청 주소 예측 시스템을 가동(S540)하여 AAT #2(33)의 주소 정보를 갱신한다. 여기서 호스트 요청 주소 예측 시스템은 "호스트는 현재 호스트 블록 주소보다 작은 호스트 블록 주소를 요청하는 경우보다 큰 호스트 블록 주소를 요청할 확률이 크다" 라는 현업에서의 경험에 바탕하여 AAT #1(32)보다 1 AAT 기본 단위 큰 플래시 메모리 주소 영역을 AAT #2(33)에 갱신한다.In FIG. 7, the FIU 200 waits for a command of the host (S400), and when the host command is received, updates the flash block address area corresponding to the host block address included in the host command to AAT # 1 (S520). AAT # 1 (32) is used to convert the host block address into a flash block address to perform the name of the host, and then operates the host request address prediction system (S540) during the host idle time (S540) to address the address of AAT # 2 (33). Update the information. In this case, the host request address prediction system is based on the experience of "host is requesting a larger host block address than if the host block address is smaller than the current host block address" than the AAT # 1 (32) 1 AAT basic unit A large flash memory address area is updated to AAT # 2 (33).

위와 같이 본 발명이 구현 됨으로서 발명의 목적과 취지에 부합된다. 나아가, 본 발명에 따른 실시 예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위 내에서 여러 가지의 대안, 수정 및 변경하여 실시 할 수 있다.As the present invention is implemented as described above is consistent with the object and purpose of the invention. In addition, the embodiment according to the present invention is not limited to the above-described embodiments, and various alternatives, modifications, and changes can be made within the scope apparent to those skilled in the art.

본 발명을 따르면 플래시 메모리 액세스 장치(FIU : 200)의 가격(RAM 크기를 작게 하므로서 전체 칩 가격을 낮춤) 대비 성능(플래시 메모리 액세스 속도)을 대폭 향상 시킴과 동시에 효율적으로 플래시 메모리를 액세스 하여 대용량 저장 매체로서의 플래시 메모리 장치의 안정성을 극대화 시킬 수 있다. According to the present invention, the flash memory access device (FIU: 200) significantly improves the performance (flash memory access speed) compared to the price (reducing the overall chip price by reducing the RAM size) and at the same time efficiently accesses the flash memory and stores a large amount. The stability of the flash memory device as a medium can be maximized.

도 1은 본 발명에 따른 플래시 메모리 액세스 장치를 나타낸 것이다.1 shows a flash memory access device according to the present invention.

도 2는 일반적인 낸드 플래시 메모리의 구조를 도시한 것이다.2 illustrates a structure of a general NAND flash memory.

도 3은 본 발명에 따른 주소 할당 테이블(Address Allocation Table : AAT)을 도시한 것이다.3 illustrates an address allocation table (AAT) according to the present invention.

도 4는 본 발명에 따른 주소 할당 테이블(Address Allocation Table : AAT)이 실제 플래시 메모리의 일부 주소 영역에 맵핑 된 것을 도시한 것이다.FIG. 4 illustrates that an address allocation table (AAT) according to the present invention is mapped to a part of an address area of an actual flash memory.

도 5는 본 발명에서 AAT #0의 갱신 과정을 나타낸 동작 흐름도이다.5 is a flowchart illustrating an update process of AAT # 0 according to the present invention.

도 6은 도 5에 도시된 S200 단계에서 AAT #0의 크기를 결정하는 과정을 나타낸 동작 흐름도이다.FIG. 6 is a flowchart illustrating an operation of determining the size of AAT # 0 in step S200 illustrated in FIG. 5.

도 7은 AAT #1, 2의 플래시 메모리 데이터 주소 영역에 동적으로 할당되는 과정을 나타낸 동작 흐름도이다.7 is a flowchart illustrating a process of dynamically allocating to the flash memory data address areas of AAT # 1 and 2;

*도면의 부호 설명* Explanation of symbols in the drawings

100 : 플래시 메모리100: flash memory

200 : 플래시 메모리 액세스 장치(Flash Interface Unit : FIU)200: flash memory access unit (Flash Interface Unit: FIU)

300 : 호스트(Host : 파일 시스템(File System : FS)이 운용되는 장치(PC, PDA, 핸드폰, MP3P, 등)300: Host (Host: File System (FS)) device (PC, PDA, mobile phone, MP3P, etc.)

400 : F/I(플래시 인터페이스 : Flash Interface)400: F / I (Flash Interface)

500 : RAM(Random Access Memory)500: Random Access Memory (RAM)

600 : CPU600: CPU

10 : 블록(플래시 메모리의 지우기 단위)10: block (erase of flash memory)

20 : 섹터(플래시 메모리의 읽기, 쓰기 단위)20: Sector (unit of read and write of flash memory)

30 : 주소 할당 테이블(Address Allocation Table : AAT)30: Address Allocation Table (AAT)

31 : 첫 번째 주소 할당 테이블(AAT #0)31: First address allocation table (AAT # 0)

32 : 두 번째 주소 할당 테이블(AAT #1)32: Second address allocation table (AAT # 1)

33 : 세 번째 주소 할당 테이블(AAT #2)33: third address allocation table (AAT # 2)

Claims (3)

주소 할당 테이블 AAT #0와 AAT #1, #2를 플래시 메모리 전체 주소 영역의 크기에 따라서 가변적으로 조정하여 크기를 정하는 방법How to adjust the size of address allocation table AAT # 0, AAT # 1, # 2 according to the size of flash memory global address area 청구항 1에 있어서, 나뉘어진 주소 영역을 두 가지 종류(파일 시스템의 정보들이 저장되는 플래시 메모리 주소 영역의 주소 할당 테이블(AAT #0), 프로그램 및 데이터가 저장되는 플래시 메모리 주소 영역의 두 개의 주소 할당 테이블(AAT #1, #2))의 주소 할당 테이블로 플래시 메모리를 액세스 하는 방법The method according to claim 1, wherein the divided address areas are divided into two types (the address allocation table (AAT # 0) of the flash memory address area in which file system information is stored), and the two address allocations in the flash memory address area in which programs and data are stored. To access the flash memory with the address allocation table (AAT # 1, # 2)) 청구항 1내지 2에 있어서, AAT #0를 파일 시스템의 정보들이 저장되는 플래시 메모리 주소 영역에 고정 할당하고, 두 개의 AAT #1, #2를 호스트 요청 주소 예측 시스템에 의해서 동적 할당하는 방법The method of claim 1, wherein the AAT # 0 is fixedly allocated to a flash memory address area in which file system information is stored, and the two AAT # 1 and # 2 are dynamically allocated by the host request address prediction system.
KR1020050009953A 2005-02-03 2005-02-03 The method of nand flash memory access for the device under the file system KR20050027233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050009953A KR20050027233A (en) 2005-02-03 2005-02-03 The method of nand flash memory access for the device under the file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050009953A KR20050027233A (en) 2005-02-03 2005-02-03 The method of nand flash memory access for the device under the file system

Publications (1)

Publication Number Publication Date
KR20050027233A true KR20050027233A (en) 2005-03-18

Family

ID=37384541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050009953A KR20050027233A (en) 2005-02-03 2005-02-03 The method of nand flash memory access for the device under the file system

Country Status (1)

Country Link
KR (1) KR20050027233A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823171B1 (en) * 2007-02-01 2008-04-18 삼성전자주식회사 Computer system having a partitioned flash translation layer and flash translation layer partition method thereof
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US9569113B2 (en) 2012-10-11 2017-02-14 SK Hynix Inc. Data storage device and operating method thereof

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
KR100823171B1 (en) * 2007-02-01 2008-04-18 삼성전자주식회사 Computer system having a partitioned flash translation layer and flash translation layer partition method thereof
US8745309B2 (en) 2007-02-01 2014-06-03 Samsung Electronics Co., Ltd. Cooperative memory management
US8565021B2 (en) 2008-06-13 2013-10-22 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8614919B2 (en) 2008-06-13 2013-12-24 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8625344B2 (en) 2008-06-13 2014-01-07 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8638585B2 (en) 2008-06-13 2014-01-28 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8705272B2 (en) 2008-06-13 2014-04-22 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8760918B2 (en) 2008-06-13 2014-06-24 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US9569113B2 (en) 2012-10-11 2017-02-14 SK Hynix Inc. Data storage device and operating method thereof

Similar Documents

Publication Publication Date Title
US11636032B2 (en) Memory system, data storage device, user device and data management method thereof
US8412909B2 (en) Defining and changing spare space and user space in a storage apparatus
KR101185617B1 (en) The operation method of a flash file system by a wear leveling which can reduce the load of an outside memory
KR100823171B1 (en) Computer system having a partitioned flash translation layer and flash translation layer partition method thereof
CN106354615B (en) Solid state disk log generation method and device
US20180165014A1 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
TW201818249A (en) Method of operating storage device managing multi-namespace
KR100703807B1 (en) Method and apparatus for managing block by update type of data in block type memory
US20140229657A1 (en) Readdressing memory for non-volatile storage devices
TW201142590A (en) Method for trimming data on non-volatile flash media
JP6666813B2 (en) Storage device and control method thereof
JP2001350665A (en) Semiconductor memory device with block alignment function
KR20110018157A (en) Method for accessing flash memory device
KR20100114381A (en) Non-volatile semiconductor memory controller for processing one request first before completing another request, memory system having the same and method there-of
KR20130096881A (en) Flash memory device
KR20080038368A (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
CN106326132B (en) Storage system, storage management device, memory, hybrid storage device, and storage management method
KR20050027233A (en) The method of nand flash memory access for the device under the file system
CN113805792A (en) Memory system and operating method thereof
US7681009B2 (en) Dynamically updateable and moveable memory zones
JP2006252137A (en) Optimization method for nonvolatile storage device
US20110035557A1 (en) Fragmentation reduction using virtual sectors for static data
KR20170037017A (en) Memory Upgrade System And Method
US8782353B2 (en) Information processing device having data field and operation methods of the same
CN115168317A (en) LSM tree storage engine construction method and system

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early opening
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application