CN108255742A - 一种大容量固态硬盘映射方法 - Google Patents
一种大容量固态硬盘映射方法 Download PDFInfo
- Publication number
- CN108255742A CN108255742A CN201711225525.5A CN201711225525A CN108255742A CN 108255742 A CN108255742 A CN 108255742A CN 201711225525 A CN201711225525 A CN 201711225525A CN 108255742 A CN108255742 A CN 108255742A
- Authority
- CN
- China
- Prior art keywords
- space
- sub
- logical address
- solid state
- state disk
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
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
本发明公开了一种大容量固态硬盘映射方法,其特征在于将主机访问的逻辑地址空间划分为N个大小相同的子逻辑地址空间,对应将固态硬盘的物理空间也划分为N个大小相同的子物理空间与子逻辑地址空间对应,N为2n,为每个子物理空间与子逻辑地址空间单独维护一个子逻辑映射表,主机访问时根据主机逻辑地址所属的子逻辑地址空间,查找或更新对应的子逻辑映射表。通过增加分区机制,对各个分区分别建立映射表,解决映射表项32bit不足带来的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的级别。
由于物理容量的扩展,传统模型的32bit已经不能完成对物理地址空间的寻址,从而需要扩展映射表位宽。一方面导致多次32bit的DRAM访问,效率低;一方面增加DRAM大小需求,相应地也增加了成本。
图1是常见的SSD内部映射管理示意图,主机通过线性逻辑地址(LBA)对SSD发起读写操作,每连续的8个LBA组成一个LPA,SSD端维持4KB级别的映射表l2p,(其索引为LPA,值为对应存放数据的物理地址PPA,通过查询、更新LBA对应LPA在l2p表中的值,拿到物理地址,对NAND发起读写操作。
图2是典型NAND组成示意图,DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。
发明内容
针对以上缺陷,本发明目的是如何解决由于FLASH物理容量地上升,简单通过扩展映射表的方法提高空间映射范围带来的DRAM需求量成倍增长的问题。
为了解决以上问题本发明提出了一种大容量固态硬盘映射方法,其特征在于将主机访问的逻辑地址空间划分为N个大小相同的子逻辑地址空间,对应将固态硬盘的物理空间也划分为N个大小相同的子物理空间与子逻辑地址空间对应,N为2n,为每个子物理空间与子逻辑地址空间单独维护一个子逻辑映射表,主机访问时根据主机逻辑地址所属的子逻辑地址空间,查找或更新对应的子逻辑映射表。
所述的大容量固态硬盘映射方法,其特征在于根据子物理空间的块偏移地址将固态硬盘的物理空间划分为N个大小相同的子物理空间,对应减少子逻辑映射表中块地址偏移所需要的bit位数。
所述的大容量固态硬盘映射方法,其特征在于主机访问的逻辑地址空间优选将子逻辑地址空间的大小设定为8TB。
本发明的有益效果是:通过增加分区机制,对各个分区分别建立映射表,解决映射表项32bit不足带来的DRAM需求增加的问题,降低了成本且提高了映射表访问效率。
附图说明
图1是常见的SSD内部映射管理示意图;
图2是典型NAND组成示意图;
图3是典型的映射表l2p的表项的字段解析示意图;
图4是映射表项扩展到64bit的示例;
图5是对映射表进行分拆的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图3是典型的映射表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空间。
当FLASH物理容量大于8TB时,单个映射表项用32bit已经不能描述,此时扩展位宽,因此作了如图4的扩展,图4是映射表项扩展到64bit的示例,有效位段增加了31bit,此时,由于单个映射表项所需的位宽增加,所以整体DRAM的比例也会翻倍,导致成本上升。进一步地,原来映射表的访问只需要操作一个32bit数据,现在则需要操作二个32bit数据,性能也会有所下降。当映射表的单个表项为32bit时,DRAM的映射表项的空间需求与FLASH物理容量的比例为1:1024;当映射表的单个表项为64bit时,DRAM的映射表项的空间需求与FLASH物理容量的比例为2:1024,因此随着FLASH物理容量的增加对DRAM的需求也成倍的增加,且对映射表的各项操作,如查找等的性能都会下降。
为了解决由于FLASH物理容量地上升,简单通过扩展映射表的方法提高空间映射范围带来的DRAM需求量成倍增长的问题,维持DRAM的映射表项的空间需求与FLASH物理容量的比例为1:1024。
本发明提出通过对逻辑、物理分区,公共字段压缩的策略,可有效用于未来各种超大容量的寻址问题。
图5是对映射表进行分拆的示意图:将映射表拆分为N个子映射表,为便于说明,本处采用N=4作为示例,N个子映射表分别记为ZONE1/2/3/4MappingTable。根据前面LBA与LPA的约定关系可知,对应的主机访问的逻辑地址空间(LBA空间)也被分为对应的4个子逻辑地址空间。
将物理空间对应地分为4份子物理空间,分别记为ZONE1/2/3/4Physical,
维护如下的索引信息:
当主机写逻辑地址LBA,转换成LPA后,根据各个ZONE的LPA范围,可以落到对应的ZONE;对于指定的ZONE,其物理地址被分配到对应的ZONE Physical物理块中;对于映射表项中的BLK字段,其原来需要索引[0,2047]的范围,所以需要分配11个bit;对应本发明中的4个ZONE,物理地址范围分别为:
ZONE 1:[0,511];
ZONE 2:[512,1023];
ZONE 3:[1024,1535];
ZONE 4:[1536,2047];
对于每个ZONE,其BLK的偏移地址是固定的,如上表所示,所以分区的物理地址可描述为:
ZONE 1:[0,511]+ZONE 1偏移;
ZONE 2:[0,511]+ZONE 2偏移;
ZONE 3:[0,511]+ZONE 3偏移;
ZONE 4:[0,511]+ZONE 4偏移;
所以在各个ZONE MappingTable中,只需要索引[0,511]的相对物理地址范围,也就是只要分配9个bit即可。当需要转换成物理地址操作时,则加上对应ZONE的Block偏移即可。
综合如上的发明,当引入4个分区时,即可可有效降低2个bit的开销,对于不大于32TB的单一物理盘,仍然可以维持DRAM与逻辑容量1:1024的比例关系。
对应不同容量的需求,只需要调整对应的分区数量,可很好地适用于各种超大容量的固态硬盘映射表项描述。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (3)
1.一种大容量固态硬盘映射方法,其特征在于将主机访问的逻辑地址空间划分为N个大小相同的子逻辑地址空间,对应将固态硬盘的物理空间也划分为N个大小相同的子物理空间与子逻辑地址空间对应,N为2n,为每个子物理空间与子逻辑地址空间单独维护一个子逻辑映射表,主机访问时根据主机逻辑地址所属的子逻辑地址空间,查找或更新对应的子逻辑映射表。
2.根据权利要求1所述的大容量固态硬盘映射方法,其特征在于根据子物理空间的块偏移地址将固态硬盘的物理空间划分为N个大小相同的子物理空间,对应减少子逻辑映射表中块地址偏移所需要的bit位数。
3.根据权利要求1或2所述的大容量固态硬盘映射方法,其特征在于主机访问的逻辑地址空间优选将子逻辑地址空间的大小设定为8TB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711225525.5A CN108255742A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711225525.5A CN108255742A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108255742A true CN108255742A (zh) | 2018-07-06 |
Family
ID=62721409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711225525.5A Pending CN108255742A (zh) | 2017-11-29 | 2017-11-29 | 一种大容量固态硬盘映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255742A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446116A (zh) * | 2018-11-15 | 2019-03-08 | 苏州韦科韬信息技术有限公司 | 一种大容量固态硬盘映射方法 |
CN110287131A (zh) * | 2019-07-01 | 2019-09-27 | 潍柴动力股份有限公司 | 一种内存管理方法及装置 |
CN110765140A (zh) * | 2019-10-31 | 2020-02-07 | 江苏华存电子科技有限公司 | 一种映射表分散储存方法 |
CN110781107A (zh) * | 2019-09-16 | 2020-02-11 | 北京领芯迅飞科技有限公司 | 基于dram接口的低延迟融合io控制方法和装置 |
CN111522679A (zh) * | 2020-04-17 | 2020-08-11 | 深圳忆联信息***有限公司 | 基于主机内存的ssd日志记录方法、***和计算机设备 |
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043721A (zh) * | 2010-05-12 | 2011-05-04 | 中颖电子股份有限公司 | 闪存存储管理方法 |
CN103577336A (zh) * | 2013-10-23 | 2014-02-12 | 华为技术有限公司 | 一种存储数据处理方法及装置 |
US20140095773A1 (en) * | 2012-09-26 | 2014-04-03 | International Business Machines Corporation | Solid state memory device logical and physical partitioning |
CN106959927A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
CN107315533A (zh) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
-
2017
- 2017-11-29 CN CN201711225525.5A patent/CN108255742A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043721A (zh) * | 2010-05-12 | 2011-05-04 | 中颖电子股份有限公司 | 闪存存储管理方法 |
US20140095773A1 (en) * | 2012-09-26 | 2014-04-03 | International Business Machines Corporation | Solid state memory device logical and physical partitioning |
CN103577336A (zh) * | 2013-10-23 | 2014-02-12 | 华为技术有限公司 | 一种存储数据处理方法及装置 |
CN106959927A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
CN107315533A (zh) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446116A (zh) * | 2018-11-15 | 2019-03-08 | 苏州韦科韬信息技术有限公司 | 一种大容量固态硬盘映射方法 |
CN110287131A (zh) * | 2019-07-01 | 2019-09-27 | 潍柴动力股份有限公司 | 一种内存管理方法及装置 |
CN110287131B (zh) * | 2019-07-01 | 2021-08-20 | 潍柴动力股份有限公司 | 一种内存管理方法及装置 |
CN110781107A (zh) * | 2019-09-16 | 2020-02-11 | 北京领芯迅飞科技有限公司 | 基于dram接口的低延迟融合io控制方法和装置 |
CN110765140A (zh) * | 2019-10-31 | 2020-02-07 | 江苏华存电子科技有限公司 | 一种映射表分散储存方法 |
WO2021082111A1 (zh) * | 2019-10-31 | 2021-05-06 | 江苏华存电子科技有限公司 | 一种映射表分散储存方法 |
CN111522679A (zh) * | 2020-04-17 | 2020-08-11 | 深圳忆联信息***有限公司 | 基于主机内存的ssd日志记录方法、***和计算机设备 |
WO2024119677A1 (zh) * | 2022-12-08 | 2024-06-13 | 深圳大普微电子科技有限公司 | 物理地址映射方法及组件,数据处理方法及组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255742A (zh) | 一种大容量固态硬盘映射方法 | |
US10282286B2 (en) | Address mapping using a data unit type that is variable | |
US9329995B2 (en) | Memory device and operating method thereof | |
US7761648B2 (en) | Caching method for NAND flash translation layer | |
EP2384473B1 (en) | Database operation-aware striping technique | |
US10275361B2 (en) | Managing multiple namespaces in a non-volatile memory (NVM) | |
US8010770B2 (en) | Caching device for NAND flash translation layer | |
CN105830059A (zh) | 文件访问方法、装置及存储设备 | |
CN108153681A (zh) | 一种大容量固态硬盘映射表压缩方法 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件*** | |
CN102023810B (zh) | 一种写数据的方法、装置以及廉价冗余磁盘阵列 | |
CN105830022A (zh) | 访问文件的方法和装置 | |
US20150324281A1 (en) | System and method of implementing an object storage device on a computer main memory system | |
CN105095113A (zh) | 一种缓存管理方法和*** | |
CN103309619A (zh) | 一种闪存数据存储方法 | |
CN110554833B (zh) | 存储设备中并行处理io命令 | |
CN112486861B (zh) | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 | |
TWI407310B (zh) | 資料儲存裝置及資料存取方法 | |
CN108762681A (zh) | 一种固态硬盘及其读写方法和装置 | |
CN110096452B (zh) | 非易失随机访问存储器及其提供方法 | |
CN102591816A (zh) | 一种多通道Nandflash存储*** | |
CN109446116A (zh) | 一种大容量固态硬盘映射方法 | |
US20210034292A1 (en) | Encoded virtual block deferred reference counting | |
CN101859232A (zh) | 一种可变长度数据存储接口 | |
CN108710579A (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 |
Application publication date: 20180706 |
|
RJ01 | Rejection of invention patent application after publication |