CN108647157B - 一种基于相变存储器的映射管理方法及固态硬盘 - Google Patents

一种基于相变存储器的映射管理方法及固态硬盘 Download PDF

Info

Publication number
CN108647157B
CN108647157B CN201810209188.9A CN201810209188A CN108647157B CN 108647157 B CN108647157 B CN 108647157B CN 201810209188 A CN201810209188 A CN 201810209188A CN 108647157 B CN108647157 B CN 108647157B
Authority
CN
China
Prior art keywords
subunits
level
phase change
secondary table
change memory
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
Application number
CN201810209188.9A
Other languages
English (en)
Other versions
CN108647157A (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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810209188.9A priority Critical patent/CN108647157B/zh
Publication of CN108647157A publication Critical patent/CN108647157A/zh
Application granted granted Critical
Publication of CN108647157B publication Critical patent/CN108647157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于相变存储器的映射管理方法及固态硬盘,其特征在于采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换。通过引入相变存储器用于存储映射表,相变存储器的读写时间远低于NAND,本专利通过在NODRAM固态硬盘中引入相变存储器替代NAND用于完整映射表的保存,降低片上SRAM中映射表cache置换映射表信息的时间,从而达到降低读写命令完成时间,提高读写性能的效果。

Description

一种基于相变存储器的映射管理方法及固态硬盘
技术领域
本发明涉及存储技术领域,尤其涉及一种基于相变存储器的映射管理方法及固态硬盘。
背景技术
现有的没有DRAM的固态硬盘系统中,因为片上SRAM的空间限制,不足以存储整个映射表(映射表是指记录数据页逻辑地址到NAND物理地址映射关系的表),而将完整的映射表保存在NAND中,在片上SRAM中维护一个缓存cache,cache中缓存部分映射表,即最近访问的数据页逻辑地址到物理地址映射关系。在主机HOST随机读写的场景下,系统需要频繁地与NAND交换映射表信息,HOST读写的完成时间较大,性能较低。
发明内容
针对以上缺陷,本发明目的在于如何提高映射表访问的速度,实现提高读写命令响应速度。
为了实现上述目的,本发明提供了一种基于相变存储器的映射管理方法,其特征在于采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换。
所述的基于相变存储器的映射管理方法,其特征在于硬盘控制器的缓存至少包括2个区域,区域一缓存完整的一级表,区域二用于缓存部分二级表子单元,根据优先置换最近最久未使用的二级表子单元的策略进行动态更新缓存中缓存的二级表子单元。
所述的基于相变存储器的映射管理方法,其特征在于二级表子单元按照其在二级表中的位置依次编号获得二级表子单元编号i的集合,将二级表子单元编号i的集合作为一级表的索引,第i个一级表项值为二级表子单元i在PCM中存储的物理地址。
所述的基于相变存储器的映射管理方法,其特征在于数据页逻辑地址对颗粒度G取模运算得到的商为一级表索引值i,得到的余数为数据页逻辑地址在二级表子单元i中的偏移量offset。
一种基于相变存储器的映射管理的固态硬盘,包括HOST接口、CPU、片上SRAM、片内总线、NAAND控制器和NAND Flash,其特征在于还包括多个PCM阵列和PCM控制器,PCM阵列通过PCM控制器挂载在片内总线上;采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换。
所述的基于相变存储器的映射管理的固态硬盘,其特征在于硬盘控制器的缓存至少包括2个区域,区域一缓存完整的一级表,区域二用于缓存部分二级表子单元,根据优先置换最近最久未使用的二级表子单元的策略进行动态更新缓存中缓存的二级表子单元。
所述的基于相变存储器的映射管理的固态硬盘,其特征在于二级表子单元按照其在二级表中的位置依次编号获得二级表子单元编号i的集合,将二级表子单元编号i的集合作为一级表的索引,第i个一级表项值为二级表子单元i在PCM中存储的物理地址。
所述的基于相变存储器的映射管理的固态硬盘,其特征在于数据页逻辑地址对颗粒度G取模运算得到的商为一级表索引值i,得到的余数为数据页逻辑地址在二级表子单元i中的偏移量offset。
本发明通过引入相变存储器用于存储映射表,相变存储器的读写时间远低于NAND,本专利通过在NODRAM固态硬盘中引入相变存储器替代NAND用于完整映射表的保存,降低片上SRAM中映射表cache置换映射表信息的时间,从而达到降低读写命令完成时间,提高读写性能的效果。
附图说明
图1是基于相变存储器的映射管理的固态硬盘系统示意图;
图2是两级映射表示意图;
图3是片上缓存区域划分示意图;
图4是数据页写入示意图;
图5是数据页读示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相变存储器,简称PCM,相变存储器就是利用特殊材料在晶态和非晶态之间相互转化时所表现出来的导电性差异来存储数据的。相变存储器通常是利用硫族化合物在晶态和非晶态巨大的导电性差异来存储数据的一种信息存储装置。
图1是基于相变存储器的映射管理的固态硬盘系统示意图,包括HOST接口、CPU、片上SRAM、片内总线、NAAND控制器和NAND Flash,在传统的无片DRAM固态硬盘系统基础上引入了新型存储介质PCM阵列、以及操作PCM的控制器——PCM控制器,用于处理固态硬盘系统对PCM发起的读、写、擦命令。其中HOST接口协议包括但不仅限于SATA、PCIE、NVME。
图2是两级映射表示意图,采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换。
二级表记录所有用户数据页逻辑地址到NAND物理地址之间的映射关系。二级表由数据页逻辑地址索引,每个表项值为该数据页在NAND存储的物理地址。二级表按颗粒度G分割成多个二级表子单元,每个二级表子单元是二级表与片上SRAM中二级表cache置换的基本单元,也是二级表保存到PCM的基本单元。
将二级表子单元按照其在二级表中的位置依次编号得到二级表子单元编号i的集合{0,1,2,3…N}。以二级表子单元编号i作为一级表的索引,第i个一级表项值为二级表子单元i在PCM中存储的物理地址。
数据页逻辑地址对颗粒度G取模运算得到的商为一级表索引值i,得到的余数为数据页逻辑地址在二级表子单元i中的偏移量offset。
图3是片上缓存区域划分示意图,片上SRAM分为若干个区域,其中两个区域分别用于存储完整的一级表和二级表cache,如图三所示。二级表cache使用LRU(最近最久未使用)策略进行二级表子单元的置换。
图4是数据页写入示意图,对于HOST数据页写操作执行以下步骤。
1)数据页逻辑地址对颗粒度G进行取模运算得到一级表索引值i,二级表子单元i内偏移量offset;
2)使用i对二级表cache执行命中检查,若命中,转至步骤6),否则执行步骤3);
3)从二级表cache中选中最近最久未使用的二级表子单元,若选中的二级表子单元为“脏”,执行步骤4),否则转至步骤5);
4)将该二级表子单元写入PCM中,并更新一级表中对应的表项值为新的PCM物理地址;
5)使用一级表索引值i从一级表中获取二级表子单元i在PCM中存储的物理地址,并从PCM中读出二级表子单元i,替换二级表cache中选中的最近最久未使用的二级表子单元;
6)将数据页逻辑地址中用户数据写入新的NAND物理地址;
7)更新二级表cache中命中或者置换的二级表子单元i offset位置对应的表项值为新的NAND物理地址并置cache中二级表子单元为“脏“。
图5是数据页读示意图,对于HOST数据页读操作执行以下步骤:
A:数据页逻辑地址对颗粒度G进行取模运算得到一级表索引值i,二级表子单元i内偏移量offset;
B:使用i对二级表cache执行命中检查,若命中,转至步骤F),否则执行步骤C);
C:从二级表cache中选中最近最久未使用的二级表子单元,若选中的二级表子单元为“脏”,执行步骤D),否则转至步骤E);
D:将该“脏”的二级表子单元写入PCM中,并更新一级表中对应表项值为新的PCM物理地址;
E:使用一级表索引值i从一级表中获取二级表子单元i在PCM中存储的物理地址,并从PCM中读出二级表子单元i,替换二级表cache中选中的最近最久未使用的二级表子单元;
F:从二级表cache中命中或者置换的二级表子单元i offset位置处获取NAND物理地址;
H:从该NAND物理地址处读出数据页用户数据。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (4)

