CN109144900B - 一种ssd中块转换层的实现方法 - Google Patents
一种ssd中块转换层的实现方法 Download PDFInfo
- Publication number
- CN109144900B CN109144900B CN201811027966.9A CN201811027966A CN109144900B CN 109144900 B CN109144900 B CN 109144900B CN 201811027966 A CN201811027966 A CN 201811027966A CN 109144900 B CN109144900 B CN 109144900B
- Authority
- CN
- China
- Prior art keywords
- block
- lrb
- die
- blk
- btl
- 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.)
- Active
Links
Images
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种SSD中块转换层的实现方法。它具体包括如下步骤:(1)建立初始的坏块信息表BBIT;(2)建立块转换层BTL,块转换层BTL表是一个逻辑block到物理block的转换表,其中逻辑block的地址生成包括若干类型,物理block的替换方式包括若干类型。本发明的有益效果是:块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将屏蔽掉坏块信息的Block信息送到各流程,这样其他流程不用处理有坏块的异常情况,引入块转换层(BTL)简化了SSD的设计。
Description
技术领域
本发明涉及SSD相关技术领域,尤其是指一种SSD中块转换层的实现方法。
背景技术
现有SSD(Solid State Disk)控制器中广泛使用一种称为flash传输层(FTL)的计数来解决逻辑LBA号与实际物理地址的对应关系,引入FTL的原因就是nand flash出错会导致实际地址变化的情况。但是FTL基于的粒度是LBA的粒度进行管理,常见的为512Byte或者4Kbyte。但是该管理粒度与实际nand flash出错的管理粒度并不一致。
在实际NAND flash使用的时候,按照物理块为单位擦除,在多plane操作的时候,多个块一起擦除,但是擦除之后的状态是各plane分离的。由于坏块的存在,需要在SSD控制器处理的时候考虑坏块的影响,从而导致SSD的各处理流程都比较复杂。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种简化SSD的SSD中块转换层的实现方法。
为了实现上述目的,本发明采用以下技术方案:
一种SSD中块转换层的实现方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块转换层BTL,块转换层BTL表是一个逻辑block到物理block的转换表,其中逻辑block的地址生成包括若干类型,物理block的替换方式包括若干类型。
块转换层BTL用于将传统方案可见的物理block(或者物理block的group)转换为逻辑的block——LRB,该逻辑block可以是单个的物理block,或者多个物理block。相比于传统的物理block(或物理block的group),转换后的逻辑block LRB没有坏块的影响,即所有的坏块都被转换层替换或者屏蔽。块转换层BTL建立过程是指建立逻辑块和物理块的映射过程。当NAND flash制造完成后会有一定比例的原厂坏块,同时,在flash的使用过程中,由于擦除、编程等多种原因,可能产生新的坏块。这些信息需要维护在坏块信息表(BBIT)中,块转换层BTL需要根据BBIT建立映射关系。块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将屏蔽掉坏块信息的Block信息送到各流程,这样其他流程不用处理有坏块的异常情况,引入块转换层(BTL)简化了SSD的设计。
作为优选,在步骤(2)中,块转换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由需要支持替换的数目决定,最大值为LRB x CH x Die x PL个;其中:逻辑block的地址生成包括三种类型,分别是LRB x CH x Die x PL、LRB x CH、LRB x CH xDie。
作为优选,块转换层BTL表的内容提供了需要替换的物理block的信息,物理block的替换方式包括五种类型,分别为CH x Die x BLK、CH x Die x PL x BLK、BLK、CH x BLK、PL x BLK。
作为优选,作为替换关系的一个特例,引入一个替换为无效的条目,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块。
作为优选,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die x PL,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块只能选用当前PL的冗余块进行替换,替换的时候单个PL进行替换。
作为优选,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为CH x Die x BLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块通过不同的通道不同的die的多个PL进行替换,替换的时候可以同时对多个PL进行替换。
作为优选,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,每一个逻辑block替换成新的block,通过设置无效block的方式将不同的CH绑定到不同的逻辑block中。
本发明的有益效果是:块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将屏蔽掉坏块信息的Block信息送到各流程,这样其他流程不用处理有坏块的异常情况,引入块转换层(BTL)简化了SSD的设计。
附图说明
图1是SSD磁盘的结构示意图;
图2是块转换层BTL表的结构示意图;
图3是无效条目的结构示意图;
图4、图5、图6是本发明不同替换方式的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种SSD中块转换层的实现方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块转换层BTL,块转换层BTL表是一个逻辑block到物理block的转换表,其中逻辑block的地址生成包括若干类型,物理block的替换方式包括若干类型。
块转换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由需要支持替换的数目决定,最大值为LRB x CH x Die x PL个,比如:需要支持1024个逻辑块LRB,每个LRB由16个CH,4个Die,2个PL构成,那么BTL的条目数为1024x16x4x2;在实际工程中为了简化设计,可以采用所有PL(或Die)一起替换,那么相应条目数可以减少。
如图2所示,逻辑block的地址生成包括三种类型,分别是LRB x CH x Die x PL、LRB x CH、LRB x CH x Die。BTL表的内容提供了需要替换的物理block的信息,物理block的替换方式包括五种类型,分别为CH x Die x BLK、CH x Die x PL x BLK、BLK、CH x BLK、PL x BLK。BTL表的内容提供了需要替换的物理block的信息,我们可以约束这种替换只能在同一个PL内部进行,还是可以在任意CH/Die/PL上进行替换。这种替换关系对控制器的带宽波动和性能以及复杂度都会由比较大的影响。
作为替换关系的一个特例,引入一个替换为无效的条目,如图3所示,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块。
如图4所示,当逻辑block的地址生成类型为LRB x CH x Die x PL,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块只能选用当前PL的冗余块进行替换,替换的时候单个PL进行替换。图中,LRB2的内部在CH0Die1PL1上的物理block2出现了错误,我们使用同一个PL下的物理block1026进行替换。由于替换只在同一个PL内部发生,这种方案具有如下特点:替换之后的block同样可以多PL并发,所以写带宽较高。但是由于约束了替换关系,当当前PL的坏块较多,也不能用其他PL的有效块进行替换,导致实际使用的容量变小,影响OP大小。
如图5所示,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为CH x Die x BLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块通过不同的通道不同的die的多个PL进行替换,替换的时候可以同时对多个PL进行替换。图中,LRB 3的内部在CH0Die1PL1上的物理block2出现了错误,我们使用CH1Die0block1026将PL0和PL1同时进行替换。由于替换可以在不同die之间发生,这种方案具有如下特点:替换之后的block同样可以多PL并发,所以写带宽较高。且我们没有约束替换在同一个PL内部,所以当当前PL的坏块较多时,可以用其他plane的有效块进行替换,可以最大限度使用冗余的块资源。
如图6所示,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,每一个逻辑block替换成新的block,通过设置无效block的方式将不同的CH绑定到不同的逻辑block中。对应的块转换层BTL表项内容如下:
在这种情况下‘FFFF’用以标记该Block无效。在本例中CH0~3隶属LRB A;而CH4~7隶属LRB B。从而实现了不同的CH划分到不同的逻辑块LRB。
块转换层用于将传统方案可见的物理block(或者物理block的group)转换为逻辑的block——LRB,该逻辑block可以是单个的物理block,或者多个物理block。相比于传统的物理block(或物理block的group),转换后的逻辑block LRB没有坏块的影响,即所有的坏块都被转换层替换或者屏蔽。块转换层BTL建立过程是指建立逻辑块和物理块的映射过程。当NAND flash制造完成后会有一定比例的原厂坏块,同时,在flash的使用过程中,由于擦除、编程等多种原因,可能产生新的坏块。这些信息需要维护在坏块信息表(BBIT)中,块转换层BTL需要根据BBIT建立映射关系。块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将屏蔽掉坏块信息的Block信息送到各流程,这样其他流程不用处理有坏块的异常情况,通过引入块转换层(BTL)简化了SSD的设计。通过块转换层BTL表格的设计,实现不同逻辑block的划分和坏块替换方式,用以支持不同的绑定关系,从而得到不同的带宽、RAID能力等特性。
Claims (6)
1.一种SSD中块转换层的实现方法,其特征是,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块转换层BTL,块转换层BTL表是一个逻辑block到物理block的转换表,其中逻辑block的地址生成包括若干类型,物理block的替换方式包括若干类型;块转换层BTL表是一个逻辑block到物理block的转换表,该转换表的表项的条目数由需要支持替换的数目决定,该转换表的表项的条目数最大值为LRB x CH x Die x PL个;其中:LRB指的是逻辑块;CH即Channel,指的是通道;Die即LUN,指的是逻辑单元;PL即Plane,指的是面;逻辑block的地址生成包括三种类型,分别是LRB x CH x Die x PL、LRB x CH、LRB x CH x Die;其中:LRB x CH x Die x PL指的是由LRB、CH、Die、PL生成的地址,LRB x CH指的是由LRB、CH生成的地址,LRB x CH x Die指的是由LRB、CH、Die生成的地址。
2.根据权利要求1所述的一种SSD中块转换层的实现方法,其特征是,块转换层BTL表的内容提供了需要替换的物理block的信息,物理block的替换方式包括五种类型,分别为CHx Die x BLK、CH x Die x PL x BLK、BLK、CH x BLK、PL x BLK;其中:BLK 指的是物理块;CH x Die x BLK指的是由CH、Die、BLK构成的信息,CH x Die x PL x BLK指的是由CH、Die、PL、BLK构成的信息,BLK指的是由BLK构成的信息,CH x BLK指的是由CH、BLK构成的信息,PLx BLK指的是由PL、BLK构成的信息。
3.根据权利要求1或2所述的一种SSD中块转换层的实现方法,其特征是,作为替换的一个特例,引入一个替换为无效的条目,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块。
4.根据权利要求2所述的一种SSD中块转换层的实现方法,其特征是,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die x PL,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块只能选用当前PL的冗余块进行替换,替换的时候单个PL进行替换。
5.根据权利要求2所述的一种SSD中块转换层的实现方法,其特征是,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为CH x Die xBLK时,这种块转换层BTL得到的逻辑块LRB中,所有的坏块通过不同的通道不同的die的多个PL进行替换,替换的时候可以同时对多个PL进行替换。
6.根据权利要求2所述的一种SSD中块转换层的实现方法,其特征是,在步骤(2)中,当逻辑block的地址生成类型为LRB x CH x Die,物理block的替换方式类型为BLK时,这种块转换层BTL得到的逻辑块LRB中,每一个逻辑block替换成新的block,通过设置无效block的方式将不同的CH绑定到不同的逻辑block中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811027966.9A CN109144900B (zh) | 2018-09-04 | 2018-09-04 | 一种ssd中块转换层的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811027966.9A CN109144900B (zh) | 2018-09-04 | 2018-09-04 | 一种ssd中块转换层的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144900A CN109144900A (zh) | 2019-01-04 |
CN109144900B true CN109144900B (zh) | 2023-04-07 |
Family
ID=64826885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811027966.9A Active CN109144900B (zh) | 2018-09-04 | 2018-09-04 | 一种ssd中块转换层的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144900B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器*** |
CN102779096A (zh) * | 2012-07-11 | 2012-11-14 | 山东华芯半导体有限公司 | 一种基于页块面三维的闪存地址映射方法 |
CN108121669A (zh) * | 2016-11-29 | 2018-06-05 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101086876B1 (ko) * | 2009-09-30 | 2011-11-25 | 주식회사 하이닉스반도체 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
US9983829B2 (en) * | 2016-01-13 | 2018-05-29 | Sandisk Technologies Llc | Physical addressing schemes for non-volatile memory systems employing multi-die interleave schemes |
-
2018
- 2018-09-04 CN CN201811027966.9A patent/CN109144900B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727976A (zh) * | 2008-10-15 | 2010-06-09 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器*** |
CN102779096A (zh) * | 2012-07-11 | 2012-11-14 | 山东华芯半导体有限公司 | 一种基于页块面三维的闪存地址映射方法 |
CN108121669A (zh) * | 2016-11-29 | 2018-06-05 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Non-Patent Citations (2)
Title |
---|
Flash存储中间层技术的研究;吕雪飞等;《计算机工程与应用》;20090211(第05期);全文 * |
一种基于功能表的高效FTL算法;吴俊军等;《计算机工程与科学》;20101115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109144900A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204040B2 (en) | High speed flash controllers | |
TWI436370B (zh) | 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 | |
KR102541492B1 (ko) | 다중 모드 동작들을 위해 다중 파티션을 포함하는 저장 장치, 및 그것의 동작 방법 | |
US8275933B2 (en) | Apparatus, system, and method for managing physical regions in a solid-state storage device | |
US9996473B2 (en) | Selective underlying exposure storage mapping | |
TWI408689B (zh) | 存取儲存裝置的方法及相關控制電路 | |
TWI506430B (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
JP2017091548A (ja) | 分散格納システム及び分散格納方法並びに分散施設 | |
CN105468534A (zh) | 使用读取阈值表提高闪存利用率的方法和*** | |
JP2017091524A (ja) | 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法 | |
US20130097362A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US11036429B2 (en) | Memory control method, memory storage device and memory control circuit unit to determine a source block using interleaving information | |
US20190073298A1 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US20120233382A1 (en) | Data storage apparatus and method for table management | |
TWI701552B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110489264A (zh) | 记忆装置页可用性管理方法及***、记忆装置及电子装置 | |
TW201603030A (zh) | 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN112162695A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 | |
TW201705148A (zh) | 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI717755B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201532064A (zh) | 修復均化的方法、系統與其相關的資料結構 | |
US10678477B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
CN109144900B (zh) | 一种ssd中块转换层的实现方法 | |
TW201312353A (zh) | 資料搬移方法、記憶體控制器與記憶體儲存裝置 | |
TWI714840B (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 |