CN109491930A - 一种ssd中优化写地址分配的方法 - Google Patents

一种ssd中优化写地址分配的方法 Download PDF

Info

Publication number
CN109491930A
CN109491930A CN201811363697.3A CN201811363697A CN109491930A CN 109491930 A CN109491930 A CN 109491930A CN 201811363697 A CN201811363697 A CN 201811363697A CN 109491930 A CN109491930 A CN 109491930A
Authority
CN
China
Prior art keywords
block
address
btl
bulk
layer
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.)
Granted
Application number
CN201811363697.3A
Other languages
English (en)
Other versions
CN109491930B (zh
Inventor
王荣生
晋兆虎
廖彬彬
黄益人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Amam Technology Co Ltd
Original Assignee
Hangzhou Amam Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Amam Technology Co Ltd filed Critical Hangzhou Amam Technology Co Ltd
Priority to CN201811363697.3A priority Critical patent/CN109491930B/zh
Publication of CN109491930A publication Critical patent/CN109491930A/zh
Application granted granted Critical
Publication of CN109491930B publication Critical patent/CN109491930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种SSD中优化写地址分配的方法。它具体包括如下步骤:(1)建立初始的坏块信息表BBIT;(2)建立块状换层BTL;(3)当地址分配的时候,由于在RAIDBlock中没有坏块,对产生地址的方式进行简化。本发明的有益效果是:通过块状换层BTL配置,实现写地址自动分配;由于避开了由于坏块导致的写位置不固定,可以采用硬件固定地生成编程地址,从而简化硬件设计复杂度;或者通过软件配置块内地址映射表的方式生成,降低CPU的分配地址的开销。

Description

一种SSD中优化写地址分配的方法
技术领域
本发明涉及固态硬盘相关技术领域,尤其是指一种SSD中优化写地址分配的方法。
背景技术
在SSD控制器中,我们通常将多个物理block捆绑为一个RAIDBlock进行变成以提高并发写能力。由于绑定的RAIDBlock内部可能存在不同位置的坏块,在编程地址生成的时候需要计算哪些地址是有效的,哪些地址是无效的。这种计算错误位置的工作在生成编程地址的时候十分复杂,如果用硬件计算,会消耗比较多的硬件资源,而且需要十分灵活的设计。如果采用软件生成,则需要消耗比较多的CPU资源。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够避免复杂地址生成运算的SSD中优化写地址分配的方法。
为了实现上述目的,本发明采用以下技术方案:
一种SSD中优化写地址分配的方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块状换层BTL;
(3)当地址分配的时候,由于在RAIDBlock中没有坏块,对产生地址的方式进行简化。
块转换层用于将传统方案可见的物理block(或者物理block的group)转换为逻辑的block——LRB,该逻辑block可以是单个的物理block,或者多个物理block。相比于传统的物理block(或物理block的group),转换后的逻辑block LRB没有坏块的影响,即所有的坏块都被转换层替换或者屏蔽。本方法通过引入BTL(块转换层)实现坏块替换,替换的结果是所有的编入编程的块均为有效块,从而避免复杂的地址生成运算。通过块状换层BTL配置,实现写地址自动分配。
作为优选,在步骤(2)中,块状换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由需要支持替换的数目决定,最大值为LRB x CH x Die x PL个,为了替换之后的所有RaidBlock保持相同多的有效block,采用替换block在不同的CH/Die/PL均可进行替换的方式;一旦出现没有可用于替换的block,那么就减少可用的RAIDBlock的数目。
作为优选,在步骤(2)中,块状换层BTL建立过程是指建立逻辑块和物理块的映射过程,坏块信息维护在坏块信息表BBIT中,块状换层BTL根据坏块信息表BBIT建立映射关系,块状换层BTL建立之后,控制器的其他引擎在查询block的信息的时候,直接向块状换层BTL申请,块状换层BTL将屏蔽掉坏块信息的Block信息送到各流程。
作为优选,在步骤(3)中,写地址由CH、Die、PL、BLK、PG域构成,每个域都是由多个单元构成的,实际编程地址就是生成由上述几个域构成的物理地址。
作为优选,在步骤(3)中,对产生地址的方式进行简化的方式有两种,其中方式一采用硬件自动生成;方式二通过块状换层BTL实现采用软件配置块内地址。由于避开了由于坏块导致的写位置不固定,可以采用硬件固定的生成编程地址,从而简化硬件设计复杂度。或者通过软件配置块内地址映射表的方式生成,降低CPU的分配地址的开销。
本发明的有益效果是:通过块状换层BTL配置,实现写地址自动分配;由于避开了由于坏块导致的写位置不固定,可以采用硬件固定的生成编程地址,从而简化硬件设计复杂度;或者通过软件配置块内地址映射表的方式生成,降低CPU的分配地址的开销。
附图说明
图1是本发明SSD磁盘的结构示意图;
图2是块转换层BTL表的结构示意图;
图3是传统方案的操作方法;
图4是本发明的操作方法。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种SSD中优化写地址分配的方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块状换层BTL;
块转换层用于将传统方案可见的物理block(或者物理block的group)转换为逻辑的block——LRB,该逻辑block可以是单个的物理block,或者多个物理block。相比于传统的物理block(或物理block的group),转换后的逻辑block LRB没有坏块的影响,即所有的坏块都被转换层替换或者屏蔽。
如图2所示,块状换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由需要支持替换的数目决定,最大值为LRB x CH x Die x PL个,为了替换之后的所有RaidBlock保持相同多的有效block,采用替换block在不同的CH/Die/PL均可进行替换的方式;一旦出现没有可用于替换的block,那么就减少可用的RAIDBlock的数目。
块状换层BTL建立过程是指建立逻辑块和物理块的映射过程。当NAND flash制造完成后会有一定比例的原厂坏块,同时,在flash的使用过程中,由于擦除,编程等多种原因,可能产生新的坏块。这些信息需要维护在坏块信息表(BBIT)中,块状换层BTL需要根据坏块信息表BBIT建立映射关系。块状换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块状换层BTL申请,块状换层BTL将屏蔽掉坏块信息的Block信息送到各流程,这样其他流程不用处理有坏块的异常情况。
(3)当地址分配的时候,由于在RAIDBlock中没有坏块,对产生地址的方式进行简化。
写地址由CH、Die、PL、BLK、PG域构成,每个域都是由多个单元构成的,实际编程地址就是生成由上述几个域构成的物理地址。比如如下是一种常见的form factor配置。
CH Die PL BLK PG
8 4 2 1478 768
为了简化描述,下面我们都简化为:只考虑其中的两个元素,且每个元素都压缩数目。即:4个block,每个block8个page。假设地址按照{BLK[1:0],page[2:0]}的方式生成。
如图3所示,传统方案:在传统方案中,由于地址直接为物理地址,所以当物理坏块发生的时候,对应的块需要忽略,反映到地址上就是会出现一段不连续的地址,本例中仅有block和page域,如果考虑到其他的域,这种不连续的地址空洞会更多,处理起来十分繁琐。
图图4所示,本方案:在本方法中,我们引入块状换层BTL将无效块(如图block 1)映射到有效块(如图 block K),映射之后,地址产生的时候根据逻辑block产生地址。如图中,地址12是写入block 1的page 4,我们将逻辑block 1映射到block K。而地址产生模块只看到逻辑地址。从而只需连续产生地址即可。
对产生地址的方式进行简化的方式有两种,其中方式一采用硬件自动生成;方式二通过块状换层BTL实现采用软件配置块内地址。通过BTL配置,实现写地址自动分配。由于避开了由于坏块导致的写位置不固定,可以采用硬件固定的生成编程地址,从而简化硬件设计复杂度。或者通过软件配置块内地址映射表的方式生成,降低CPU的分配地址的开销。

Claims (5)

1.一种SSD中优化写地址分配的方法,其特征是,具体包括如下步骤:
建立初始的坏块信息表BBIT;
建立块状换层BTL;
当地址分配的时候,由于在RAIDBlock中没有坏块,对产生地址的方式进行简化。
2.根据权利要求1所述的一种SSD中优化写地址分配的方法,其特征是,在步骤(2)中,块状换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由需要支持替换的数目决定,最大值为LRB x CH x Die x PL个,为了替换之后的所有RaidBlock保持相同多的有效block,采用替换block在不同的CH/Die/PL均可进行替换的方式;一旦出现没有可用于替换的block,那么就减少可用的RAIDBlock的数目。
3.根据权利要求1或2所述的一种SSD中优化写地址分配的方法,其特征是,在步骤(2)中,块状换层BTL建立过程是指建立逻辑块和物理块的映射过程,坏块信息维护在坏块信息表BBIT中,块状换层BTL根据坏块信息表BBIT建立映射关系,块状换层BTL建立之后,控制器的其他引擎在查询block的信息的时候,直接向块状换层BTL申请,块状换层BTL将屏蔽掉坏块信息的Block信息送到各流程。
4.根据权利要求1所述的一种SSD中优化写地址分配的方法,其特征是,在步骤(3)中,写地址由CH、Die、PL、BLK、PG域构成,每个域都是由多个单元构成的,实际编程地址就是生成由上述几个域构成的物理地址。
5.根据权利要求1或4所述的一种SSD中优化写地址分配的方法,其特征是,在步骤(3)中,对产生地址的方式进行简化的方式有两种,其中方式一采用硬件自动生成;方式二通过块状换层BTL实现采用软件配置块内地址。
CN201811363697.3A 2018-11-16 2018-11-16 一种ssd中优化写地址分配的方法 Active CN109491930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811363697.3A CN109491930B (zh) 2018-11-16 2018-11-16 一种ssd中优化写地址分配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811363697.3A CN109491930B (zh) 2018-11-16 2018-11-16 一种ssd中优化写地址分配的方法

Publications (2)

Publication Number Publication Date
CN109491930A true CN109491930A (zh) 2019-03-19
CN109491930B CN109491930B (zh) 2023-04-11

Family

ID=65695168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811363697.3A Active CN109491930B (zh) 2018-11-16 2018-11-16 一种ssd中优化写地址分配的方法

Country Status (1)

Country Link
CN (1) CN109491930B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780877A (zh) * 2019-09-17 2020-02-11 秦皇岛米格教育科技有限公司 基于程序积木的编程系统及其配置装置
CN112711544A (zh) * 2020-11-27 2021-04-27 北京泽石科技有限公司 固态非易失性存储控制器闪存颗粒物理地址快速寻址方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009103181A1 (zh) * 2008-02-18 2009-08-27 中兴通讯股份有限公司 在移动终端的非线性闪存上实现文件系统的装置
US20110078364A1 (en) * 2009-09-30 2011-03-31 Hynix Semiconductor Inc. Solid state storage system for controlling reserved area flexibly and method for controlling the same
US20120117309A1 (en) * 2010-05-07 2012-05-10 Ocz Technology Group, Inc. Nand flash-based solid state drive and method of operation
CN102779096A (zh) * 2012-07-11 2012-11-14 山东华芯半导体有限公司 一种基于页块面三维的闪存地址映射方法
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路系统有限公司 闪存ftl的地址转换方法
CN103026346A (zh) * 2010-07-27 2013-04-03 国际商业机器公司 包括固态存储器设备的存储系统中的逻辑到物理地址映射
CN104102591A (zh) * 2013-04-08 2014-10-15 香港理工大学 计算机子系统及在其中实现闪存转换层的方法
CN104360958A (zh) * 2014-12-09 2015-02-18 哈尔滨工业大学 基于块保留区替换的坏块管理系统及管理方法
CN106326134A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 Ftl地址映射的方法及装置
CN106648463A (zh) * 2016-12-21 2017-05-10 广州周立功单片机科技有限公司 Nand Flash块管理方法和系统
CN107992430A (zh) * 2017-12-20 2018-05-04 北京京存技术有限公司 闪存芯片的管理方法、装置及计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009103181A1 (zh) * 2008-02-18 2009-08-27 中兴通讯股份有限公司 在移动终端的非线性闪存上实现文件系统的装置
CN101809546A (zh) * 2008-02-18 2010-08-18 中兴通讯股份有限公司 在移动终端的非线性闪存上实现文件系统的装置
US20110078364A1 (en) * 2009-09-30 2011-03-31 Hynix Semiconductor Inc. Solid state storage system for controlling reserved area flexibly and method for controlling the same
US20120117309A1 (en) * 2010-05-07 2012-05-10 Ocz Technology Group, Inc. Nand flash-based solid state drive and method of operation
CN103026346A (zh) * 2010-07-27 2013-04-03 国际商业机器公司 包括固态存储器设备的存储系统中的逻辑到物理地址映射
CN102779096A (zh) * 2012-07-11 2012-11-14 山东华芯半导体有限公司 一种基于页块面三维的闪存地址映射方法
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路系统有限公司 闪存ftl的地址转换方法
CN104102591A (zh) * 2013-04-08 2014-10-15 香港理工大学 计算机子系统及在其中实现闪存转换层的方法
CN104360958A (zh) * 2014-12-09 2015-02-18 哈尔滨工业大学 基于块保留区替换的坏块管理系统及管理方法
CN106326134A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 Ftl地址映射的方法及装置
CN106648463A (zh) * 2016-12-21 2017-05-10 广州周立功单片机科技有限公司 Nand Flash块管理方法和系统
CN107992430A (zh) * 2017-12-20 2018-05-04 北京京存技术有限公司 闪存芯片的管理方法、装置及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780877A (zh) * 2019-09-17 2020-02-11 秦皇岛米格教育科技有限公司 基于程序积木的编程系统及其配置装置
CN110780877B (zh) * 2019-09-17 2023-10-03 秦皇岛米格教育科技有限公司 基于程序积木的编程系统及其配置装置
CN112711544A (zh) * 2020-11-27 2021-04-27 北京泽石科技有限公司 固态非易失性存储控制器闪存颗粒物理地址快速寻址方法

Also Published As

Publication number Publication date
CN109491930B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
CN104423894B (zh) 数据储存装置以及快闪存储器控制方法
CN109542333A (zh) 存储器系统及控制非易失性存储器的控制方法
CN109491930A (zh) 一种ssd中优化写地址分配的方法
CN106415502B (zh) 数据存储的方法和装置
US20190079676A1 (en) System and method for channel time management in solid state memory drives
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
CN101620572B (zh) 非易失性内存及控制方法
CN105843748B (zh) 一种对内存中内存页的处理方法及装置
CN104156396B (zh) 大数据环境下提高数据库性能的方法及系统
JP2024511385A (ja) コピーオンライトを使用するon-SSDコピー技法
CN111831220A (zh) 用于存储器写入操作的设备、方法和存储器模块
CN101800768B (zh) 一种基于存储联盟子集划分的网格数据副本生成方法
JP2023508676A (ja) ウェアレベリングを考慮したメモリ操作
JP2012248110A (ja) マルチチャネルを有するメモリ装置及び同装置における誤り訂正チャネル決定を含む書き込み制御方法
CN106873903A (zh) 数据存储方法及装置
US10318428B2 (en) Power aware hash function for cache memory mapping
CN109144897B (zh) 一种实现大容量ssd磁盘的方法
WO2024027140A1 (zh) 一种数据处理方法、装置、设备、系统及可读存储介质
CN102486757B (zh) 存储器储存装置及其存储器控制器与回应主机指令的方法
CN112000591A (zh) 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质
CN104615503B (zh) 降低对存储器接口性能影响的闪存错误检测方法及装置
CN104239248B (zh) Pci‑e多缓冲区dma数据传输方法
CN110489354A (zh) 支持两种位宽的磨损均衡垃圾回收加速装置
CN101206617B (zh) 闪存的数据存储方法
CN103227622B (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
GR01 Patent grant
GR01 Patent grant