CN108874682A - 一种提升闪存垃圾数据回收方法 - Google Patents
一种提升闪存垃圾数据回收方法 Download PDFInfo
- Publication number
- CN108874682A CN108874682A CN201810394412.6A CN201810394412A CN108874682A CN 108874682 A CN108874682 A CN 108874682A CN 201810394412 A CN201810394412 A CN 201810394412A CN 108874682 A CN108874682 A CN 108874682A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- flash
- memory
- data
- block
- 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.)
- Withdrawn
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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- 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/7205—Cleaning, 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)
- Memory System (AREA)
Abstract
本发明公开了一种提升闪存垃圾数据回收方法,包括存储器控制芯片,所述存储器控制芯片内设有闪存指令控制装置、闪存物理地址表和数据缓冲区,所述数据缓冲区连接外部的多个闪存;多个闪存包括第一闪存、第二闪存、第三闪存、第N闪存,N为大于3的整数。本发明通过闪存物理地址表,大幅的缩减垃圾回收的时间。快速的找到该垃圾回收的闪存块,只搬移最少数量的闪存数据。完成单一次的垃圾回收。
Description
技术领域
本发明涉及闪存技术领域,具体为一种提升闪存垃圾数据回收方法。
背景技术
闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等。
闪存为非消失性的存储器装置,能保存数据。不会再失去电力后遗失数据,常见的有存储三个比特的三级单元(TLC),两个比特的多级单元(MLC)闪存以及一个单级单元(SLC)闪存,当单元内储存的比特数越多,容量也越大。
由于闪存写入数据后不可以重复再写入数据,必须要使用额外的闪存块整理已写入的数据,此过程称为闪存垃圾回收。垃圾回收有三种情况,第一种类型称为替换机制,新的闪存数据完全取代旧的闪存块;第二种类型为部分替换机制,新的数据闪存块只有部分需要由旧闪存块取得数据补足;第三种类型为不能替换机制,新产生的数据闪存块,全部的数据内容都从好几个旧的闪存块取出。第一类型最有效率,第三类型需花费最多的时间和成本。
为了使闪存有高效的使用效能,闪存中需要一个闪存转换层在闪存芯片上实现了一个虚拟块设备,主要透过映射表来把逻辑地址映射到闪存的物理地址。依照第二和第三类型的垃圾回收机制需要很快的在块中找寻有效数据,搬移到新的闪存块中。传统方法必须要把块中每一个位置读取后,比对映像表,找出是否符合映射表内容,判断有效数据或无效数据。此方式花费大量的读取时间,影响整体效率。
发明内容
本发明的目的在于提供一种提升闪存垃圾数据回收方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种提升闪存垃圾数据回收方法,包括存储器控制芯片,所述存储器控制芯片内设有闪存指令控制装置、闪存物理地址表和数据缓冲区,所述数据缓冲区连接外部的多个闪存;多个闪存包括第一闪存、第二闪存、第三闪存、第N闪存,N为大于3的整数。
优选的,所述闪存有1024个块,每个块有256个页,每个页由32个扇形组合而成。
优选的,包括以下步骤:
A、依照存储器控制芯片中的闪存物理地址表查询一个块中的有效数据,选取最少有效数据的闪存块优先做垃圾回收;
B、挑选为有效数据的闪存页,读取数据到存储器控制芯片内的缓冲区;
C、透过存储器控制芯片的指令控制装置将缓冲区内的数据搬移到新的闪存页;
D、更新闪存物理地址表,将新的闪存块中的页对映的比特设为1,旧的闪存页比特设为0。
与现有技术相比,本发明的有益效果是:本发明通过闪存物理地址表,大幅的缩减垃圾回收的时间。快速的找到该垃圾回收的闪存块,只搬移最少数量的闪存数据。完成单一次的垃圾回收。
附图说明
图1为本发明原理框图;
图2为本发明流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种提升闪存垃圾数据回收方法, 包括存储器控制芯片1,所述存储器控制芯片1内设有闪存指令控制装置2、闪存物理地址表3和数据缓冲区4,所述数据缓冲区4连接外部的多个闪存;多个闪存包括第一闪存5、第二闪存6、第三闪存7、第N闪存,N为大于3的整数;所述闪存有1024个块,每个块有256个页,每个页由32个扇形组合而成;假设一个闪存块有256个页,闪存物理地址表可以4096比特或者一个闪存页当一个单位。1代表为有效数据,0为无效数据。存储器控制芯片内有一个闪存指令控制装置,透过这个装置可以发出指令控制闪存芯片。一个用于存放数据的缓冲区,一个闪存物理地址表。
本发明中,提升闪存垃圾数据回收方法包括以下步骤:
A、依照存储器控制芯片中的闪存物理地址表查询一个块中的有效数据,选取最少有效数据的闪存块优先做垃圾回收;
B、挑选为有效数据的闪存页,读取数据到存储器控制芯片内的缓冲区;
C、透过存储器控制芯片的指令控制装置将缓冲区内的数据搬移到新的闪存页;
D、更新闪存物理地址表,将新的闪存块中的页对映的比特设为1,旧的闪存页比特设为0。
假设闪存为256个页的块,实际有效的数据有64个,而闪存物理地址表以一个闪存页为单位,传统方式做垃圾回收时必须读取256个块,再参考逻辑地址映射到闪存物理地址的映射表, 决定是否搬到新的闪存块,利用此方式只要读取实际的有效位置128次就能搬移整个旧闪存块数据。节省四倍的时间。一个闪存块内的有效数据越少,节省的时间就越多。
综上所述,本发明通过闪存物理地址表,大幅的缩减垃圾回收的时间。快速的找到该垃圾回收的闪存块,只搬移最少数量的闪存数据。完成单一次的垃圾回收。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种提升闪存垃圾数据回收方法, 包括存储器控制芯片(1),其特征在于:所述存储器控制芯片(1)内设有闪存指令控制装置(2)、闪存物理地址表(3)和数据缓冲区(4),所述数据缓冲区(4)连接外部的多个闪存;多个闪存包括第一闪存(5)、第二闪存(6)、第三闪存(7)、第N闪存,N为大于3的整数。
2.根据权利要求1所述的一种提升闪存垃圾数据回收方法,其特征在于:所述闪存有1024个块,每个块有256个页,每个页由32个扇形组合而成。
3.根据权利要求1所述的一种提升闪存垃圾数据回收方法,其特征在于:包括以下步骤:
A、依照存储器控制芯片中的闪存物理地址表查询一个块中的有效数据,选取最少有效数据的闪存块优先做垃圾回收;
B、挑选为有效数据的闪存页,读取数据到存储器控制芯片内的缓冲区;
C、透过存储器控制芯片的指令控制装置将缓冲区内的数据搬移到新的闪存页;
D、更新闪存物理地址表,将新的闪存块中的页对映的比特设为1,旧的闪存页比特设为0。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394412.6A CN108874682A (zh) | 2018-04-27 | 2018-04-27 | 一种提升闪存垃圾数据回收方法 |
PCT/CN2018/105862 WO2019205447A1 (zh) | 2018-04-27 | 2018-09-14 | 一种提升闪存垃圾数据回收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394412.6A CN108874682A (zh) | 2018-04-27 | 2018-04-27 | 一种提升闪存垃圾数据回收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874682A true CN108874682A (zh) | 2018-11-23 |
Family
ID=64326790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810394412.6A Withdrawn CN108874682A (zh) | 2018-04-27 | 2018-04-27 | 一种提升闪存垃圾数据回收方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108874682A (zh) |
WO (1) | WO2019205447A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052193A (zh) * | 2020-09-28 | 2020-12-08 | 成都佰维存储科技有限公司 | 一种垃圾回收方法、装置、可读存储介质及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626986B2 (en) * | 2010-06-30 | 2014-01-07 | Sandisk Technologies Inc. | Pre-emptive garbage collection of memory blocks |
CN104166634A (zh) * | 2014-08-12 | 2014-11-26 | 华中科技大学 | 一种固态盘系统中的映射表缓存管理方法 |
CN104268095A (zh) * | 2014-09-24 | 2015-01-07 | 上海新储集成电路有限公司 | 一种存储器及基于该存储器进行数据读/写操作的方法 |
CN105528301A (zh) * | 2015-12-07 | 2016-04-27 | 中国人民解放军信息工程大学 | 一种NAND Flash闪存垃圾回收方法 |
CN107391392A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种基于闪存存储设备并行特征的垃圾回收优化方法 |
CN107797772A (zh) * | 2017-11-27 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种基于闪存介质的垃圾回收系统及方法 |
-
2018
- 2018-04-27 CN CN201810394412.6A patent/CN108874682A/zh not_active Withdrawn
- 2018-09-14 WO PCT/CN2018/105862 patent/WO2019205447A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052193A (zh) * | 2020-09-28 | 2020-12-08 | 成都佰维存储科技有限公司 | 一种垃圾回收方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019205447A1 (zh) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
JP5530012B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
KR101551584B1 (ko) | 하이브리드 slc/mlc 메모리 내의 블록 관리 방식들 | |
CN101937319B (zh) | 存储器系统及其映射方法 | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
US20190114272A1 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US20090307413A1 (en) | Data writing method for flash memory and storage system and controller using the same | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US20100100667A1 (en) | Flash memory system and designing method of flash translation layer thereof | |
US20060179263A1 (en) | Flash memory device and associated data merge method | |
CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN104268095A (zh) | 一种存储器及基于该存储器进行数据读/写操作的方法 | |
TWI473100B (zh) | Flash memory system and its operation method | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
TW200534092A (en) | Non-volatile memory and method with block management system | |
US20080162787A1 (en) | System for block relinking | |
US20140331024A1 (en) | Method of Dynamically Adjusting Mapping Manner in Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
US20220318157A1 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
TWI540428B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US20080162612A1 (en) | Method for block relinking | |
WO2023116235A1 (zh) | 数据处理方法、系统、设备、存储系统及介质 | |
CN112130749A (zh) | 数据储存装置以及非挥发式存储器控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181123 |
|
WW01 | Invention patent application withdrawn after publication |