1.一种基于相变存储器的映射管理方法,其特征在于采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换;硬盘控制器的缓存至少包括2个区域,区域一缓存完整的一级表,区域二用于缓存部分二级表子单元,根据优先置换最近最久未使用的二级表子单元的策略进行动态更新缓存中缓存的二级表子单元;二级表子单元按照其在二级表中的位置依次编号获得二级表子单元编号i的集合,将二级表子单元编号i的集合作为一级表的索引,第i个一级表项值为二级表子单元i在PCM中存储的物理地址。
2.根据权利要求1所述的基于相变存储器的映射管理方法,其特征在于数据页逻辑地址对颗粒度G取模运算得到的商为一级表索引值i,得到的余数为数据页逻辑地址在二级表子单元i中的偏移量offset。
3.一种基于相变存储器的映射管理的固态硬盘,包括HOST接口、CPU、片上SRAM、片内总线、NAAND控制器和NAND Flash,其特征在于还包括多个PCM阵列和PCM控制器,PCM阵列通过PCM控制器挂载在片内总线上;采用两级映射表管理,具体包括一级表和二级表,所述二级表存储在相变存储器PCM中,所述二级表记录所有用户数据页逻辑地址到物理地址的关系,所述二级表按颗粒度G分割为多个二级表子单元,硬盘控制器的缓存以二级表子单元为基本单元进行数据置换;硬盘控制器的缓存至少包括2个区域,区域一缓存完整的一级表,区域二用于缓存部分二级表子单元,根据优先置换最近最久未使用的二级表子单元的策略进行动态更新缓存中缓存的二级表子单元;二级表子单元按照其在二级表中的位置依次编号获得二级表子单元编号i的集合,将二级表子单元编号i的集合作为一级表的索引,第i个一级表项值为二级表子单元i在PCM中存储的物理地址。
4.根据权利要求3所述的基于相变存储器的映射管理的固态硬盘,其特征在于数据页逻辑地址对颗粒度G取模运算得到的商为一级表索引值i,得到的余数为数据页逻辑地址在二级表子单元i中的偏移量offset。
CN201810209188.9A 2018-03-14 2018-03-14 一种基于相变存储器的映射管理方法及固态硬盘 Active CN108647157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810209188.9A CN108647157B (zh) 2018-03-14 2018-03-14 一种基于相变存储器的映射管理方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810209188.9A CN108647157B (zh) 2018-03-14 2018-03-14 一种基于相变存储器的映射管理方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN108647157A CN108647157A (zh) 2018-10-12
CN108647157B true CN108647157B (zh) 2021-10-01

