CN107632942A - 一种固态硬盘实现lba级别trim命令的方法 - Google Patents
一种固态硬盘实现lba级别trim命令的方法 Download PDFInfo
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种固态硬盘实现LBA级别TRIM命令的方法,其特征在于每个数据页按512KB或1024KB大小划分为N个数据块,在每个数据页的元数据区域中设置Nbit数据位作为数据块状态标识表,数据块状态标识表的每个bit分别唯一对应一个数据块,并标识对应的数据块上的数据是否有效;垃圾回收程序读取整个数据页,通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收。充分利用NAND flash数据页提供的元数据空间,无需新增额外的内存容量,实现简单、有效。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘实现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命令的方法,其特征在于固态硬盘控制器至少包括数据块垃圾回收程序和数据页垃圾回收程序;固态硬盘控制器根据主机输入的指令选择数据块垃圾回收程序和数据页垃圾回收程序,当主机下发的指令要求进行数据块级别的垃圾回收管理,则通过检测数据页的数据块状态标识表识别数据页的有效数据块,并将有效数据块的数据进行迁移,同时修改映射表,完成该数据页的垃圾回收;如果主机下发的指令要求进行数据页级别的垃圾回收管理,则直接按数据页垃圾回收程序进行垃圾回收。
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)
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)
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优化方法 |
-
2017
- 2017-08-29 CN CN201710755948.1A patent/CN107632942A/zh active Pending
Patent Citations (3)
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)
Title |
---|
丘文末: "基于软硬件协同设计的闪存存储系统关键技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李思思: "一种基于子页的固态存储FTL性能优化算法的研究", 《万方数据知识服务平台》 * |
黄维沛: "eMMC控制器关键模块技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
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 |