CN107832007A - 一种提高ssd综合性能的方法 - Google Patents
一种提高ssd综合性能的方法 Download PDFInfo
- Publication number
- CN107832007A CN107832007A CN201711010304.6A CN201711010304A CN107832007A CN 107832007 A CN107832007 A CN 107832007A CN 201711010304 A CN201711010304 A CN 201711010304A CN 107832007 A CN107832007 A CN 107832007A
- Authority
- CN
- China
- Prior art keywords
- write buffer
- write
- data
- full
- page
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种提高SSD综合性能的方法,其特征在于固态硬盘控制器的写缓存采用2级缓存,第一级为部分写缓存,第二级为满写缓存;部分写缓存和满写缓存以物理页大小为一个缓存页单位进行管理,一个物理页包括N个主机的逻辑数据块;固态硬盘控制器新收到主机的写命令是,优先将数据写入部分写缓存中,当部分写缓存中的某个缓存页数据被写满,则将该部分写缓存中的缓存页的数据搬移到满写缓存中;固态硬盘控制器的后台只执行将满写缓存中缓存的数据写入实际的FLASH存储空间中;部分写缓存暂时不写入实际的FLASH存储空间中。通过设置两级缓存,保证实际写入FLASH的存储空间的每个页是满数据的,大大降低读改写RMW触发的概率,明显提升SSD的综合性能。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种提高SSD综合性能的方法。
背景技术
对于企业级的固态硬盘(SSD)而言,仅仅用性能和IOPS(Input/OutputOperations Per Second即每秒进行读写(I/O)操作的次数)去考量SSD是不全面的。更重要的是服务质量,即Qos(quality of service)。
服务质量可以简单理解为SSD性能的一致性或稳定性。其并不是单纯的带宽、IOPS或者平均延迟,而是这些因素综合到一起后的SSD的平均性能。在企业级应用环境下,每一秒的延迟都有可能给业务带来极大的影响,对于要求万事俱掌握手中的企业级数据中心而言,SSD性能的一致性就显得尤为重要。
图1是读改写操作流程示意图,假设固件中的映射单元为物理page(4KB),即映射表中每个最小单元记录了主机中某8个连续逻辑块LBA(512B)与某个物理页PAGE_x的对应关系,由于存储介质的特性,当主机复写了这8个LBA中的任意一个LBA的数据,该映射关系就得改变,即这8个LBA都得被映射到新的物理页PAGE_y,并且固件需要做读改写操作(简称RMW操作)把原物理页PAGE_x中未被复写的数据搬到新的物理页PAGE_y。显然读改写操作为SSD内部额外的对存储介质的读写操作,这会占用后端带宽,使得前端(主机业务)性能不稳定,即降低了服务质量。
图2是常规的缓存策略示意图,主机的写数据是先缓存在写cache中,待cache满了再把数据刷到存储介质,由于映射单元为4KB,所以写cache中将连续的8个LBA作为一个逻辑页(LPA)来管理。显然当写cache中某个LPA是满的(满指的是8个LBA的数据都被主机写了),那么当它被刷到存储介质时不需要做RMW操作,直接修改映射关系即可,即不影响SSD性能。如果某个LPA只有部分LBA被主机改写,那么这个LPA被刷到存储介质时需要做RMW操作,降低SSD性能。当主机持续发起LBA级别的随机业务时,SSD的性能将会极不稳定,服务质量很差。
发明内容
针对以上缺陷,本发明目的是如何降低RMW操作的频率,实现提高SSD综合性能的目的。
为了解决以上问题本发明提出了一种提高SSD综合性能的方法,其特征在于固态硬盘控制器的写缓存采用2级缓存,第一级为部分写缓存,第二级为满写缓存;部分写缓存和满写缓存以物理页大小为一个缓存页单位进行管理,一个物理页包括N个主机的逻辑数据块;固态硬盘控制器新收到主机的写命令是,优先将数据写入部分写缓存中,当部分写缓存中的某个缓存页数据被写满,则将该部分写缓存中的缓存页的数据搬移到满写缓存中;固态硬盘控制器的后台只执行将满写缓存中缓存的数据写入实际的FLASH存储空间中;部分写缓存暂时不写入实际的FLASH存储空间中。
所述的提高SSD综合性能的方法,其特征在于当固态硬盘控制器接收到掉电或关机通知时,强制性将部分写缓存和满写缓存的所有数据都写入实际的FLASH存储空间中。
所述的提高SSD综合性能的方法,其特征在于所述部分写缓存的空间大小大于满写缓存的空间大小。
本发明的有益效果是:通过设置两级缓存,保证实际写入FLASH的存储空间的每个页是满数据的,大大降低读改写RMW触发的概率,明显提升SSD的综合性能。
附图说明
图1是读改写操作流程示意图;
图2是常规的缓存策略示意图;
图3是双缓存示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当主机连续发起LBA级别的随机业务时,在现有写cache策略下,会频繁发生RMW操作,严重影响SSD的服务质量。
本实施例提出一种新的写cache策略:根据分析与统计主机一直在做LBA级别的随机业务,那么写cache中未被写满的LPA有很大概率会被慢慢写满,写满后的LPA再刷到存储介质就不需要RMW操作了。本实施例提出双缓存设计,图3是双缓存示意图;即硬盘控制器将硬盘控制器的系统内存划分出两个写缓存:部分写缓存partial cache和满写缓存fullcache。主机发起的LBA写数据首先写到部分写缓存partial cache,一开始新写入部分写缓存partial cache中的LPA基本都是不满的,随着主机不断写入,部分LPA会被写满;当系统检测到某个页的LPA写满了,那么将写满的页上所有LPA搬移到满写缓存full cache中,因此可以保证满写缓存full cache中的所有LPA都是满的,所以满写缓存full cache刷到存储介质是不需要做RMW的。部分写缓存partial cache的容量一般设置要比满写缓存fullcache要大,这样才能保证它的生命周期长,就不会轻易被刷到存储介质了,如此大大降低了RMW的触发频率,明显提升了SSD的服务质量。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (3)
1.一种提高SSD综合性能的方法,其特征在于固态硬盘控制器的写缓存采用2级缓存,第一级为部分写缓存,第二级为满写缓存;部分写缓存和满写缓存以物理页大小为一个缓存页单位进行管理,一个物理页包括N个主机的逻辑数据块;固态硬盘控制器新收到主机的写命令是,优先将数据写入部分写缓存中,当部分写缓存中的某个缓存页数据被写满,则将该部分写缓存中的缓存页的数据搬移到满写缓存中;固态硬盘控制器的后台只执行将满写缓存中缓存的数据写入实际的FLASH存储空间中;部分写缓存暂时不写入实际的FLASH存储空间中。
2.根据权利要求1所述的提高SSD综合性能的方法,其特征在于当固态硬盘控制器接收到掉电或关机通知时,强制性将部分写缓存和满写缓存的所有数据都写入实际的FLASH存储空间中。
3.根据权利要求2所述的提高SSD综合性能的方法,其特征在于所述部分写缓存的空间大小大于满写缓存的空间大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010304.6A CN107832007A (zh) | 2017-10-25 | 2017-10-25 | 一种提高ssd综合性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010304.6A CN107832007A (zh) | 2017-10-25 | 2017-10-25 | 一种提高ssd综合性能的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107832007A true CN107832007A (zh) | 2018-03-23 |
Family
ID=61649241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711010304.6A Pending CN107832007A (zh) | 2017-10-25 | 2017-10-25 | 一种提高ssd综合性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832007A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN112463059A (zh) * | 2020-11-30 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种写数据处理方法、装置、电子设备及存储介质 |
CN113157512A (zh) * | 2021-04-29 | 2021-07-23 | 山东华芯半导体有限公司 | 实现大容量ssd在小内存机器上进行数据校验测试的方法 |
CN113485640A (zh) * | 2021-06-23 | 2021-10-08 | 至誉科技(武汉)有限公司 | 数据写入方法、装置、设备及可读存储介质 |
CN115373610A (zh) * | 2022-10-25 | 2022-11-22 | 北京智芯微电子科技有限公司 | 数据写入方法、装置、电子设备及存储介质 |
EP4231132A1 (en) * | 2022-02-18 | 2023-08-23 | Samsung Electronics Co., Ltd. | Memory system for tailoring data, host system for controlling the memory system, and operation method of the memory system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855854A (zh) * | 2005-04-26 | 2006-11-01 | 华为技术有限公司 | 一种信息缓存系统及方法 |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN103729149A (zh) * | 2013-12-31 | 2014-04-16 | 创新科存储技术有限公司 | 一种存储数据的方法 |
CN105630700A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种具有二级缓存结构的存储系统及读写方法 |
CN106557272A (zh) * | 2015-09-30 | 2017-04-05 | 中国科学院软件研究所 | 一种高效的传感器历史数据归档方法 |
-
2017
- 2017-10-25 CN CN201711010304.6A patent/CN107832007A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855854A (zh) * | 2005-04-26 | 2006-11-01 | 华为技术有限公司 | 一种信息缓存系统及方法 |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN103729149A (zh) * | 2013-12-31 | 2014-04-16 | 创新科存储技术有限公司 | 一种存储数据的方法 |
CN105630700A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种具有二级缓存结构的存储系统及读写方法 |
CN106557272A (zh) * | 2015-09-30 | 2017-04-05 | 中国科学院软件研究所 | 一种高效的传感器历史数据归档方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN111625188B (zh) * | 2020-05-19 | 2023-08-08 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN112463059A (zh) * | 2020-11-30 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种写数据处理方法、装置、电子设备及存储介质 |
CN112463059B (zh) * | 2020-11-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种写数据处理方法、装置、电子设备及存储介质 |
CN113157512A (zh) * | 2021-04-29 | 2021-07-23 | 山东华芯半导体有限公司 | 实现大容量ssd在小内存机器上进行数据校验测试的方法 |
CN113485640A (zh) * | 2021-06-23 | 2021-10-08 | 至誉科技(武汉)有限公司 | 数据写入方法、装置、设备及可读存储介质 |
EP4231132A1 (en) * | 2022-02-18 | 2023-08-23 | Samsung Electronics Co., Ltd. | Memory system for tailoring data, host system for controlling the memory system, and operation method of the memory system |
CN115373610A (zh) * | 2022-10-25 | 2022-11-22 | 北京智芯微电子科技有限公司 | 数据写入方法、装置、电子设备及存储介质 |
CN115373610B (zh) * | 2022-10-25 | 2023-08-18 | 北京智芯微电子科技有限公司 | 数据写入方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832007A (zh) | 一种提高ssd综合性能的方法 | |
US11967370B1 (en) | Lifetime mixed level non-volatile memory system | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
US9996435B2 (en) | Reliability scheme using hybrid SSD/HDD replication with log structured management | |
JP6007329B2 (ja) | ストレージコントローラ、ストレージ装置、ストレージシステム | |
US10203876B2 (en) | Storage medium apparatus, method, and program for storing non-contiguous regions | |
WO2018033036A1 (zh) | 固态硬盘和应用于固态硬盘的数据存取方法 | |
CN103257935B (zh) | 一种缓存管理方法及其应用 | |
US20100325352A1 (en) | Hierarchically structured mass storage device and method | |
US20180173419A1 (en) | Hybrid ssd with delta encoding | |
US11645006B2 (en) | Read performance of memory devices | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
CN103838676B (zh) | 数据存储系统、数据存储方法及pcm桥 | |
CN108182154A (zh) | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 | |
KR102113212B1 (ko) | 플래시 메모리 시스템 및 그 제어 방법 | |
US20200310669A1 (en) | Optimized handling of multiple copies in storage management | |
CN113467713A (zh) | 数据分离方法及固态硬盘 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
WO2016194979A1 (ja) | ストレージシステム、ストレージ制御装置、ストレージ制御方法及びプログラム | |
CN111758086B (zh) | 用于ssd的映射表的刷新方法 | |
TW201022940A (en) | Data managing method for non-volatile memory and non-volatile memory device using the same | |
JP2014153969A (ja) | 情報処理システム | |
US20230222055A1 (en) | Log File System (LFS) Invalidation Command and Operational Mode | |
JP2009282568A (ja) | 半導体記録装置 | |
TW202123653A (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: 20180323 |
|
RJ01 | Rejection of invention patent application after publication |