KR101027112B1 - 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 - Google Patents
플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 Download PDFInfo
- Publication number
- KR101027112B1 KR101027112B1 KR1020080062735A KR20080062735A KR101027112B1 KR 101027112 B1 KR101027112 B1 KR 101027112B1 KR 1020080062735 A KR1020080062735 A KR 1020080062735A KR 20080062735 A KR20080062735 A KR 20080062735A KR 101027112 B1 KR101027112 B1 KR 101027112B1
- Authority
- KR
- South Korea
- Prior art keywords
- group
- data
- page
- update
- flash memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (13)
- 플래시 메모리의 데이터 클러스터링 장치에 있어서,페이지의 예상 업데이트 시점이 기 설정된 시간 범위에 있는 페이지들을 모아 동일한 블록에 쓰기 연산을 실행하며,상기 페이지의 예상 업데이트 시점은 상기 페이지를 구성하는 다수의 데이터에 대응되는 다수의 업데이트 주기 중 최단주기를 기반으로 설정되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 장치.
- 제 1항에 있어서,동일한 페이지 내에 서로 다른 업데이트 주기를 갖는 데이터들이 있는 경우, 그 페이지의 업데이트 주기는 가장 짧은 업데이트 주기를 갖는 데이터의 주기와 동일하게 되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 장치.
- 제 1항에 있어서,쓰기 연산이 요청될 경우, 그룹 관리 테이블에 기초하여 데이터를 저장할 페이지를 할당하는 할당부(allocator); 및소거 연산이 요청될 경우, 소거 정책(erase policy)에 의해 선택된 블록을 소거하는 소거부(cleaner)를 포함하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 장치.
- 제 3항에 있어서,상기 그룹 관리 테이블은 일정 개수의 그룹 엔트리를 관리하고, 그룹 업데이트 타임과 그룹에 해당하는 블록들의 리스트로 구성되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 장치.
- 제 4항에 있어서,상기 그룹은 업데이트 타임이 상기 그룹 각각에 대해 기 설정된 시간 범위에 있는 페이지들이 저장된 블록들의 집합이며, 하나의 그룹은 하나의 그룹 관리 테이블 엔트리와 대응되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 장치.
- 플래시 메모리의 데이터 클러스터링 방법에 있어서,데이터 쓰기가 요청되는 경우, 새로운 데이터 쓰기인지 이전 데이터의 업데이트 인지 확인하는 단계;상기 확인하는 단계에 의해 이전 데이터의 업데이트인 것으로 확인되면, 상기 이전 데이터가 저장된 페이지를 무효화하고 해당 페이지의 업데이트 타임을 계산하는 단계;계산된 상기 업데이트 타임에 해당하는 그룹이 존재할 경우, 상기 그룹에 빈 페이지가 존재하는지의 여부를 확인하는 단계; 및빈 페이지가 존재할 경우에 상기 빈 페이지에 업데이트된 데이터를 저장하는 단계를 포함하며,상기 페이지의 예상 업데이트 타임은 상기 페이지를 구성하는 다수의 데이터에 대응되는 다수의 업데이트 주기 중 최단주기를 기반으로 설정되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 제 7항에 있어서,상기 그룹에 빈 페이지가 없을 경우 새로운 블록을 할당하여 상기 그룹에 추가하는 단계를 더 포함하며,추가된 상기 새로운 블록의 빈 페이지에 상기 업데이트된 데이터를 저장하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 제 7항에 있어서,계산된 상기 업데이트 타임에 해당하는 그룹 엔트리가 존재하지 않는 경우, 상기 그룹 엔트리에 포함되지 않은 블록의 빈 페이지에 상기 업데이트된 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 제 7항에 있어서,새로운 데이터 쓰기인 것으로 판단되면, 그룹 엔트리에 포함되지 않은 블록의 빈 페이지에 데이터를 저장하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 플래시 메모리의 데이터 클러스터링 방법에 있어서,데이터 쓰기가 요청되는 경우, 이전 데이터가 저장된 페이지를 무효화하고 해당 페이지의 업데이트 타임을 계산하는 단계; 및계산된 상기 업데이트 타임에 해당하는 그룹이 존재하는지를 검색하여 해당 그룹이 존재할 경우 상기 해당 그룹에 포함된 페이지들 중 비어있는 페이지에 업데이트된 데이터를 저장하는 단계를 포함하며,상기 페이지의 예상 업데이트 타임은 상기 페이지를 구성하는 다수의 데이터에 대응되는 다수의 업데이트 주기 중 최단주기를 기반으로 설정되는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 제 11항에 있어서,상기 해당 그룹에 빈 페이지가 없을 경우 새로운 블록을 할당하여 상기 해당 그룹에 추가하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
- 제 11항에 있어서,상기 해당 그룹이 존재하지 않는 경우 그룹에 포함되지 않은 블록에 상기 업데이트된 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 데이터 클러스터링 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080062735A KR101027112B1 (ko) | 2008-06-30 | 2008-06-30 | 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 |
| US12/493,346 US20090327592A1 (en) | 2008-06-30 | 2009-06-29 | Clustering device for flash memory and method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080062735A KR101027112B1 (ko) | 2008-06-30 | 2008-06-30 | 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20100002731A KR20100002731A (ko) | 2010-01-07 |
| KR101027112B1 true KR101027112B1 (ko) | 2011-04-05 |
Family
ID=41448932
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020080062735A Expired - Fee Related KR101027112B1 (ko) | 2008-06-30 | 2008-06-30 | 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20090327592A1 (ko) |
| KR (1) | KR101027112B1 (ko) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
| EP2715510B1 (en) * | 2011-05-24 | 2018-05-02 | Marvell World Trade Ltd. | Method for storage devices to achieve low write amplification with low over provision |
| KR101949671B1 (ko) | 2012-06-28 | 2019-04-25 | 삼성전자 주식회사 | 라이프 싸이클을 증가시킬 수 있는 저장 장치 및 그 동작 방법 |
| CN103577240B (zh) * | 2012-07-25 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 系统自动清理方法、装置及存储介质 |
| KR101419335B1 (ko) * | 2012-11-23 | 2014-07-16 | 한양대학교 산학협력단 | 멀티 레벨 셀 플래시 메모리의 페이지 단위 클러스터링 장치 및 방법 |
| EP2797003A1 (en) * | 2013-04-26 | 2014-10-29 | Giesecke & Devrient GmbH | Method for flash memory management of a secure element |
| GB2521895B (en) * | 2014-09-25 | 2015-12-16 | Grenade Uk Ltd | Drinking vessel |
| CN106250064B (zh) * | 2016-08-19 | 2020-05-12 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
| US10949113B2 (en) * | 2018-01-10 | 2021-03-16 | SK Hynix Inc. | Retention aware block mapping in flash-based solid state drives |
| KR102692901B1 (ko) | 2019-01-11 | 2024-08-08 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 비휘발성 메모리 블록 내 데이터를 삭제하는 방법 및 장치 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100703807B1 (ko) * | 2006-02-17 | 2007-04-09 | 삼성전자주식회사 | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 |
| JP4372134B2 (ja) * | 2006-09-29 | 2009-11-25 | 株式会社日立製作所 | データ比較機能を有するストレージシステム |
-
2008
- 2008-06-30 KR KR1020080062735A patent/KR101027112B1/ko not_active Expired - Fee Related
-
2009
- 2009-06-29 US US12/493,346 patent/US20090327592A1/en not_active Abandoned
Non-Patent Citations (2)
| Title |
|---|
| Jeong-Uk Kang et al.,"A Superblock-based Flash Translation Layer for NAND Flash Memory", Proceedings of the 6th ACM & IEEE International conference on Embedded software, pages 161-170, Seoul, Korea, O |
| Mei-Ling Chiang et al.,"Using Data Clustering to Improve Cleaning Performance for Flash Memory", Softw. Pract. Exper., 29(3), pages 267-290, 1999. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20090327592A1 (en) | 2009-12-31 |
| KR20100002731A (ko) | 2010-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101027112B1 (ko) | 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법 | |
| US11579773B2 (en) | Memory system and method of controlling memory system | |
| US10275162B2 (en) | Methods and systems for managing data migration in solid state non-volatile memory | |
| CN110678836B (zh) | 用于键值存储的持久性存储器 | |
| US8176235B2 (en) | Non-volatile memories with enhanced write performance and endurance | |
| KR100789406B1 (ko) | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 | |
| US9235530B2 (en) | Method and system for binary cache cleanup | |
| US20120317337A1 (en) | Managing data placement on flash-based storage by use | |
| US20110055458A1 (en) | Page based management of flash storage | |
| WO2011061724A1 (en) | Memory controller and methods for enhancing write performance of a flash device | |
| JP2012221251A (ja) | メモリシステムの制御方法、情報処理装置、及びプログラム | |
| JP2015001909A (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
| CN106569962A (zh) | 一种基于增强时间局部性的热点数据识别方法 | |
| KR20090024971A (ko) | 섹터의 집합을 이용한 캐시 운용 방법 및 캐시 장치 | |
| KR101180406B1 (ko) | 비휘발성 메모리 시스템 및 블럭 관리 방법 | |
| KR101033465B1 (ko) | 플래쉬 메모리 장치 및 및 이를 위한 리드동작 제어 방법 | |
| Ross | Modeling the performance of algorithms on flash memory devices | |
| JP6666405B2 (ja) | メモリシステムおよび制御方法 | |
| CN112997162B (zh) | 一种删除内存中索引项的方法、装置 | |
| KR100994052B1 (ko) | 플래시 변환 계층에서 수행되는 데이터 관리 방법 및 이를 수행하는 플래시 메모리 장치 | |
| EP4137952A1 (en) | Lifecycle-aware persistent storage | |
| KR20110021417A (ko) | 플래시 메모리 시스템 및 그것의 내용기반 블록 관리 방법 | |
| Kim et al. | A wear-leveling algorithm exploiting k-bitwise operations for flash storage devices | |
| KR100885026B1 (ko) | 플래시 메모리의 마모도 평준화 방법 | |
| CN117785055A (zh) | 垃圾回收方法、闪存设备控制器及闪存设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| R15-X000 | Change to inventor requested |
St.27 status event code: A-3-3-R10-R15-oth-X000 |
|
| R16-X000 | Change to inventor recorded |
St.27 status event code: A-3-3-R10-R16-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
| J201 | Request for trial against refusal decision | ||
| PJ0201 | Trial against decision of rejection |
St.27 status event code: A-3-3-V10-V11-apl-PJ0201 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PB0901 | Examination by re-examination before a trial |
St.27 status event code: A-6-3-E10-E12-rex-PB0901 |
|
| B701 | Decision to grant | ||
| PB0701 | Decision of registration after re-examination before a trial |
St.27 status event code: A-3-4-F10-F13-rex-PB0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| FPAY | Annual fee payment |
Payment date: 20140226 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20150311 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| L13-X000 | Limitation or reissue of ip right requested |
St.27 status event code: A-2-3-L10-L13-lim-X000 |
|
| U15-X000 | Partial renewal or maintenance fee paid modifying the ip right scope |
St.27 status event code: A-4-4-U10-U15-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20170405 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20180330 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20180330 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18 | Changes to party contact information recorded |
Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |


