KR100526190B1 - 플래시 메모리의 재사상 방법 - Google Patents
플래시 메모리의 재사상 방법 Download PDFInfo
- Publication number
- KR100526190B1 KR100526190B1 KR10-2004-0008068A KR20040008068A KR100526190B1 KR 100526190 B1 KR100526190 B1 KR 100526190B1 KR 20040008068 A KR20040008068 A KR 20040008068A KR 100526190 B1 KR100526190 B1 KR 100526190B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- physical unit
- cost
- physical
- logical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Abstract
Description
Claims (16)
- 소정의 논리 유니트에 맵핑되지 않은 다수의 물리 유니트를 삭제 횟수에 따라 나열하는 제 1 단계와,상기 삭제 횟수가 적은 순서에 따라 물리 유니트를 소정의 논리 유니트를 맵핑시키는 제 2 단계를 포함하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 1 항에 있어서,소정의 논리 유니트에 맵핑된 다수의 물리 유니트간의 선후 관계를 나타내는 깊이 값이 각 물리 유니트에 포함되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 2 항에 있어서,상기 깊이 값이 클수록 가장 최근에 맵핑된 물리 유니트로 판단되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 3 항에 있어서,상기 맵핑되지 않은 물리 유니트가 존재하지 않은 경우, 상기 논리 유니트내에서 빈 물리 유니트를 생성하는 컴팩션 연산을 수행하는 제 3 단계를 포함하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 4 항에 있어서,상기 깊이 값이 가장 큰 물리 유니트는 컴팩션 연산에서 제외시키는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 5 항에 있어서,상기 제 3 단계는 소정의 논리 유니트내에서 컴팩션 코스트가 가장 작은 물리 유니트를 선정하는 제 1 과정과,상기 선정된 물리 유니트의 컴팩션 코스트를 상기 논리 유니트의 컴팩션 코스트로 설정하는 제 2 과정과,상기 컴팩션 코스트가 가장 작은 물리 유니트의 유효 섹터를 상기 논리 유니트의 빈 공간으로 복사 후 상기 물리 유니트를 맵핑에서 제외시키는 제 3 과정을 포함하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 6 항에 있어서,상기 컴팩션 코스트는 소정 물리 유니트의 유효한 섹터 수 및 복사 코스트를 기반으로 유효 섹터를 옮기는데 소요되는 시간의 상대적인 값으로 설정되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 7 항에 있어서,논리 섹터를 상기 물리 유니트의 고정된 위치에 저장하는 경우, 상기 컴팩션 코스트 C는, C=Sv×Cc+Se×We에 의해 구해지는데, 상기 Sv는 유효 섹터수, Cc는 복사 코스트, Se는 빈 섹터수, We는 빈 섹터에 대한 가중치인 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 7 항에 있어서,논리 섹터를 상기 물리 유니트의 고정되지 않은 위치에 저장하는 경우, 상기 컴팩션 코스트 C는, C=Sv×Cc에 의해 구해지는데, 상기 Sv는 유효 섹터수, Cc는 복사 코스트인 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 8 항 또는 제 9 항에 있어서,상기 컴팩션 코스트는 상기 유효 섹터를 소정의 논리 유니트내에서 옮길 수 없는 경우, 새로운 물리 유니트를 할당하기 위한 할당 코스트가 추가되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 10 항에 있어서,상기 할당 코스트는 물리 유니트를 지우는 시간의 상대적인 값과 물리 유니트의 메타 정보를 기록하는 시간의 상대적인 값을 통해 설정되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 11 항에 있어서,상기 할당 코스트 상기 물리 유니트의 컴팩션 코스트 C는, C=Sv×Cc에 의해 구해지는데, 상기 Sv는 유효 섹터수, Cc는 복사 코스트인 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 12 항에 있어서,상기 컴팩션 코스트는 가장 작은 컴팩션 코스트를 가지는 물리 유니트 다음으로 작은 컴팩션 코스트를 가지는 물리 유니트의 컴팩션 코스트가 추가되는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 13 항에 있어서,상기 제 3 단계는 상기 컴팩션 코스트가 가장 작은 논리 유니트의 유효 섹터를 복사하기 위한 빈 공간이 존재하지 않는 경우, 가장 컴팩션 코스트가 작은 물리 유니트 다음으로 작은 컴팩션 코스트를 가지는 물리 유니트를 검색하는 제 4 과정과,소정의 빈 물리 유니트를 상기 논리 유니트에 맵핑시키는 제 5 과정과,가장 컴팩션 코스트가 작은 물리 유니트 다음으로 작은 컴팩션 코스트를 가지는 물리 유니트의 유효 섹터를 상기 빈 물리 유니트에 복사한 후 맵핑에서 제외시키는 제 5 과정을 더 포함하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 14 항에 있어서,소정의 논리 유니트들에 맵핑된 물리 유니트의 최소 삭제 횟수와 최대 삭제 횟수를 파악하는 제 4 단계와,상기 최소 삭제 횟수와 최대 삭제 횟수가 소정 값을 초과하는 경우 상기 컴팩션 연산을 수행하는 제 5 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
- 제 15 항에 있어서,상기 제 5 단계는 상기 최소 삭제 횟수를 가지는 물리 유니트에 대한 컴팩션 연산을 수행하는 것을 특징으로 하는 플래시 메모리의 재사상 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0008068A KR100526190B1 (ko) | 2004-02-06 | 2004-02-06 | 플래시 메모리의 재사상 방법 |
EP05250578A EP1562122A3 (en) | 2004-02-06 | 2005-02-02 | Method of remapping flash memory |
JP2005026846A JP4185058B2 (ja) | 2004-02-06 | 2005-02-02 | フラッシュメモリのリマッピング方法 |
CNB2005100052562A CN1315057C (zh) | 2004-02-06 | 2005-02-03 | 重映射闪速存储器的方法 |
US11/050,737 US7516295B2 (en) | 2004-02-06 | 2005-02-07 | Method of remapping flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0008068A KR100526190B1 (ko) | 2004-02-06 | 2004-02-06 | 플래시 메모리의 재사상 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050079576A KR20050079576A (ko) | 2005-08-10 |
KR100526190B1 true KR100526190B1 (ko) | 2005-11-03 |
Family
ID=34676016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-0008068A KR100526190B1 (ko) | 2004-02-06 | 2004-02-06 | 플래시 메모리의 재사상 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7516295B2 (ko) |
EP (1) | EP1562122A3 (ko) |
JP (1) | JP4185058B2 (ko) |
KR (1) | KR100526190B1 (ko) |
CN (1) | CN1315057C (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101354152B1 (ko) | 2006-12-18 | 2014-01-27 | 삼성전자주식회사 | 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089349B2 (en) * | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
JP5008845B2 (ja) | 2005-09-01 | 2012-08-22 | 株式会社日立製作所 | ストレージシステムとストレージ装置及びその制御方法 |
US20070180167A1 (en) * | 2006-02-02 | 2007-08-02 | Seagate Technology Llc | Dynamic partition mapping in a hot-pluggable data storage apparatus |
KR100781517B1 (ko) | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
KR100791325B1 (ko) * | 2006-10-27 | 2008-01-03 | 삼성전자주식회사 | 비휘발성 메모리를 관리하는 장치 및 방법 |
JP4292225B2 (ja) * | 2007-12-17 | 2009-07-08 | 株式会社東芝 | 情報記録装置および情報記録方法 |
KR100964374B1 (ko) * | 2007-12-17 | 2010-06-17 | 한국전자통신연구원 | 전파식별 태그의 메모리 관리 장치 및 방법 |
WO2009084724A1 (en) | 2007-12-28 | 2009-07-09 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
JP4675985B2 (ja) | 2008-03-01 | 2011-04-27 | 株式会社東芝 | メモリシステム |
JP4745356B2 (ja) * | 2008-03-01 | 2011-08-10 | 株式会社東芝 | メモリシステム |
KR101067457B1 (ko) * | 2008-03-01 | 2011-09-27 | 가부시끼가이샤 도시바 | 메모리 시스템 |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
US8275928B2 (en) * | 2008-05-15 | 2012-09-25 | Silicon Motion, Inc. | Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables |
JP4683438B2 (ja) * | 2008-06-13 | 2011-05-18 | 讀賣テレビ放送株式会社 | データ放送システム、データ放送方法及びプログラム |
TWI410976B (zh) * | 2008-11-18 | 2013-10-01 | Lite On It Corp | 固態儲存媒體可靠度的測試方法 |
JP4821845B2 (ja) * | 2008-12-22 | 2011-11-24 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4821844B2 (ja) * | 2008-12-22 | 2011-11-24 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
JP4952740B2 (ja) * | 2009-04-13 | 2012-06-13 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US8296503B2 (en) * | 2009-05-26 | 2012-10-23 | Mediatek Inc. | Data updating and recovering methods for a non-volatile memory array |
TWI410795B (zh) * | 2009-06-23 | 2013-10-01 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
CN102696010B (zh) * | 2009-09-08 | 2016-03-23 | 才智知识产权控股公司(2) | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
US8463983B2 (en) * | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
US8055942B2 (en) * | 2009-12-03 | 2011-11-08 | Seagate Technology Llc | Data storage devices and methods for power-on initialization |
JP5609683B2 (ja) * | 2011-01-31 | 2014-10-22 | ソニー株式会社 | メモリ装置およびメモリシステム |
TWI494948B (zh) * | 2011-01-31 | 2015-08-01 | Phison Electronics Corp | 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置 |
JP2012203443A (ja) | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
US9177609B2 (en) | 2011-06-30 | 2015-11-03 | Sandisk Technologies Inc. | Smart bridge for memory core |
US9208070B2 (en) * | 2011-12-20 | 2015-12-08 | Sandisk Technologies Inc. | Wear leveling of multiple memory devices |
CN104008061B (zh) * | 2013-02-22 | 2018-01-23 | 华为技术有限公司 | 内存回收方法及装置 |
TWI571882B (zh) * | 2016-02-19 | 2017-02-21 | 群聯電子股份有限公司 | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI584292B (zh) * | 2016-09-08 | 2017-05-21 | 群聯電子股份有限公司 | 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
KR102507140B1 (ko) * | 2017-11-13 | 2023-03-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102512727B1 (ko) * | 2017-12-22 | 2023-03-22 | 삼성전자주식회사 | 가비지 컬렉션을 수행하는 스토리지 장치, 및 스토리지 장치의 가비지 컬렉션 방법 |
US11860947B2 (en) * | 2019-01-31 | 2024-01-02 | International Business Machines Corporation | Deleted data restoration |
US11061598B2 (en) * | 2019-03-25 | 2021-07-13 | Western Digital Technologies, Inc. | Optimized handling of multiple copies in storage management |
CN111290716A (zh) * | 2020-03-05 | 2020-06-16 | 莆田学院 | 一种基于Norflash的磨损平衡处理方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473765A (en) * | 1994-01-24 | 1995-12-05 | 3Com Corporation | Apparatus for using flash memory as a floppy disk emulator in a computer system |
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JPH08124393A (ja) * | 1994-10-20 | 1996-05-17 | Fujitsu Ltd | データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
CN1136503C (zh) * | 1996-01-30 | 2004-01-28 | Tdk株式会社 | 闪烁存储系统 |
GB2317721B (en) * | 1996-09-30 | 2001-09-12 | Nokia Mobile Phones Ltd | Memory device |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
KR100297986B1 (ko) * | 1998-03-13 | 2001-10-25 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
JP3544859B2 (ja) * | 1998-05-11 | 2004-07-21 | 富士通株式会社 | 不揮発性半導体メモリを使用した2次記憶装置 |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
KR100644602B1 (ko) * | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
US6801994B2 (en) * | 2000-12-20 | 2004-10-05 | Microsoft Corporation | Software management systems and methods for automotive computing devices |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP4772214B2 (ja) | 2001-06-08 | 2011-09-14 | ルネサスエレクトロニクス株式会社 | 不揮発性記憶装置及びその書き換え制御方法 |
US6621746B1 (en) * | 2002-02-27 | 2003-09-16 | Microsoft Corporation | Monitoring entropic conditions of a flash memory device as an indicator for invoking erasure operations |
KR100914646B1 (ko) | 2002-08-31 | 2009-08-28 | 지인정보기술 주식회사 | 멀티-플레인 구조의 플래시 메모리 관리 방법 |
-
2004
- 2004-02-06 KR KR10-2004-0008068A patent/KR100526190B1/ko active IP Right Grant
-
2005
- 2005-02-02 JP JP2005026846A patent/JP4185058B2/ja active Active
- 2005-02-02 EP EP05250578A patent/EP1562122A3/en not_active Withdrawn
- 2005-02-03 CN CNB2005100052562A patent/CN1315057C/zh active Active
- 2005-02-07 US US11/050,737 patent/US7516295B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101354152B1 (ko) | 2006-12-18 | 2014-01-27 | 삼성전자주식회사 | 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP4185058B2 (ja) | 2008-11-19 |
EP1562122A3 (en) | 2007-05-02 |
JP2005222550A (ja) | 2005-08-18 |
US20050174849A1 (en) | 2005-08-11 |
CN1652089A (zh) | 2005-08-10 |
CN1315057C (zh) | 2007-05-09 |
US7516295B2 (en) | 2009-04-07 |
EP1562122A2 (en) | 2005-08-10 |
KR20050079576A (ko) | 2005-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100526190B1 (ko) | 플래시 메모리의 재사상 방법 | |
US7702844B2 (en) | Address mapping method and mapping information managing method for flash memory, and flash memory using the same | |
US7191306B2 (en) | Flash memory, and flash memory access method and apparatus | |
KR100789406B1 (ko) | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
US7882300B2 (en) | Apparatus and method for managing nonvolatile memory | |
KR100577380B1 (ko) | 플래시 메모리와 그 제어 방법 | |
US8046526B2 (en) | Wear leveling method and controller using the same | |
US7711892B2 (en) | Flash memory allocation for improved performance and endurance | |
KR100644602B1 (ko) | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 | |
KR100684887B1 (ko) | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
KR101329068B1 (ko) | 블록 관리를 가지는 비휘발성 메모리 | |
JP2010515179A (ja) | フラッシュメモリのブロック管理方法 | |
CN101354681A (zh) | 存储器系统、非易失性存储器的磨损均衡方法及装置 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
US11334480B2 (en) | Data storage device and non-volatile memory control method | |
CN108073359B (zh) | 数据储存装置的操作方法 | |
US11150819B2 (en) | Controller for allocating memory blocks, operation method of the controller, and memory system including the controller | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
KR100533683B1 (ko) | 플래시 메모리의 데이터 관리 장치 및 방법 | |
KR100638638B1 (ko) | 플래시 메모리의 제어 방법 | |
TWI808011B (zh) | 資料處理方法及對應之資料儲存裝置 |
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: 20120925 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130930 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160930 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180927 Year of fee payment: 14 |