CN103226516A - 将Nandflash的物理块按无效页数量进行排序的方法 - Google Patents
将Nandflash的物理块按无效页数量进行排序的方法 Download PDFInfo
- Publication number
- CN103226516A CN103226516A CN2012100218303A CN201210021830A CN103226516A CN 103226516 A CN103226516 A CN 103226516A CN 2012100218303 A CN2012100218303 A CN 2012100218303A CN 201210021830 A CN201210021830 A CN 201210021830A CN 103226516 A CN103226516 A CN 103226516A
- Authority
- CN
- China
- Prior art keywords
- physical block
- sequencing
- pages
- assignment
- nandflash
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种将Nandflash的物理块按无效页数量进行排序的方法,第一步,将无效页数相同的物理块串联成一个子排序链表;第二步,将各子排序链表按无效页数由多到少依次串联起来,形成一个包含所有物理块的排序链表。本发明可以在较短的时间内完成排序,提高排序的效率。
Description
技术领域
本发明涉及一种将Nandflash(与非型闪存)的物理块按无效页数量进行排序的方法。
背景技术
Nandflash在最近几年里得到了突飞猛进的发展,由SLC(1位/单元)技术发展到了MLC(多位/单元)技术,同时Nandflash的生产工艺也不断进步。随着技术的发展,Nandflash容量不断增大,单位容量的成本也大幅降低,应用Nandflash的领域也越来越多。
Nandflash的擦写次数是有限的,在擦写的时候要尽量擦除无效页数量最多的块,因此在Nandflash控制器的设计中,选择无效页数量最多的块,是一个非常必要的功能。
发明内容
本发明要解决的技术问题是提供一种将Nandflash的物理块按无效页数量进行排序的方法,可以在较短的时间内完成排序,提高排序的效率。
为解决上述技术问题,本发明的将Nandflash的物理块按无效页数量进行排序的方法是采用如下技术方案实现的:
第一步,将无效页数相同的物理块串联成一个子排序链表;
第二步,将各子排序链表按无效页数由多到少依次串联起来,形成一个包含所有物理块的排序链表。
所述排序链表采用链表结构。
本发明采用链表结构对Nandflash的物理块进行排序,可以在较短的时间内完成排序。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是将Nandflash的物理块按无效页数量进行排序的方法流程图。
具体实施方式
本发明中各变量的定义见下表1:
表1
对Nandflash的物理块进行排序的排序链表结构,每一物理块均有对应的链表项,每一项包含两个指针,一个指向当前物理块的前一个物理块,另一个指向当前物理块的后一个物理块。每一物理块在链表中都有4个字节,其含义如下表2所示:
表2
这样对物理块的排序就变成了对排序链表中每一项的PBP和NBP进行赋值。
本发明的方法是在已知每个物理块中无效页数量的基础上进行排序的。结合附图所示,在一实施例中,具体步骤如下:
第1步:将无效页数相同的物理块串联成一个子链表,即将Nandflash的物理块按照其无效页数量分成PN+1组(PN是物理块中所含的物理页数)。
1.1、对变量i赋值0,读取第i个物理块的无效页数量,将其赋值给N。无条件转到步骤1.2。
1.2、判断GRP_N_HP是否等于NULL,若是转到步骤1.3;若否,转到步骤1.4。
1.3、依次执行以下赋值,然后无条件转到步骤1.5。
1.3.1、对变量GRP_N_HP赋值i;
1.3.2、对变量GRP_N_EP赋值i。
1.4、依次执行以下赋值,然后无条件转到步骤1.5。
1.4.1、对物理块GRP_N_HP的PBP赋值为i;
1.4.2、对物理块i的NBP赋值为GRP_N_HP;
1.4.3、对GRP_N_HP赋值为i。
1.5、将变量i的值加1,然后读取第i个物理块的无效页数量,将其赋值给N,转到步骤1.6。
1.6、判断i是否小于物理块数量BN,若是则转到步骤1.2;若否则结束。
第二步:将各子链表按无效页数由多到少依次串联起来,即将PN+1组物理块按其无效页数量由多到少进行串联,串联成一个包含所有物理块的排序链表。
2.1、对变量i赋值PN,无条件转到步骤2.2。
2.2、判断GRP_i_HP是否等于NULL,若是转到步骤2.6;若否,转到步骤2.3。
2.3、判断HEAD是否等于NULL,若是转到步骤2.4;若否,转到步骤2.5。
2.4、依次完成以下赋值,然后无条件转到步骤2.6。
2.4.1、对HEAD赋值为GRP_i_HP;
2.4.2、对HEAD所指物理块的PBP赋值为NULL;
2.4.3、对TAIL赋值为GRP_i_EP。
2.5、依次完成以下赋值,然后无条件转到步骤2.6。
2.5.1、对TAIL所指物理块的NBP赋值为GRP_i_HP;
2.5.2、对GRP_i_HP所指物理块的PBP赋值为TAIL;
2.5.3、对TAIL赋值为GRP_i_EP。
2.6、变量i的值减1,然后无条件转到步骤2.7。
2.7、判断i是否等于0,若是则转到步骤2.8;若否则转到步骤2.2。
2.8、判断GRP_0_HP是否等于NULL,若是则转到步骤2.10;若否则转到步骤2.9。
2.9、对TAIL所指物理块的NBP赋值为NULL,然后结束。
2.10、依次完成以下赋值,然后结束。
2.10.1、对TAIL所指物理块的NBP赋值为GRP_0_HP;
2.10.2、对GRP_0_HP所指物理块的PBP赋值为TAIL;
2.10.3、对TAIL赋值为GRP_0_EP;
2.10.4、对TAIL所指物理块的NBP赋值为NULL。
第一步的操作只需要遍历每个物理块的无效页数量即可完成,第二步只需要遍历第一步生成的PN+1组数据即可完成。整个过程相对于传统的排序方法(如“冒泡”法)可以节省大量的时间。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种将与非型闪存Nandflash的物理块按无效页数量进行排序的方法,其特征在于:
第一步,将无效页数相同的物理块串联成一个子排序链表;
第二步,将各子排序链表按无效页数由多到少依次串联起来,形成一个包含所有物理块的排序链表。
2.如权利要求1所述的方法,其特征在于:所述排序链表采用链表结构。
3.如权利要求1或2所述的方法,其特征在于:每一物理块均有对应的链表项,每一项包含两个指针,一个指向当前物理块的前一个物理块,另一个指向当前物理块的后一个物理块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100218303A CN103226516A (zh) | 2012-01-31 | 2012-01-31 | 将Nandflash的物理块按无效页数量进行排序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100218303A CN103226516A (zh) | 2012-01-31 | 2012-01-31 | 将Nandflash的物理块按无效页数量进行排序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226516A true CN103226516A (zh) | 2013-07-31 |
Family
ID=48836974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100218303A Pending CN103226516A (zh) | 2012-01-31 | 2012-01-31 | 将Nandflash的物理块按无效页数量进行排序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226516A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368257A (zh) * | 2016-05-12 | 2017-11-21 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存***与控制*** |
CN102243613A (zh) * | 2010-05-12 | 2011-11-16 | 西部数据技术公司 | 管理固态存储器中垃圾收集的***和方法 |
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
-
2012
- 2012-01-31 CN CN2012100218303A patent/CN103226516A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存***与控制*** |
CN102243613A (zh) * | 2010-05-12 | 2011-11-16 | 西部数据技术公司 | 管理固态存储器中垃圾收集的***和方法 |
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368257A (zh) * | 2016-05-12 | 2017-11-21 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
CN107368257B (zh) * | 2016-05-12 | 2019-11-12 | 华为技术有限公司 | 固态存储器中的数据巡检方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391488A (zh) | 调整时间与顺序相关的柔性流水车间能耗优化调度方法 | |
CN105058039B (zh) | 电能表锁螺丝钉装置 | |
RU2010117380A (ru) | Распределение последовательностей преамбулы | |
CN103226516A (zh) | 将Nandflash的物理块按无效页数量进行排序的方法 | |
TR199800763A1 (xx) | Farkl� birden �ok lasti�in �retimi ve ili�kili �retim sistemi. | |
CN103019646A (zh) | 并行排序电路及并行排序方法 | |
CN101510215B (zh) | 一种计算机***中的数据处理方法和*** | |
CN105959224B (zh) | 基于比特向量的高速路由查找装置及方法 | |
DE602004011519D1 (de) | Gestaffeltes laden von nachführvorrichtungen, wie in einem elektronischen sprengsystem | |
CN110069119A (zh) | 一种芯片串联电路及计算设备 | |
CN103204195B (zh) | 模块化车身的制造方法及该模块化车身 | |
CN206614238U (zh) | 拨件装置 | |
CN205232546U (zh) | 汽车内阅读灯控制电路 | |
CN103870321A (zh) | 一种将应用程序按照用户使用时长排序的方法 | |
CN103226517A (zh) | 对Nandflash的物理块按无效页数量进行动态排序的方法 | |
CN202552284U (zh) | 一种循环站服装流水线*** | |
CN205646082U (zh) | 一体化多***合路平台 | |
CN104079147A (zh) | 一种模块化多电平变流器的功率模块动态分组均压控制方法 | |
CN103115488A (zh) | Led荧光材料专用氢气推板炉 | |
CN207580727U (zh) | 一种载具周转机 | |
CN202423209U (zh) | 一种用于制造直管型荧光灯管的芯柱输送机 | |
CN106027032A (zh) | 一种单位延时模型下rm逻辑电路延时优化方法 | |
CN206447180U (zh) | 一种用于组装生产线的产品输送装置 | |
CN105045600A (zh) | 一种多组有序序列的并行排序方法 | |
CN204687001U (zh) | 一种自动化木板切割机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130731 |