KR19980078237A - AT card using flash memory - Google Patents
AT card using flash memory Download PDFInfo
- Publication number
- KR19980078237A KR19980078237A KR1019970015705A KR19970015705A KR19980078237A KR 19980078237 A KR19980078237 A KR 19980078237A KR 1019970015705 A KR1019970015705 A KR 1019970015705A KR 19970015705 A KR19970015705 A KR 19970015705A KR 19980078237 A KR19980078237 A KR 19980078237A
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- sector
- wear leveling
- data
- data related
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 외부 메모리 용량을 줄이면서 속도를 빠르게 하기 위한 플래쉬 메모리를 사용한 ATA 카드를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an ATA card using flash memory for speeding up while reducing external memory capacity.
본 발명의 플래쉬 메모리를 사용한 ATA 카드는 웨어 레벨링 알고리즘에 관련된 데이타 중 엑세스 횟수가 적으며 각 섹터의 사용 횟수를 출력하는 데이타를 하나의 섹터에 저장하는 플래쉬 메모리, 웨어 레벨링 알고리즘에 관련된 데이타 중 엑세스 횟수가 많은 데이타를 갖으며 사용되지 않는 섹터들을 찾아 출력하는 외부 메모리와 상기 외부 메모리를 엑세스 시키고 사용되지 않는 섹터들과 각 섹터의 사용 횟수를 입력 받아 전혀 사용되지 않았거나 최소로 사용된 섹터의 어드레스인 피지컬 어드레스를 결정하여 이 피지컬 어드레스와 호스트의 데이타를 플래쉬 메모리에 제공하는 제어 부를 포함하여 구성됨을 특징으로 한다.In the ATA card using the flash memory of the present invention, the number of accesses among the data related to the wear leveling algorithm is small, and the flash memory for storing data outputting the number of times of use of each sector in one sector, and the number of accesses among the data related to the wear leveling algorithm. Is an address of an unused or least used sector that receives an unused sector and a number of times of use of each sector by accessing the external memory and finding and outputting unused sectors with a lot of data. And a control unit for determining the physical address and providing the physical address and host data to the flash memory.
Description
본 발명은 플래쉬 메모리를 사용한 ATA 카드에 관한 것으로, 특히 속도가 빠르면서 메모리의 용량을 줄이는 ATA 카드에 관한 것이다.The present invention relates to an ATA card using flash memory, and more particularly, to an ATA card that reduces the capacity of the memory while being fast.
종래의 플래쉬 메모리를 사용한 ATA 카드는 프로그램밍(Programing)을 할때 웨어 레벨링 알고리즘(Wear leveling Algorithm)에 관련된 데이타(Data)들을 사용하여 플래쉬 메모리의 소정 영역에 쓰거나 읽는데 상기 웨어 레벨링 알고리즘에 관련된 데이타들을 EEPROM을 비롯한 외부 메모리에 모두 두거나 또는 플래쉬 메모리 각 섹터(Setor)의 앞 또는 뒤에 둔다.A conventional ATA card using flash memory uses data related to a wear leveling algorithm when programming to write or read to a predetermined area of the flash memory. The data related to the wear leveling algorithm is stored in an EEPROM. It can be placed in external memory, including or in front of or behind each sector of the flash memory.
상기 웨어 레벨링 알고리즘에 관련된 데이타들을 EEPROM을 비롯한 외부 메모리에 두는 경우는 플래쉬 메모리의 엑세스 타임(Access time)이 늦은 경우에 사용되는 방식으로 빠른 속도로 원하는 섹터를 찾고자 하는 것이나, 외부에 많은 데이타를 저장 하여야 한다. 한편, 상기 웨어 레벨링 알고리즘에 관련된 데이타들을 플래쉬 메모리 각 섹터(Setor)의 앞 또는 뒤에 두는 경우는 플래쉬 메모리의 엑세스 타임이 빠른 경우에 필요시 마다 상기 데이타들을 엑세스 하는 방식으로 외부 메모리가 필요 없으나 엑세스 타임이 늦은 플래쉬 메모리(시리얼 엑세스 장치)에는 사용 할 수 없다.When the data related to the wear leveling algorithm is stored in an external memory including an EEPROM, it is used to find a desired sector at a high speed in a method used when the access time of the flash memory is late, but stores a lot of data externally. shall. On the other hand, when the data related to the wear leveling algorithm is placed in front of or behind each sector of the flash memory (Setor), the external memory is not required by accessing the data whenever necessary when the access time of the flash memory is fast. It cannot be used for this late flash memory (serial access device).
그리고 상기 웨어 레벨링 알고리즘에 관련된 데이타들은 도 1에서와 같이, 소거 카운터(Counter)(1), 소거 인히비트(Inhibit)(2), 디펫트 플래그(Defect Flag)(3), 유즈드 플래그(Used Flag)(4), 올드 플래그(Old Flag)(5)와 LBA(Logic Block Address)(6)로 구성된다. 여기서 상기 소거 카운터(1)는 플래쉬 메모리 섹터의 사용 횟수를 세며, 상기 디펫트 플래그(3)는 섹터의 사용 여부를 결정하고, 상기 유즈드 플래그(4)는 섹터가 사용 중인지를 결정하며 상기 LBA(6)는 섹터의 어드레스와 호스트의 어드레스를 비교한다. 또한 상기 웨어 레벨링 알고리즘의 데이타는 14비트(Bit)의 소거 카운터(1), 16비트의 LBA(6)를 포함하여 34비트를 차지한다.The data related to the wear leveling algorithm is, as shown in FIG. 1, an erase counter 1, an erase inhibitor 2, a defect flag 3, and a used flag. (4), the Old Flag (5), and the LBA (Logic Block Address) (6). Here, the erase counter 1 counts the number of times of use of a flash memory sector, the depet flag 3 determines whether the sector is used, the used flag 4 determines whether the sector is in use, and the LBA ( 6) compares the address of the sector with the address of the host. Data of the wear leveling algorithm occupies 34 bits, including an 14-bit erase counter 1 and a 16-bit LBA 6.
그리고 도 2는 외부의 EEPROM에 웨어 레벨링과 관련된 데이타를 모두 두는 경우의 종래의 플래쉬 메모리를 사용한 ATA 카드를 나타낸 것으로, 플래쉬 메모리(11), 상기 플래쉬 메모리에 피지컬 어드레스(Physical Address)와 데이타를 제공하는 제어 부(12), 상기 제어 부(12)에 의해 엑세스 되어 상기 피지컬 어드레스를 결정하고 모든 웨어 레벨링 알고리즘에 관련된 데이타들을 갖는 EEPROM(13)으로 구성된다. 여기서 상기 플래쉬 메모리(11)의 엑세스 타임이 늦기 때문에 상기 모든 웨어 레벨링 알고리즘에 관련된 데이타들을 엑세스 타임이 빠른 EEPROM(13)에 저장한다.FIG. 2 illustrates an ATA card using a conventional flash memory in the case where all wear leveling related data is stored in an external EEPROM, and provides a flash memory 11 and a physical address and data to the flash memory. The control unit 12, which is accessed by the control unit 12, determines the physical address and comprises an EEPROM 13 having data related to all wear leveling algorithms. Here, since the access time of the flash memory 11 is late, all data related to the wear leveling algorithm are stored in the EEPROM 13 having a fast access time.
상기 상술한 종래의 플래쉬 메모리를 사용한 ATA 카드의 동작 설명은 다음과 같다.The description of the operation of the ATA card using the above-described conventional flash memory is as follows.
상기 제어 부(12)가 호스트(Host)로 부터 상기 플래쉬 메모리(11)에 쓰기 위한 다수개의 어드레스 및 데이타를 입력 받으면 상기 EEPROM(13)을 엑세스 한다.When the control unit 12 receives a plurality of addresses and data for writing to the flash memory 11 from a host, the control unit 12 accesses the EEPROM 13.
상기 EEPROM(13)은 웨어 레벨링 알고리즘에 관련된 데이타들 중 디펫트 플래그(3)와 유즈드 플래그(4)가 셋팅(Seting)되지 않는 즉 사용되지 않았던 상기 플래쉬 메모리(11)의 섹터나 또는 소거 카운터(1)에 의해 최소로 사용된 섹터를 찾으며 상기 사용되지 않았던 섹터나 또는 최소로 사용된 섹터의 어드레스를 상기 제어 부(12)에 출력한다.The EEPROM 13 may include a sector or an erase counter of the flash memory 11 that is not used, that is, the depet flag 3 and the used flag 4 of the data related to the wear leveling algorithm are not set. The minimum used sector is found by 1), and the address of the unused sector or the minimum used sector is output to the control unit 12.
이어 상기 제어 부(12)는 상기 EEPROM(13)로 부터 입력 받은 사용되지 않았던 섹터나 또는 최소로 사용된 섹터의 어드레스 즉 피지컬 어드레스와 상기 호스트로 부터 입력 받은 어드레스들을 상기 LBA(6)에서 비교 하여 상기 플래쉬 메모리(11)의 피지컬 어드레스에 해당하는 섹터에 호스트의 데이타를 저장시킨 후, 상기 EEPROM(13)의 피지컬 어드레스에 해당되는 LBA(6), 유즈드 플래그(4)와 소거 카운터(1) 값을 변경시킨다.Subsequently, the control unit 12 compares the address of the unused sector or the least used sector received from the EEPROM 13, that is, the physical address with the address received from the host, in the LBA 6. After storing the host data in a sector corresponding to the physical address of the flash memory 11, the LBA 6, the used flag 4, and the erase counter 1 corresponding to the physical address of the EEPROM 13 are stored. To change.
그러나 종래의 외부 메모리에 웨어 레벨링 알고리즘에 관련된 데이타들 모두 두는 경우의 플래쉬 메모리를 사용한 ATA 카드는 외부 메모리인 EEPROM에 플래쉬 메모리의 각 세터 수 만큼 모든 웨어 레벨링 알고리즘에 관련된 데이타들이 저장되어야 하므로 사용되는 EEPROM의 용량이 매우 커지며, 상기 웨어 레벨링 알고리즘에 관련된 데이타들을 플래쉬 메모리 각 섹터의 앞 또는 뒤에 두는 경우의 상기 플래쉬 메모리를 사용한 ATA 카드는 엑세스 타임이 늦은 시리얼 엑세스를 행하는 플래쉬 메모리에는 사용할 수 없다는 문제점이 있었다.However, the ATA card using flash memory in the case of putting all the data related to the wear leveling algorithm in the conventional external memory requires that the data related to all the wear leveling algorithms must be stored in the external memory EEPROM as much as each setter of flash memory. The capacity of is very large, and there is a problem that an ATA card using the flash memory when the data related to the wear leveling algorithm is placed before or after each sector of the flash memory cannot be used for a flash memory which performs serial access with a slow access time. .
본 발명은 상기의 문제점을 해결하기 위해 안출한 것으로 외부 메모리 용량를 줄이면서 속도가 빠른 플래쉬 메모리를 사용한 ATA 카드를 제공하는데 그 목적이 있다.Disclosure of Invention The present invention has been made to solve the above problems, and an object thereof is to provide an ATA card using a fast flash memory while reducing external memory capacity.
도 1은 일반적인 웨어 레벨링 알고리즘에 관련된 데이타들을 나타낸 포맷도1 is a format diagram showing data related to a general wear leveling algorithm
도 2는 종래의 플래쉬 메모리를 사용한 ATA 카드를 나타낸 블록도2 is a block diagram showing an ATA card using a conventional flash memory
도 3은 본 발명의 실시예에 따른 플래쉬 메모리를 사용한 ATA 카드를 나타낸 블록도3 is a block diagram illustrating an ATA card using flash memory according to an embodiment of the present invention.
도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings
1: 소거 카운트 2: 소거 인히비트1: erase count 2: erase inhibit
3: 디펫트 플래그 4: 유즈드3: Depet Flag 4: Used
5: 올드 6: LBA5: old 6: LBA
31: 플래쉬 메모리 32: EEPROM31: flash memory 32: EEPROM
33: 제어 부33: control unit
본 발명의 플래쉬 메모리를 사용한 ATA 카드는 웨어 레벨링 알고리즘에 관련된 데이타 중 엑세스 횟수가 적으며 각 섹터의 사용 횟수를 출력하는 데이타를 하나의 섹터에 저장하는 플래쉬 메모리, 웨어 레벨링 알고리즘에 관련된 데이타 중 엑세스 횟수가 많은 데이타를 갖으며 사용되지 않는 섹터들을 찾아 출력하는 외부 메모리와 상기 외부 메모리를 엑세스 시키고 사용되지 않는 섹터들과 각 섹터의 사용 횟수를 입력 받아 전혀 사용되지 않았거나 최소로 사용된 섹터의 어드레스인 피지컬 어드레스를 결정하여 이 피지컬 어드레스와 호스트의 데이타를 플래쉬 메모리에 제공하는 제어 부를 포함하여 구성됨을 특징으로 한다.In the ATA card using the flash memory of the present invention, the number of accesses among the data related to the wear leveling algorithm is small, and the flash memory for storing data outputting the number of times of use of each sector in one sector, and the number of accesses among the data related to the wear leveling algorithm. Is an address of an unused or least used sector that receives an unused sector and a number of times of use of each sector by accessing the external memory and finding and outputting unused sectors with a lot of data. And a control unit for determining the physical address and providing the physical address and host data to the flash memory.
상기와 같은 본 발명에 따른 플래쉬 메모리를 사용한 ATA 카드의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.Referring to the accompanying drawings, a preferred embodiment of the ATA card using a flash memory according to the present invention as described above in detail as follows.
본 발명의 실시예에 따른 플래쉬 메모리를 사용한 ATA 카드는 도 3에서와 같이, 한 섹터에 웨어 레벨링 알고리즘에 관련된 데이타 중 소거 카운터(1)를 갖는 플래쉬 메모리(31), 상기 플래쉬 메모리에 피지컬 어드레스와 데이타를 제공하는 제어 부(32), 상기 제어 부(32)에 의해 엑세스되어 사용되지 않는 섹터들을 찾으며 일부 웨어 레벨링 알고리즘에 관련된 데이타를 갖는 EEPROM(33)으로 구성된다. 여기서 상기 엑세스 타임이 늦은 플래쉬 메모리(31)에 소거 카운터(1)와 같이 엑세스 횟수가 적은 웨어 레벨링 알고리즘에 관련된 데이타를 두고, 엑세스 타임이 빠른 EEPROM(33)에 엑세스 횟수가 많은 소거 인히비트(2), 디펫트 플래그(3), 유즈드 플래그(4), 올드 플래그와 LBA(6)를 둔다.As shown in FIG. 3, an ATA card using a flash memory according to an embodiment of the present invention includes a flash memory 31 having an erase counter 1 among data related to a wear leveling algorithm in one sector, and a physical address and a flash memory address. The control unit 32 provides data, and the EEPROM 33 finds unused sectors accessed and used by the control unit 32 and has data related to some wear leveling algorithms. Here, the flash memory 31 having a slow access time has data related to a wear leveling algorithm having a small number of accesses, such as the erase counter 1, and an erase count 2 having a large number of accesses in the EEPROM 33 having a high access time. ), The depet flag (3), the used flag (4), the old flag, and the LBA (6).
상기 상술한 본 발명의 실시예에 따른 플래쉬 메모리를 사용한 ATA 카드의 동작 설명은 다음과 같다.The operation description of the ATA card using the flash memory according to the above-described embodiment of the present invention is as follows.
상기 제어 부(32)가 호스트로 부터 상기 플래쉬 메모리(31)에 쓰기 위한 다수 개의 어드레스 및 데이타를 입력 받으면 상기 EEPROM(33)을 엑세스 한다.When the control unit 32 receives a plurality of addresses and data for writing to the flash memory 31 from the host, the control unit 32 accesses the EEPROM 33.
상기 EEPROM(33)은 디펫트 플래그(3)와 유즈드 플래그(4)가 셋팅되지 않는 즉 사용되지 않는 섹터들을 찾아 상기 제어 부(32)에 출력한다.The EEPROM 33 finds and outputs to the control unit 32 sectors in which the depet flag 3 and the used flag 4 are not set, that is, unused.
또한 상기 플래쉬 메모리(31)는 소거 카운터(1)의 값을 상기 제어 부(32)에 출력한다.The flash memory 31 also outputs the value of the erase counter 1 to the control unit 32.
이어 상기 제어 부(32)는 EEPROM(33)의 출력인 사용되지 않는 섹터들과 상기 플래쉬 메모리(31)의 출력인 소거 카운터(1)의 값을 비교하여 최소로 사용된 섹터의 어드레스 즉 피지컬 어드레스를 결정한 후, 상기 피지컬 어드레스와 상기 호스트로 부터 입력 받은 어드레스들을 상기 LBA(6)에서 비교하여 상기 플래쉬 메모리(31)의 피지컬 어드레스에 해당하는 섹터에 호스트의 데이타를 저장시킨 후, 상기 EEPROM(33)의 피지컬 어드레스에 해당되는 LBA(6)와 유즈드 플래그(4), 그리고 플래쉬 메모리(31)의 소거 카운터(1) 값을 변경시킨다.Subsequently, the control unit 32 compares the unused sectors output from the EEPROM 33 and the value of the erase counter 1 output from the flash memory 31 to obtain the address of the minimum used sector, that is, the physical address. After determining the, the LBA 6 compares the physical address with the addresses input from the host, stores the host data in a sector corresponding to the physical address of the flash memory 31, and then stores the EEPROM 33. The value of the LBA 6, the used flag 4, and the erase counter 1 of the flash memory 31 corresponding to the physical address of the subfield are changed.
본 발명의 플래쉬 메모리를 사용한 ATA 카드는 엑세스 횟수가 작은 웨어 레벨링 알고리즘에 관련된 데이타를 플래쉬 메모리에 두고 엑세스 횟수가 많은 웨어 레벨링 알고리즘에 관련된 데이타를 외부 메모리에 두기 때문에 외부 메모리 용량을 줄일 수 있음과 동시에 속도가 빠르다는 효과가 있다.The ATA card using the flash memory of the present invention can reduce the external memory capacity because data related to the wear leveling algorithm having a small number of accesses is stored in the flash memory and data related to the wear leveling algorithm with a large number of accesses are stored in the external memory. Speed is effective.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970015705A KR100281102B1 (en) | 1997-04-25 | 1997-04-25 | ATA card using the flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970015705A KR100281102B1 (en) | 1997-04-25 | 1997-04-25 | ATA card using the flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980078237A true KR19980078237A (en) | 1998-11-16 |
KR100281102B1 KR100281102B1 (en) | 2001-03-02 |
Family
ID=65989275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970015705A KR100281102B1 (en) | 1997-04-25 | 1997-04-25 | ATA card using the flash memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100281102B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487539B1 (en) * | 2002-09-02 | 2005-05-03 | 삼성전자주식회사 | Nonvolatile semiconductor memory device for connecting to serial advanced techonology attachement cable |
-
1997
- 1997-04-25 KR KR1019970015705A patent/KR100281102B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487539B1 (en) * | 2002-09-02 | 2005-05-03 | 삼성전자주식회사 | Nonvolatile semiconductor memory device for connecting to serial advanced techonology attachement cable |
Also Published As
Publication number | Publication date |
---|---|
KR100281102B1 (en) | 2001-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6076137A (en) | Method and apparatus for storing location identification information within non-volatile memory devices | |
KR100531192B1 (en) | Non-volatile memory control method | |
US6172906B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US6134151A (en) | Space management for managing high capacity nonvolatile memory | |
US7325089B2 (en) | Controller for refreshing memories | |
US6262918B1 (en) | Space management for managing high capacity nonvolatile memory | |
US7610438B2 (en) | Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table | |
US20080034153A1 (en) | Flash Module with Plane-Interleaved Sequential Writes to Restricted-Write Flash Chips | |
KR20040087916A (en) | Memory card | |
KR19990029196A (en) | Semiconductor Memory and Data Management Method | |
CN107045423B (en) | Memory device and data access method thereof | |
EP3057100B1 (en) | Memory device and operating method of same | |
US20090019235A1 (en) | Apparatus and method for caching data in a computer memory | |
JP2007141376A (en) | Semiconductor storage device and its control method | |
JPH07114500A (en) | Nonvolatile memory device | |
JPH07153284A (en) | Non-volatile semiconductor memory and its control method | |
US9405674B2 (en) | Address generating circuit and address generating method | |
KR100281102B1 (en) | ATA card using the flash memory | |
JP4558054B2 (en) | Memory system | |
JPH05150913A (en) | Silicon disk with flash memory as storage medium | |
US10559359B2 (en) | Method for rewriting data in nonvolatile memory and semiconductor device | |
TWI453747B (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
JP4334331B2 (en) | Flash memory access control method | |
JPH11259357A (en) | Semiconductor integrated device and nonvolatile memory writing system | |
JPH06175917A (en) | Flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101025 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |