CN107632942A - 一种固态硬盘实现lba级别trim命令的方法 - Google Patents

一种固态硬盘实现lba级别trim命令的方法 Download PDF

Info

Publication number
CN107632942A
CN107632942A CN201710755948.1A CN201710755948A CN107632942A CN 107632942 A CN107632942 A CN 107632942A CN 201710755948 A CN201710755948 A CN 201710755948A CN 107632942 A CN107632942 A CN 107632942A
Authority
CN
China
Prior art keywords
data
page
data block
data page
garbage reclamation
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
Application number
CN201710755948.1A
Other languages
English (en)
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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen 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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201710755948.1A priority Critical patent/CN107632942A/zh
Publication of CN107632942A publication Critical patent/CN107632942A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种固态硬盘实现LBA级别TRIM命令的方法,其特征在于每个数据页按512KB或1024KB大小划分为N个数据块,在每个数据页的元数据区域中设置Nbit数据位作为数据块状态标识表,数据块状态标识表的每个bit分别唯一对应一个数据块,并标识对应的数据块上的数据是否有效;垃圾回收程序读取整个数据页,通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收。充分利用NAND flash数据页提供的元数据空间,无需新增额外的内存容量,实现简单、有效。

Description

一种固态硬盘实现LBA级别TRIM命令的方法
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘实现LBA级别TRIM命令的方法。
背景技术
TRIM指令是微软联合各大SSD厂商所开发的一项技术,属于ATA8-ACS规范的技术指令。TRIM是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令。
当前大部分固态硬盘都是以逻辑块地址LPA(4KB)或者更大颗粒度进行数据映射,对于此类固态硬盘,实现LBA(512Byte)级别的TRIM命令较为困难。一种实现方式是将LPA级别或者更大的颗粒度映射改为LBA级别,这种方式会大幅增加固态硬盘内映射表大小,使得需要更多的内存支持且影响性能。或者对于部分固态硬盘而言,直接指出不支持LBA级别的TRIM命令。图1是4KB映射机制内trim命令的实现图;对于SSD而言,TRIM指令指定的逻辑空间可以通过将映射表相关映射设置为无效映射来快速实现。但这只适用于采用LPA(4KB)或更大级别的颗粒度映射。主机下发TRIM LPA M(4KB)的指令,SSD映射表原映射记录LPA M的数据写在物理页的page addr X内,此时,只需要修改映射表,将LPA M映射信息置为无效页,从而实现TRIM命令。但,如果主机下发的是TRIM LPA M内的某个LBA(512byte),则该方式无法使用。
发明内容
针对以上缺陷,本发明目的是如何在不增大映射表大小的前提下实现支持LBA级别TRIM命令。
为了解决以上问题本发明提出了一种固态硬盘实现LBA级别TRIM命令的方法,其特征在于每个数据页按512KB或1024KB大小划分为N个数据块,在每个数据页的元数据区域中设置Nbit数据位作为数据块状态标识表,数据块状态标识表的每个bit分别唯一对应一个数据块,并标识对应的数据块上的数据是否有效;垃圾回收程序读取整个数据页,通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收。
所述的固态硬盘实现LBA级别TRIM命令的方法,其特征在于固态硬盘控制器至少包括数据块垃圾回收程序和数据页垃圾回收程序;固态硬盘控制器根据主机输入的指令选择数据块垃圾回收程序和数据页垃圾回收程序,当主机下发的指令要求进行数据块级别的垃圾回收管理,则通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收;如果主机下发的指令要求进行数据页级别的垃圾回收管理,则直接按数据页垃圾回收程序进行垃圾回收。
本发明充分利用NAND flash数据页提供的元数据空间,无需新增额外的内存容量,实现简单、有效。
附图说明
图1是4KB映射机制内trim命令的实现图;
图2所示NAND flash的数据页的组成图;
图3是数据块状态标识表的示例;
图4数据块级的垃圾回收处理示例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是4KB映射机制内trim命令的实现图;对于SSD而言,TRIM指令指定的逻辑空间可以通过将映射表相关映射设置为无效映射来快速实现。但这只适用于采用LPA(4KB)或更大级别的颗粒度映射。主机下发TRIM LPA M(4KB)的指令,SSD映射表原映射记录LPA M的数据写在物理页的page addr X内,此时,只需要修改映射表,将LPA M映射信息置为无效页,从而实现TRIM命令。但,如果主机下发的是TRIM LPA M内的某个LBA(512byte),则该方式无法使用。
针对LBA级别的TRIM命令,本发明提供了一种快速实现方式。图2所示NAND flash的数据页的组成图;NAND flash数据页内分为普通数据域Data area和元数据域Metaarea,普通数据域记录正常的用户数据,元数据域可以写入必要的管理信息。
图3是数据块状态标识表的示例;以4KB大小的页为例,普通数据域大小为4KB,每个数据块大小为512B,与常规主机垃圾回收程序的最小管理单元512B保持一致,一个数据页包含8个LBA,一个LBA对应一个512B数据块,在元数据区域新增一个LBA_bitmap,大小为8bit,分别对应8个LBA,有效置为1,无效置为0。例如,图4数据块级的垃圾回收处理示例,当需要垃圾回收TRIM内部的LBA 5~7时,读取出整个数据页,将LBA_bitmap对应LBA 5~7的比特位置为0,同时,将数据域LBA 5~7相关数据置为全1或全0(根据相关要求设定),再将修改后的数据写入至新的NAND flash地址,修改映射表,使其指向新的物理地址。后续查询或者读取时,只需要查看相关LBA_bitmap即可知道对应的LBA是否有效。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (2)

