CN108153681A - 一种大容量固态硬盘映射表压缩方法 - Google Patents
一种大容量固态硬盘映射表压缩方法 Download PDFInfo
- Publication number
- CN108153681A CN108153681A CN201711228573.XA CN201711228573A CN108153681A CN 108153681 A CN108153681 A CN 108153681A CN 201711228573 A CN201711228573 A CN 201711228573A CN 108153681 A CN108153681 A CN 108153681A
- Authority
- CN
- China
- Prior art keywords
- num
- block
- page
- physical
- mapping table
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种大容量固态硬盘映射表压缩方法,其特征在于将在生成物理块信息与物理页信息进行如下合并计算生成带有物理块地址信息和物理页地址信息的块页序号BP_num:并将合并块页序号BP_num填入对应的表项数据的字段中,BP_num=block_num*MAX_PAGE_NUM+page_num;当需要恢复物理块地址信息block_num和物理页地址信息page_num时,从映射表的对应表项数据的字段取出合并块页序号BP_num,合并块页序号BP_num对MAX_PAGE_NUM做除法商为block_num,余数为page_num。通过引入该方案,解决了因为NAND组成非幂次带来的DRAM需求增加的问题,降低了成本且提高了映射表访问效率。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种大容量固态硬盘映射表压缩方法。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,其应用场景从客户端Client应用扩展到企业级Enterprise应用领域。
在Client应用模型下,由于主要是替换现有的HDD,在等效的性能需求下,SSD容量需求不大。而在企业级应用下,则对于大容量规格的SSD有一定的诉求(例如2TB、4TB、8TB、16TB...等)。进一步地,对于企业级大OP的产品,当主机可见容量为8TB时,物理容量往往远远大于8TB,例如12TB。
在传统4KB平地址映射模式的SSD中,一个4KB的主机逻辑地址会被映射到SSD的物理地址,通常用32bit表示。故而使得SSD的逻辑容量以及DRAM的大小维持在4K:4,也就是1024:1的级别。
随着3D TLC NAND工艺的出现,NAND的组成不再维持2的幂次组成格式,从而导致传统的32bit映射表出现了空洞,进而导致了映射表字段的浪费从而降低了能够寻址的物理空间。
当发生该问题时,需要扩展映射表位宽。一方面导致多次32bit的DRAM访问,效率低;一方面增加DRAM大小需求,相应地也增加了成本。
图1是常见的SSD内部映射管理示意图,主机通过线性逻辑地址(LBA)对SSD发起读写操作,每连续的8个LBA组成一个LPA,SSD端维持4KB级别的映射表l2p,(其索引为LPA,值为对应存放数据的物理地址PPA,通过查询、更新LBA对应LPA在l2p表中的值,拿到物理地址,对NAND发起读写操作。
典型NAND组成为:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个B l ock擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。
图2是典型的映射表l2p的表项的字段解析示意图,为组成固定容量的SSD,需要多个DIE,分别连到SSD控制器的不同的通道CH和片选信号CE(CH,通道,不同CH完全独立,CE:片选,同一通道下有多个片选,其总线是共享的,所以是分时复用)上,对于任意4K,需要定位到CH+CE+Block+Page+Offset,因为典型的一个物理Page为16KB,包含4个LPA,所以需要offset描述在页内的偏移;进一步地,由于DRAM有极低的概率出错,为保障数据可靠性,需要保留一个bit作为校验位,因此典型的,将每一个映射表项32bit分解为对应的字段:Parity+(校验位)rsv(保留位)+ch+ce(通道+片选选择位)+block(块序号)+page(页序号)+offset(偏移)。由于有效的位段只有31bit,所以可以寻址的物理空间范围为2^31个LPA,也就是8TB空间。
图3是TLC闪存的映射表存在的非2的幂次问题示意图,随着3D TLC NAND的出现,单个DIE上的物理Block数(2096)、单个Block内的页数(768)已经非2的幂次。
按照传统的映射表字段策略分配原则,此时最大能描述的物理空间范围为256*2096*768*4个LPA,也就是6.14TB,与预期中理想的8TB相比,寻址空间浪费很多。
此外,由于特定容量的需求,CH/CE字段也会出现非幂次的情形,这也会进一步导致可寻址物理空间的降低。这在大容量的产品应用上,例如4TB–8TB,由于32bit的表项已经无法容纳所有字段,故需要扩展映射表项,例如用32+1,或者64个bit来描述单个映射表项。这会导致映射表大小的上升以及访问开销,对DRAM成本以及SSD性能带来较大影响。
发明内容
针对以上缺陷,本发明目的是如何解决由于FLASH物理容量地上升且其物理组成非2的幂次时,简单通过扩展映射表的方法提高空间映射范围带来的DRAM需求量成倍增长的问题。
为了解决以上问题本发明提出了一种大容量固态硬盘映射表压缩方法,固态硬盘通过映射表来记录逻辑地址和物理地址的映射关系,每个表项数据至少包括物理块地址信息block_num和物理页地址信息page_num,每个物理块包括MAX_PAGE_NUM的物理页,其特征在于将在生成物理块信息与物理页信息进行如下合并计算生成带有物理块地址信息和物理页地址信息的块页序号BP_num:并将合并块页序号BP_num填入对应的表项数据的字段中,BP_num=block_num*MAX_PAGE_NUM+page_num;当需要恢复物理块地址信息block_num和物理页地址信息page_num时,从映射表的对应表项数据的字段取出合并块页序号BP_num,合并块页序号BP_num对MAX_PAGE_NUM做除法商为block_num,余数为page_num。
所述的大容量固态硬盘映射表压缩方法,其特征在于还增加了一个硬件加速单元,用于根据输入的逻辑地址解析获取物理块地址信息block_num和物理页地址信息page_num,具体为:硬件加速单元根据命令携带的逻辑地址LPA从缓存中储存的映射表中获取逻辑地址对应的表项PPA信息,并输入到硬件加速单元的PPA缓存中,硬件加速单元的PPA解析运算单元根据PPA信息输出含ch(通道)+ce(片选)+block(块序号)+page(页序号)+offset(偏移)的物理地址信息;用于读操作访问。
所述的大容量固态硬盘映射表压缩方法,其特征在于硬件加速单元上还设有PPA合成运算单元,根据输入的逻辑地址合成运算生成带有合并块页序号的逻辑表项数据,并存入映射表中;用于写操作访问。
本发明的有益效果是:通过引入该方案,解决了因为NAND组成非幂次带来的DRAM需求增加的问题,降低了成本且提高了映射表访问效率。
附图说明
图1是常见的SSD内部映射管理示意图;
图2是典型的映射表l2p的表项的字段解析示意图;
图3是TLC闪存的映射表存在的非2的幂次问题示意图;
图4是针对Block/Page进行压缩的示例图;
图5是引入压缩后读操作访问流程图;
图6是引入压缩后写操作访问流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对非幂次字段独立划分带来的问题,对DRAM中的映射表进行了压缩。如图4是针对Block/Page进行压缩的示例图(当CH/CE非幂次时也可用类似的机制进行描述)。
对于合并后的字段存放值满足如下条件:block_num*MAX_PAGE_NUM+page_num.通过此类转换可以将block/page线性编码到连续地址空间。合并后的Block/Page共占用21个Bit,相比之前可节约1个bit。
当需要从映射表获取对应的block/page时,需要将合并字段值对MAX_PAGE_NUM做除法,商为block_num,余数则为page_num。
引入图4所示发明后,可以有效降低映射表字段浪费问题,但由于访问过程中涉及到乘除法运算,需要比较大的开销。进一步地当非对称的字段增加时,对应的乘除法运算量会增加。为在SSD内有效运用,本发明提出了对应的硬件加速单元。
图5是引入压缩后读操作访问流程图:
1)软件中的控制节点上携带操作类型、逻辑地址、物理地址(展开的形式;
2)DRAM映射表中存放压缩后的映射表项;
3)当读操作节点发起时,依次如下操作:
R0:软件将逻辑地址提交到硬件加速单元的”LPA缓存”;
R1:硬件加速单元根据所提交的LPA信息从DRAM获取压缩的PPA信息并存入”PPA缓存”;
R2:硬件加速单元将信息输入给”PPA解析运算”解压缩;
R3:解压缩后的信息分别存入CH/CE/Block/Page/Offset缓存;
R4:软件取回对应信息并写入控制节点对应栏位,并继续发起对后端NAND物理寻址、操作。
图6是引入压缩后写操作访问流程图:
1)软件中的控制节点上携带操作类型、逻辑地址、物理地址(展开的形式)。
2)DRAM映射表中存放压缩后的映射表项
3)当写操作节点发起时,依次如下操作:
W0:软件将逻辑地址提交到硬件加速单元的”LPA缓存”;
W1:软件将对应信息并写入CH/CE/Block/Page/Offset缓存;
W2:硬件加速单元将信息输入给”PPA合成运算”压缩;
W3:硬件加速单元将压缩后的信息存入”PPA缓存”;
W4:硬件加速单元根据”LPA缓存”以及”PPA缓存”,更新DRAM对应映射表项。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (3)
1.一种大容量固态硬盘映射表压缩方法,固态硬盘通过映射表来记录逻辑地址和物理地址的映射关系,每个表项数据至少包括物理块地址信息block_num和物理页地址信息page_num,每个物理块包括MAX_PAGE_NUM的物理页,其特征在于将在生成物理块信息与物理页信息进行如下合并计算生成带有物理块地址信息和物理页地址信息的块页序号BP_num:并将合并块页序号BP_num填入对应的表项数据的字段中,BP_num=block_num*MAX_PAGE_NUM+page_num;当需要恢复物理块地址信息block_num和物理页地址信息page_num时,从映射表的对应表项数据的字段取出合并块页序号BP_num,合并块页序号BP_num对MAX_PAGE_NUM做除法商为block_num,余数为page_num。
2.根据权利要求1所述的大容量固态硬盘映射表压缩方法,其特征在于还增加了一个硬件加速单元,用于根据输入的逻辑地址解析获取物理块地址信息block_num和物理页地址信息page_num,具体为:硬件加速单元根据命令携带的逻辑地址LPA从缓存中储存的映射表中获取逻辑地址对应的表项PPA信息,并输入到硬件加速单元的PPA缓存中,硬件加速单元的PPA解析运算单元根据PPA信息输出含ch/ce(通道选择位)+block(块序号)+page(页序号)+offset(偏移)的物理地址信息;用于读操作访问。
3.根据权利要求2所述的大容量固态硬盘映射表压缩方法,其特征在于硬件加速单元上还设有PPA合成运算单元,根据输入的逻辑地址合成运算生成带有合并块页序号的逻辑表项数据,并存入映射表中;用于写操作访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711228573.XA CN108153681A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射表压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711228573.XA CN108153681A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射表压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108153681A true CN108153681A (zh) | 2018-06-12 |
Family
ID=62469224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711228573.XA Pending CN108153681A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射表压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153681A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086168A (zh) * | 2018-07-13 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种利用硬件备份固态硬盘写速度的方法及其系统 |
CN109446116A (zh) * | 2018-11-15 | 2019-03-08 | 苏州韦科韬信息技术有限公司 | 一种大容量固态硬盘映射方法 |
CN110597741A (zh) * | 2019-08-23 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种l2p表的读写、更新方法及l2p表 |
CN110704337A (zh) * | 2019-09-23 | 2020-01-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
CN112069189A (zh) * | 2020-09-16 | 2020-12-11 | 深圳市硅格半导体有限公司 | 多层级映射表格的更新方法、系统、终端设备及存储介质 |
CN112433673A (zh) * | 2020-11-13 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种固态硬盘存储数据的方法和设备 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN114168225A (zh) * | 2021-12-08 | 2022-03-11 | 深圳忆联信息系统有限公司 | 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 |
CN116661704A (zh) * | 2023-07-07 | 2023-08-29 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023682A1 (en) * | 2007-10-11 | 2010-01-28 | Super Talent Electronics Inc. | Flash-Memory System with Enhanced Smart-Storage Switch and Packed Meta-Data Cache for Mitigating Write Amplification by Delaying and Merging Writes until a Host Read |
CN102662856A (zh) * | 2012-04-27 | 2012-09-12 | 中国科学院计算技术研究所 | 一种固态硬盘及其存取方法 |
CN103049216A (zh) * | 2012-12-07 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘及其数据处理方法、系统 |
CN103377136A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社日立制作所 | 存储器的管理方法、存储装置及搭载了该存储装置的计算机 |
CN103455432A (zh) * | 2008-11-06 | 2013-12-18 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN105912687A (zh) * | 2016-04-19 | 2016-08-31 | 江苏物联网研究发展中心 | 海量分布式数据库存储单元 |
CN106547703A (zh) * | 2016-10-08 | 2017-03-29 | 华中科技大学 | 一种基于块组结构的ftl优化方法 |
-
2017
- 2017-11-29 CN CN201711228573.XA patent/CN108153681A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023682A1 (en) * | 2007-10-11 | 2010-01-28 | Super Talent Electronics Inc. | Flash-Memory System with Enhanced Smart-Storage Switch and Packed Meta-Data Cache for Mitigating Write Amplification by Delaying and Merging Writes until a Host Read |
CN103455432A (zh) * | 2008-11-06 | 2013-12-18 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN103377136A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社日立制作所 | 存储器的管理方法、存储装置及搭载了该存储装置的计算机 |
CN102662856A (zh) * | 2012-04-27 | 2012-09-12 | 中国科学院计算技术研究所 | 一种固态硬盘及其存取方法 |
CN103049216A (zh) * | 2012-12-07 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘及其数据处理方法、系统 |
CN105912687A (zh) * | 2016-04-19 | 2016-08-31 | 江苏物联网研究发展中心 | 海量分布式数据库存储单元 |
CN106547703A (zh) * | 2016-10-08 | 2017-03-29 | 华中科技大学 | 一种基于块组结构的ftl优化方法 |
Non-Patent Citations (1)
Title |
---|
高源: "Flash存储器混合型地址映射算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086168A (zh) * | 2018-07-13 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种利用硬件备份固态硬盘写速度的方法及其系统 |
CN109446116A (zh) * | 2018-11-15 | 2019-03-08 | 苏州韦科韬信息技术有限公司 | 一种大容量固态硬盘映射方法 |
CN110597741A (zh) * | 2019-08-23 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种l2p表的读写、更新方法及l2p表 |
CN110704337A (zh) * | 2019-09-23 | 2020-01-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
CN110704337B (zh) * | 2019-09-23 | 2021-01-19 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
US11816038B2 (en) | 2019-09-23 | 2023-11-14 | Shenzhen Unionmemory Information System Limited | Method and apparatus of mapping table reconstruction based on SSD, and computer device |
CN112069189A (zh) * | 2020-09-16 | 2020-12-11 | 深圳市硅格半导体有限公司 | 多层级映射表格的更新方法、系统、终端设备及存储介质 |
CN112069189B (zh) * | 2020-09-16 | 2024-05-17 | 深圳市硅格半导体有限公司 | 多层级映射表格的更新方法、系统、终端设备及存储介质 |
CN112433673A (zh) * | 2020-11-13 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种固态硬盘存储数据的方法和设备 |
CN112433673B (zh) * | 2020-11-13 | 2022-08-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘存储数据的方法和设备 |
CN112486861B (zh) * | 2020-11-30 | 2024-05-14 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN114168225A (zh) * | 2021-12-08 | 2022-03-11 | 深圳忆联信息系统有限公司 | 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 |
CN114168225B (zh) * | 2021-12-08 | 2024-05-14 | 深圳忆联信息系统有限公司 | 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 |
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
CN116661704B (zh) * | 2023-07-07 | 2024-03-08 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
CN116661704A (zh) * | 2023-07-07 | 2023-08-29 | 深圳宏芯宇电子股份有限公司 | 存储装置数据读写方法、存储器存储装置及存储器控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153681A (zh) | 一种大容量固态硬盘映射表压缩方法 | |
US10445246B2 (en) | Memory system and method for controlling nonvolatile memory | |
US7861028B2 (en) | System and method for configuration and management of flash memory | |
US7761648B2 (en) | Caching method for NAND flash translation layer | |
CN102054533B (zh) | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 | |
TWI510923B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
CN102662856B (zh) | 一种固态硬盘及其存取方法 | |
CN103106143B (zh) | 固态储存装置及其逻辑至实体对应表建立方法 | |
CN108255742A (zh) | 一种大容量固态硬盘映射方法 | |
US10198203B2 (en) | Method of operating memory device using pseudo-random functions, memory device using the same and memory system including the device | |
CN112379830B (zh) | 有效数据位图的创建方法、装置、存储介质及电子设备 | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
CN107506311B (zh) | 一种固态硬盘的ftl表的刷写方法及装置 | |
CN106844229B (zh) | 固态硬盘固件映射表的组织方法、系统及装置 | |
CN110309081B (zh) | 基于压缩存储和地址映射表项的ftl读写数据页的方法 | |
TWI707234B (zh) | 資料儲存裝置與資料處理方法 | |
CN111104345A (zh) | 一种ssd上电恢复方法、系统及主机 | |
CN112486861B (zh) | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 | |
CN114036079A (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
CN110554833A (zh) | 存储设备中并行处理io命令 | |
CN114510435A (zh) | 编程命令处理方法与装置 | |
CN110096452B (zh) | 非易失随机访问存储器及其提供方法 | |
TWI742698B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN104699414A (zh) | 一种数据读写方法及存储设备 | |
CN112885397B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180612 |