Family

ID=63744183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810209188.9A Active CN108647157B (zh) 2018-03-14 2018-03-14 一种基于相变存储器的映射管理方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN108647157B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918316B (zh) * 2019-02-26 2021-07-13 深圳忆联信息系统有限公司 一种减少ftl地址映射空间的方法及其系统
CN110109845B (zh) * 2019-04-26 2021-03-05 深圳忆联信息系统有限公司 缓存数据管理方法、装置、计算机设备及存储介质
CN112069088B (zh) * 2020-08-18 2023-03-28 浙江华忆芯科技有限公司 一种地址映射管理方法及相关装置、设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176916A (zh) * 2013-03-07 2013-06-26 中国科学院苏州纳米技术与纳米仿生研究所 闪存及闪存的地址转换方法
CN104461387A (zh) * 2014-12-02 2015-03-25 记忆科技(深圳)有限公司 一种提高固态硬盘对未映射区域的读性能的方法
CN104461393A (zh) * 2014-12-09 2015-03-25 华中科技大学 一种闪存存储器的混合映射方法
CN105278875A (zh) * 2015-09-16 2016-01-27 上海新储集成电路有限公司 一种混合异构nand固态硬盘
CN105761756A (zh) * 2016-02-01 2016-07-13 天固科技(杭州)有限公司 一种利用高性能非挥发固态存储器提高海量固态硬盘性能及可靠性的方案
CN106502928A (zh) * 2016-09-29 2017-03-15 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN106527987A (zh) * 2016-11-04 2017-03-22 湖南国科微电子股份有限公司 一种不带dram的ssd主控可靠性提升系统及方法
CN107346290A (zh) * 2016-05-05 2017-11-14 西部数据科技股份有限公司 使用并行化日志列表重放分区逻辑到物理数据地址转换表

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793467B2 (en) * 2011-09-30 2014-07-29 Pure Storage, Inc. Variable length encoding in a storage system
CN103049397B (zh) * 2012-12-20 2015-09-16 中国科学院上海微系统与信息技术研究所 一种基于相变存储器的固态硬盘内部缓存管理方法及系统
CN103927130B (zh) * 2014-03-14 2016-10-05 山东大学 基于内存管理单元mmu的统一内外存架构
CN105205009B (zh) * 2015-09-30 2018-05-11 华为技术有限公司 一种基于大容量固态存储的地址映射方法及装置
CN106293521B (zh) * 2016-08-02 2019-04-12 华中科技大学 一种映射粒度自适应的闪存转换层管理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176916A (zh) * 2013-03-07 2013-06-26 中国科学院苏州纳米技术与纳米仿生研究所 闪存及闪存的地址转换方法
CN104461387A (zh) * 2014-12-02 2015-03-25 记忆科技(深圳)有限公司 一种提高固态硬盘对未映射区域的读性能的方法
CN104461393A (zh) * 2014-12-09 2015-03-25 华中科技大学 一种闪存存储器的混合映射方法
CN105278875A (zh) * 2015-09-16 2016-01-27 上海新储集成电路有限公司 一种混合异构nand固态硬盘
CN105761756A (zh) * 2016-02-01 2016-07-13 天固科技(杭州)有限公司 一种利用高性能非挥发固态存储器提高海量固态硬盘性能及可靠性的方案
CN107346290A (zh) * 2016-05-05 2017-11-14 西部数据科技股份有限公司 使用并行化日志列表重放分区逻辑到物理数据地址转换表
CN106502928A (zh) * 2016-09-29 2017-03-15 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN106527987A (zh) * 2016-11-04 2017-03-22 湖南国科微电子股份有限公司 一种不带dram的ssd主控可靠性提升系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于相变存储器的混合内存系统研究;冒伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170515;I137-27 *

Also Published As

Publication number Publication date
CN108647157A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
US10761780B2 (en) Memory system
US9378131B2 (en) Non-volatile storage addressing using multiple tables
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
EP2939120B1 (en) Priority-based garbage collection for data storage systems
EP3121703B1 (en) Data caching method, cache and computer system
US8904092B2 (en) Identifying a location containing invalid data in a storage media
US10740251B2 (en) Hybrid drive translation layer
CN102707899B (zh) 虚拟存储器系统、虚拟存储器控制方法和程序
US20140122774A1 (en) Method for Managing Data of Solid State Storage with Data Attributes
US20110231598A1 (en) Memory system and controller
US9003099B2 (en) Disc device provided with primary and secondary caches
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
CN108647157B (zh) 一种基于相变存储器的映射管理方法及固态硬盘
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
SG193114A1 (en) Data storage device and method of managing a cache in a data storage device
CN111580754B (zh) 一种写友好的闪存固态盘缓存管理方法
US20140258591A1 (en) Data storage and retrieval in a hybrid drive
US11061598B2 (en) Optimized handling of multiple copies in storage management
JP2015135603A (ja) ストレージ装置及びデータを書き込む記憶領域を選択する方法
CN110968527B (zh) Ftl提供的缓存
US11663136B2 (en) Storage capacity recovery source selection
CN109960667B (zh) 大容量固态存储设备的地址转换方法与装置
CN109840219B (zh) 大容量固态存储设备的地址转换系统与方法
JP2014153969A (ja) 情報処理システム
CN110968520A (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