1.一种固态硬盘实现LBA级别TRI M命令的方法,其特征在于每个数据页按512KB或1024KB大小划分为N个数据块,在每个数据页的元数据区域中设置Nb i t数据位作为数据块状态标识表,数据块状态标识表的每个b it分别唯一对应一个数据块,并标识对应的数据块上的数据是否有效;垃圾回收程序读取整个数据页,通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收。
2.根据权利要求1所述的固态硬盘实现LBA级别TRI M命令的方法,其特征在于固态硬盘控制器至少包括数据块垃圾回收程序和数据页垃圾回收程序;固态硬盘控制器根据主机输入的指令选择数据块垃圾回收程序和数据页垃圾回收程序,当主机下发的指令要求进行数据块级别的垃圾回收管理,则通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收;如果主机下发的指令要求进行数据页级别的垃圾回收管理,则直接按数据页垃圾回收程序进行垃圾回收。
CN201710755948.1A 2017-08-29 2017-08-29 一种固态硬盘实现lba级别trim命令的方法 Pending CN107632942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710755948.1A CN107632942A (zh) 2017-08-29 2017-08-29 一种固态硬盘实现lba级别trim命令的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710755948.1A CN107632942A (zh) 2017-08-29 2017-08-29 一种固态硬盘实现lba级别trim命令的方法

Publications (1)

Publication Number Publication Date
CN107632942A true CN107632942A (zh) 2018-01-26

Family

ID=61101445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710755948.1A Pending CN107632942A (zh) 2017-08-29 2017-08-29 一种固态硬盘实现lba级别trim命令的方法

Country Status (1)

Country Link
CN (1) CN107632942A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763100A (zh) * 2018-05-28 2018-11-06 深圳忆联信息系统有限公司 一种固态存储设备快速trim方法及其系统
CN109240939A (zh) * 2018-08-15 2019-01-18 杭州阿姆科技有限公司 一种快速处理固态硬盘trim的方法
CN109918318A (zh) * 2019-03-06 2019-06-21 苏州浪潮智能科技有限公司 Ssd元数据管理方法、装置、设备及可读存储介质
CN110147332A (zh) * 2018-02-13 2019-08-20 纬颖科技服务股份有限公司 目录数据的管理方法与存储器装置
CN110502453A (zh) * 2019-08-16 2019-11-26 北京浪潮数据技术有限公司 一种存储空间回收方法及装置
CN110908925A (zh) * 2018-09-17 2020-03-24 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
WO2020172821A1 (zh) * 2019-02-27 2020-09-03 华为技术有限公司 固态硬盘写放大优化方法
CN111857586A (zh) * 2020-07-14 2020-10-30 苏州浪潮智能科技有限公司 一种SSD Trim优化方法、系统、终端及存储介质
CN112230855A (zh) * 2020-10-20 2021-01-15 英韧科技(上海)有限公司 固态硬盘及其读写方法
US11360912B2 (en) 2018-09-17 2022-06-14 Silicon Motion, Inc. Method for performing adaptive locking range management, associated data storage device and controller thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205717A1 (en) * 2014-01-22 2015-07-23 Synology Incorporated Method for adaptively managing a solid state drive, and associated apparatus and associated computer program product
CN106293521A (zh) * 2016-08-02 2017-01-04 华中科技大学 一种映射粒度自适应的闪存转换层管理方法
CN106547703A (zh) * 2016-10-08 2017-03-29 华中科技大学 一种基于块组结构的ftl优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205717A1 (en) * 2014-01-22 2015-07-23 Synology Incorporated Method for adaptively managing a solid state drive, and associated apparatus and associated computer program product
CN106293521A (zh) * 2016-08-02 2017-01-04 华中科技大学 一种映射粒度自适应的闪存转换层管理方法
CN106547703A (zh) * 2016-10-08 2017-03-29 华中科技大学 一种基于块组结构的ftl优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
丘文末: "基于软硬件协同设计的闪存存储系统关键技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李思思: "一种基于子页的固态存储FTL性能优化算法的研究", 《万方数据知识服务平台》 *
黄维沛: "eMMC控制器关键模块技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147332B (zh) * 2018-02-13 2021-09-14 纬颖科技服务股份有限公司 目录数据的管理方法与存储器装置
CN110147332A (zh) * 2018-02-13 2019-08-20 纬颖科技服务股份有限公司 目录数据的管理方法与存储器装置
CN108763100A (zh) * 2018-05-28 2018-11-06 深圳忆联信息系统有限公司 一种固态存储设备快速trim方法及其系统
CN108763100B (zh) * 2018-05-28 2020-10-09 深圳忆联信息系统有限公司 一种固态存储设备快速trim方法及其系统
CN109240939B (zh) * 2018-08-15 2023-04-07 杭州阿姆科技有限公司 一种快速处理固态硬盘trim的方法
CN109240939A (zh) * 2018-08-15 2019-01-18 杭州阿姆科技有限公司 一种快速处理固态硬盘trim的方法
CN110908925A (zh) * 2018-09-17 2020-03-24 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
US11360912B2 (en) 2018-09-17 2022-06-14 Silicon Motion, Inc. Method for performing adaptive locking range management, associated data storage device and controller thereof
CN110908925B (zh) * 2018-09-17 2022-01-25 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
WO2020172821A1 (zh) * 2019-02-27 2020-09-03 华为技术有限公司 固态硬盘写放大优化方法
CN113490922B (zh) * 2019-02-27 2023-07-18 华为技术有限公司 固态硬盘写放大优化方法
CN113490922A (zh) * 2019-02-27 2021-10-08 华为技术有限公司 固态硬盘写放大优化方法
CN109918318A (zh) * 2019-03-06 2019-06-21 苏州浪潮智能科技有限公司 Ssd元数据管理方法、装置、设备及可读存储介质
CN110502453A (zh) * 2019-08-16 2019-11-26 北京浪潮数据技术有限公司 一种存储空间回收方法及装置
CN111857586A (zh) * 2020-07-14 2020-10-30 苏州浪潮智能科技有限公司 一种SSD Trim优化方法、系统、终端及存储介质
CN112230855A (zh) * 2020-10-20 2021-01-15 英韧科技(上海)有限公司 固态硬盘及其读写方法

Similar Documents

Publication Publication Date Title
CN107632942A (zh) 一种固态硬盘实现lba级别trim命令的方法
US11481144B1 (en) Techniques for directed data migration
US10817415B2 (en) Data storage device and method including device or controller-based space allocation and host-based mapping table searching
TWI678619B (zh) 包含動態超區塊之記憶體裝置及相關方法與電子系統
US11232041B2 (en) Memory addressing
TWI435219B (zh) 資料保護方法、記憶體控制器及可攜式記憶體儲存裝置
KR101852668B1 (ko) 어드레스 매핑
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US8364931B2 (en) Memory system and mapping methods using a random write page mapping table
US8332576B2 (en) Data reading method for flash memory and controller and storage system using the same
US8001317B2 (en) Data writing method for non-volatile memory and controller using the same
KR102663661B1 (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
CN110678836A (zh) 用于键值存储的持久性存储器
US20110264884A1 (en) Data storage device and method of operating the same
TWI584122B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9715445B2 (en) File differentiation based on data block identification
US20150186259A1 (en) Method and apparatus for storing data in non-volatile memory
US8838877B2 (en) File system derived metadata for management of non-volatile memory
US11157402B2 (en) Apparatus and method for managing valid data in memory system
KR101826047B1 (ko) 저장 장치 및 그 구동 방법
US20190042405A1 (en) Storing data based on writing frequency in data storage systems
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
KR20200016075A (ko) 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치
US20100318726A1 (en) Memory system and memory system managing method

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: 20180126