CN109144897A - 一种实现大容量ssd磁盘的方法 - Google Patents
一种实现大容量ssd磁盘的方法 Download PDFInfo
- Publication number
- CN109144897A CN109144897A CN201811027252.8A CN201811027252A CN109144897A CN 109144897 A CN109144897 A CN 109144897A CN 201811027252 A CN201811027252 A CN 201811027252A CN 109144897 A CN109144897 A CN 109144897A
- Authority
- CN
- China
- Prior art keywords
- block
- lrb
- btl
- large capacity
- conversion 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
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现大容量SSD磁盘的方法。它具体包括如下步骤:(1)建立初始的坏块信息表BBIT;(2)建立块转换层BTL;(3)对于flash传输层FTL,在块转换层BTL引入之后,将特定的逻辑地址LBA与特定的逻辑块LRB进行绑定,而逻辑块LRB本身跟真实的block进行二次映射。本发明的有益效果是:逻辑块LRB可以更灵活的访问到实际的物理block PRB,从而可以得到均匀磨损的效果。
Description
技术领域
本发明涉及SSD磁盘相关技术领域,尤其是指一种实现大容量SSD磁盘的方法。
背景技术
现有SSD(Solid State Disk)控制器中广泛使用一种称为flash传输层(FTL)的计数来解决逻辑LBA号与实际物理地址(PPA)的对应关系,当存储容量增加的时候,FTL也会响应增加。受限于DRAM访问的粒度,单bit的访问效率极低,需要read and modify操作。所以当需要的FTL超出32bit的时候,FTL的访问效率和组织会成为一个棘手的问题。
FTL通过逻辑地址(LBA)寻址,内容为物理地址(PPA)。PPA的数目多少决定了实际磁盘的大小。而LBA的大小决定了主机可以访问的容量大小。
以一个FTL entry对应一个4KB的数据为例。32bit宽度的FTL最多可以支持232个entry,即16TB。当需要增加到32TB时,需要33bit宽度的FTL。这种格式的FTL对DRAM资源和管理带来比较大的复杂度。
假设32bit的FTL内容由10bit的block ID和其他的一些域构成,假设通过增加block数目,我们将磁盘容量翻一倍,那么需要将FTL的内容从32bit扩展为33bit,其中block ID从10bit修改为11bit。
解决这个问题的一个办法是将逻辑LBA与物理地址进行绑定操作,比如奇LBA只能访问奇PPA。通过这种操作,PPA地址可以节省1bit。
这种思路能够解决大容量磁盘的FTL存储问题,但是有如下缺陷:
一:当用户只访问其中特别LBA(比如奇数LBA)的时候,磁盘一直在写奇数的地址,从而导致磨损不均衡;
二:由于奇偶分开,所以当写入数据不相等的时候,OP空间不能共享,导致一边的写放大偏大,另一边的写放大偏小。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种磨损均匀的实现大容量SSD磁盘的方法。
为了实现上述目的,本发明采用以下技术方案:
一种实现大容量SSD磁盘的方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块转换层BTL;
(3)对于flash传输层FTL,在块转换层BTL引入之后,将特定的逻辑地址LBA与特定的逻辑块LRB进行绑定,而逻辑块LRB本身跟真实的block进行二次映射。
块转换层BTL用于将传统方案可见的物理block(或者物理block的group)转换为逻辑的block——LRB,该逻辑block可以是单个的物理block,或者多个物理block。块转换层BTL建立过程是指建立逻辑块和物理块的映射过程。当NAND flash制造完成后会有一定比例的原厂坏块,同时,在flash的使用过程中,由于擦除,编程等多种原因,可能产生新的坏块。这些信息需要维护在坏块信息表(BBIT)中,块转换层BTL需要根据BBIT建立映射关系。块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将逻辑块信息LRB送到各流程,这样其他流程不用处理实际的物理block PRB。所以,逻辑块LRB可以更灵活的访问到实际的物理block PRB,从而可以得到均匀磨损的效果。
作为优选,在步骤(2)中,块转换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由支持替换的数目决定,最大值为LRB x CH x Die x PL个。
作为优选,为了简化设计,采用所有PL或者Die一起替换,那么相应条目数减少。
作为优选,作为替换关系的一个特例,引入一个替换为无效的条目,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块。
作为优选,在步骤(3)中,当逻辑块LRB和物理块PRB一一映射的时候,奇偶逻辑块LRB仍然只能访问正常的物理空间,所以仍然不能得到更高的OP,通过将逻辑块LRB的数目增加到物理块PRB的两倍,这样即便只访问奇数逻辑块LRB,用户实际上也能访问整个物理空间。
本发明的有益效果是:逻辑块LRB可以更灵活的访问到实际的物理block PRB,从而可以得到均匀磨损的效果。
附图说明
图1是大容量SSD磁盘的结构示意图;
图2是块转换层BTL表的结构示意图;
图3是无效条目的结构示意图;
图4、图5、图6、图7是本发明扩展逻辑块LRB获取高OP的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种实现大容量SSD磁盘的方法,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;块转换层BTL建立过程是指建立逻辑块和物理块的映射过程,当NAND flash制造完成后会有一定比例的原厂坏块,同时在flash的使用过程中,由于擦除、编程等多种原因,可能产生新的坏块,这些信息需要维护在坏块信息表BBIT中,块转换层BTL需要根据坏块信息表BBIT建立映射关系;
(2)建立块转换层BTL;
块转换层BTL表建立之后,控制器的其他引擎在查询block的信息的时候,直接向块转换层BTL申请,块转换层BTL将逻辑块信息LRB送到各流程,这样其他流程不用处理实际的物理block PRB;
块转换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由支持替换的数目决定,最大值为LRB x CH x Die x PL个;比如:需要支持1024个逻辑块LRB,每个逻辑块LRB由16个CH,4个Die,2个PL构成,那么块转换层BTL的条目数为1024x16x4x2;在实际工程中为了简化设计,可以采用所有PL或者Die一起替换,那么相应条目数可以减少,如图2所示,给出了其中三种不同的配置;
块转换层BTL表的内容提供了需要替换的物理block的信息,我们可以约束这种替换只能在同一个PL内部进行,还是可以在任意CH/Die/PL上进行替换,这种替换关系对控制器的带宽波动和性能以及复杂度都会由比较大的影响;
作为替换关系的一个特例,我们引入一个替换为无效的条目定义如图3所示,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块;
(3)对于flash传输层FTL,在块转换层BTL引入之后,将特定的逻辑地址LBA与特定的逻辑块LRB进行绑定,而逻辑块LRB本身跟真实的block进行二次映射。
假设有2048个物理block PRB,我们用2048个逻辑block LRB与之对应,由于逻辑块LRB可以根据使用情况进行调整,所以,逻辑块LRB可以更灵活的访问到实际的物理blockPRB,从而可以得到均匀磨损的效果。
当逻辑块LRB和物理块PRB一一映射的时候,奇偶逻辑块LRB仍然只能访问正常的物理空间(不一定奇偶分离),所以仍然不能得到更高的OP。这个问题可以通过增加逻辑块LRB的方式来解决。通过将逻辑块LRB的数目增加到物理块PRB的两倍,这样即便只访问奇数逻辑块LRB,用户实际上也可以访问整个物理空间。
如下是采用扩展逻辑块LRB获取高OP的一个实例:
1.假设用户需要范文的LBA为32TB,即33bit lba,如图4所示;
2.我们将用户LBA空间分成多个set,如图5所示;
3.我们将特定set内部的LBA与特定的逻辑块LRB进行绑定,如图6所示;
4.进行绑定之后,即便用户只访问部分空间的LBA,实际用户可以访问的物理空间也可以远远超过实际的大小,从而提高OP,如图7所示。
在本例中,假设用户只访问Set1的LBA,由于逻辑上隶属Set1的逻辑块LRB的数目与物理PRB的数目相等,所以即使只访问Set1的数据也有能力访问全部的物理空间。
Claims (5)
1.一种实现大容量SSD磁盘的方法,其特征是,具体包括如下步骤:
(1)建立初始的坏块信息表BBIT;
(2)建立块转换层BTL;
(3)对于flash传输层FTL,在块转换层BTL引入之后,将特定的逻辑地址LBA与特定的逻辑块LRB进行绑定,而逻辑块LRB本身跟真实的block进行二次映射。
2.根据权利要求1所述的一种实现大容量SSD磁盘的方法,其特征是,在步骤(2)中,块转换层BTL表是一个逻辑block到物理block的转换表,该表项的条目数由支持替换的数目决定,最大值为LRB x CH x Die x PL个。
3.根据权利要求2所述的一种实现大容量SSD磁盘的方法,其特征是,为了简化设计,采用所有PL或者Die一起替换,那么相应条目数减少。
4.根据权利要求2或3所述的一种实现大容量SSD磁盘的方法,其特征是,作为替换关系的一个特例,引入一个替换为无效的条目,此条目用于表征该逻辑block没有可以替换为好的block,即不能替换,或者替换之后仍为无效块。
5.根据权利要求1所述的一种实现大容量SSD磁盘的方法,其特征是,在步骤(3)中,当逻辑块LRB和物理块PRB一一映射的时候,奇偶逻辑块LRB仍然只能访问正常的物理空间,所以仍然不能得到更高的OP,通过将逻辑块LRB的数目增加到物理块PRB的两倍,这样即便只访问奇数逻辑块LRB,用户实际上也能访问整个物理空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811027252.8A CN109144897B (zh) | 2018-09-04 | 2018-09-04 | 一种实现大容量ssd磁盘的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811027252.8A CN109144897B (zh) | 2018-09-04 | 2018-09-04 | 一种实现大容量ssd磁盘的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144897A true CN109144897A (zh) | 2019-01-04 |
CN109144897B CN109144897B (zh) | 2023-07-14 |
Family
ID=64826833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811027252.8A Active CN109144897B (zh) | 2018-09-04 | 2018-09-04 | 一种实现大容量ssd磁盘的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144897B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398783A (zh) * | 2007-09-28 | 2009-04-01 | 株式会社日立制作所 | 存储装置以及数据重复排除方法 |
WO2009103181A1 (zh) * | 2008-02-18 | 2009-08-27 | 中兴通讯股份有限公司 | 在移动终端的非线性闪存上实现文件***的装置 |
CN101681315A (zh) * | 2008-03-01 | 2010-03-24 | 株式会社东芝 | 存储器*** |
US20110145477A1 (en) * | 2009-12-15 | 2011-06-16 | Rudelic John C | Flash translation layer using phase change memory |
US20120005451A1 (en) * | 2010-07-02 | 2012-01-05 | Samsung Electronics Co., Ltd | Data storage device and bad block managing method thereof |
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机*** |
CN102779096A (zh) * | 2012-07-11 | 2012-11-14 | 山东华芯半导体有限公司 | 一种基于页块面三维的闪存地址映射方法 |
CN102819496A (zh) * | 2012-08-16 | 2012-12-12 | 无锡紫芯集成电路***有限公司 | 闪存ftl的地址转换方法 |
CN104133779A (zh) * | 2013-05-02 | 2014-11-05 | 擎泰科技股份有限公司 | 非易失性存储装置及其动态调整映射方式的方法 |
CN105095113A (zh) * | 2015-07-21 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法和*** |
US20160070652A1 (en) * | 2014-09-04 | 2016-03-10 | Fusion-Io, Inc. | Generalized storage virtualization interface |
CN105740162A (zh) * | 2015-12-31 | 2016-07-06 | 上海盈方微电子有限公司 | 应用于nand存储器的nftl数据存储***及方法 |
CN107329904A (zh) * | 2017-06-30 | 2017-11-07 | 湖南国科微电子股份有限公司 | 数据读取方法及装置 |
CN107992430A (zh) * | 2017-12-20 | 2018-05-04 | 北京京存技术有限公司 | 闪存芯片的管理方法、装置及计算机可读存储介质 |
-
2018
- 2018-09-04 CN CN201811027252.8A patent/CN109144897B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398783A (zh) * | 2007-09-28 | 2009-04-01 | 株式会社日立制作所 | 存储装置以及数据重复排除方法 |
WO2009103181A1 (zh) * | 2008-02-18 | 2009-08-27 | 中兴通讯股份有限公司 | 在移动终端的非线性闪存上实现文件***的装置 |
CN101681315A (zh) * | 2008-03-01 | 2010-03-24 | 株式会社东芝 | 存储器*** |
US20110145477A1 (en) * | 2009-12-15 | 2011-06-16 | Rudelic John C | Flash translation layer using phase change memory |
US20120005451A1 (en) * | 2010-07-02 | 2012-01-05 | Samsung Electronics Co., Ltd | Data storage device and bad block managing method thereof |
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机*** |
CN102779096A (zh) * | 2012-07-11 | 2012-11-14 | 山东华芯半导体有限公司 | 一种基于页块面三维的闪存地址映射方法 |
CN102819496A (zh) * | 2012-08-16 | 2012-12-12 | 无锡紫芯集成电路***有限公司 | 闪存ftl的地址转换方法 |
CN104133779A (zh) * | 2013-05-02 | 2014-11-05 | 擎泰科技股份有限公司 | 非易失性存储装置及其动态调整映射方式的方法 |
US20160070652A1 (en) * | 2014-09-04 | 2016-03-10 | Fusion-Io, Inc. | Generalized storage virtualization interface |
CN105095113A (zh) * | 2015-07-21 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法和*** |
CN105740162A (zh) * | 2015-12-31 | 2016-07-06 | 上海盈方微电子有限公司 | 应用于nand存储器的nftl数据存储***及方法 |
CN107329904A (zh) * | 2017-06-30 | 2017-11-07 | 湖南国科微电子股份有限公司 | 数据读取方法及装置 |
CN107992430A (zh) * | 2017-12-20 | 2018-05-04 | 北京京存技术有限公司 | 闪存芯片的管理方法、装置及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
Also Published As
Publication number | Publication date |
---|---|
CN109144897B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797180B2 (en) | Apparatus and method to provide cache move with non-volatile mass memory system | |
CN102298561B (zh) | 一种对存储设备进行多通道数据处理的方法、***和装置 | |
CN107466418B (zh) | 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器 | |
US8230159B2 (en) | System, method, and computer program product for sending logical block address de-allocation status information | |
CN112035381B (zh) | 一种存储***及存储数据处理方法 | |
US20130073798A1 (en) | Flash memory device and data management method | |
US8090905B2 (en) | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format | |
TWI438778B (zh) | 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器 | |
TW201716980A (zh) | 資料儲存設備及其操作方法 | |
US10552359B2 (en) | Hot plug method and device for byte addressable persistent memory | |
TWI525430B (zh) | 快取記憶體裝置以及該裝置的資料處理方法 | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104143355B (zh) | 一种刷新动态随机存取存储器的方法和装置 | |
CN106844227A (zh) | 基于分组机制的固态硬盘磨损均衡方法及装置 | |
CN101650639A (zh) | 一种存储装置及计算机*** | |
CN102999441B (zh) | 一种细粒度内存访问的方法 | |
US20210173577A1 (en) | Configuring partitions of a memory sub-system for different data | |
CN112017700A (zh) | 用于存储器装置的动态功率管理网络 | |
CN107291392A (zh) | 一种固态硬盘及其读写方法 | |
US20210278985A1 (en) | Command batching for a memory sub-system | |
KR20220083716A (ko) | 블록 디바이스의 구성 | |
CN101930407B (zh) | 闪速存储器控制电路及其存储***与数据传输方法 | |
CN104409099A (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN109144897A (zh) | 一种实现大容量ssd磁盘的方法 | |
TWI435216B (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 |