CN111176562A - 一种存储系统 - Google Patents
一种存储系统 Download PDFInfo
- Publication number
- CN111176562A CN111176562A CN201911343375.7A CN201911343375A CN111176562A CN 111176562 A CN111176562 A CN 111176562A CN 201911343375 A CN201911343375 A CN 201911343375A CN 111176562 A CN111176562 A CN 111176562A
- Authority
- CN
- China
- Prior art keywords
- ftl table
- memory
- data
- 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
- 230000015654 memory Effects 0.000 claims abstract description 116
- 239000007787 solid Substances 0.000 claims abstract description 51
- 238000013507 mapping Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种存储系统,包括:固态硬盘,由控制器与闪存阵列构成,所述控制器不包含缓存;以及,所述固态硬盘的第一存储区域存储FTL表数据、第二存储区域存储常用FTL表数据、第三存储区域存储FTL表索引数据;主机处理器,所述主机处理器加载固态硬盘驱动后,通过总线结构访问固态硬盘,以及,通过总线结构访问主机内存,在主机内存中初始化第一内存区域、第二内存区域、第三内存区域,所述第一内存区域存储临时FTL表数据、所述第二内存区域存储常用FTL表数据,所述第三内存区域存储FTL表索引数据;主机内存,用于根据主机处理器的指令,加载固态硬盘数据。用以提升FTL映射表的访问效率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种存储系统。
背景技术
固态硬盘(Solid State Disk, SSD)因其高速读写性能、低故障率,正在逐步取代机械硬盘,成为主流存储设备。固态硬盘内部通过Nand flash存储数据,随着技术的发展,Nand flash颗粒从单层单元(Single-Level Cell, SLC)、多层单元MLC(Multi-LevelCell)、三层单元(Trinary-Level Cell, TLC)演变到3D Nand,存储密度越来越高,因此,大容量固态硬盘越来越多地走进企业级和民用级市场。
和传统磁盘相比,Nand Flash存储延迟低、功耗低、更高的存储密度、抗震型号更好和噪声低。但是,由于Nand Flash的特性影响(读写擦的单位不一致,每个块有P/E次数限制),Nand Flash不能直接通过简单的接口转换就拿来使用。所以我们需要在Nand Flash上增加一个管理软件FTL(Flash Translation Layer, 闪存转换层)进行管理,对外就是一个黑盒子,上层应用可以通过逻辑地址来对这个黑盒子进行访问。
如图1所示,上层应用通过逻辑地址来访问存储设备,FTL把不同的逻辑地址映射到Nand Flash中的不同位置,FTL简单来说,主要就是映射管理。
随着固态硬盘的容量越来越高,FTL文件也越来越大,管理复杂度越来越高。另一方面,为了节约成本,现有技术中使用计算机主机内存替代SSD内存。因此,如何使用主机内存对大容量固态硬盘的FTL进行高效管理,是亟待解决的问题。
发明内容
为此,本发明提供一种存储系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明实施例的一个方面,提供了一种存储系统,包括:
固态硬盘,由控制器与闪存阵列构成,所述控制器不包含缓存;以及,所述固态硬盘的第一存储区域存储FTL表数据、第二存储区域存储常用FTL表数据、第三存储区域存储FTL表索引数据;
主机处理器,所述主机处理器加载固态硬盘驱动后,通过总线结构访问固态硬盘,以及,通过总线结构访问主机内存,在主机内存中初始化第一内存区域、第二内存区域、第三内存区域,所述第一内存区域存储临时FTL表数据、所述第二内存区域存储常用FTL表数据,所述第三内存区域存储FTL表索引数据;
主机内存,用于根据主机处理器的指令,加载固态硬盘数据。
可选地,所述主机处理器统计所述FTL表和/或FTL表索引数据的访问频度,将访问频度满足预设条件的FTL表项和/或FTL表索引数据写入所述第二存储区域。
可选地,所述主机处理器监控应用程序使用情况,将访问频度满足预设条件的应用相关的FTL表项和/或FTL表索引数据写入所述第二存储区域。
可选地,所述主机处理器在检测到系统安装常用应用后,将常用应用的相关的FTL表项和/或FTL表索引数据写入第二存储区域。
可选地,所述第二存储区域为固定大小。
可选地,所述第二存储区域的大小小于所述第一内存区域。
可选地,所述第二存储区域按照先进先出方式管理。
可选地,所述主机处理器接收到访问固态硬盘数据的请求时,先查询所述第一内存区域和所述第二内存区域的FTL表数据,如果没有命中,则查询所述第三内存区域的FTL表索引数据,根据所述第三内存区域的查询结果,将可能命中的所述固态硬盘的第一存储区域存储的FTL表数据加载至第一内存区域,并重新查询所述第一内存区域的FTL表数据。
可选地,所述主机处理器在命中FTL表项之后,访问对应的固态硬盘物理地址。
可选地,所述固态硬盘的闪存阵列为SLC闪存、MLC闪存、TLC闪存、和3D NAND中至少两种闪存构成的混合阵列。
可选地,所述主机处理器通过SATA协议、或NVMe协议访问所述固态硬盘。
本发明实施例中,由主机处理器在内存中加载临时FTL表数据、常用FTL表数据、FTL表索引数据,利用常用FTL表数据加快常用数据的访问效率,以及,对于非常用数据,根据临时FTL表数据和FTL表索引数据保证基本的访问效率,总体上提升了数据访问性能。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了FTL工作原理示意图;
图2示出了本发明实施例的系统框架图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,根据本发明的实施例的一种固态硬盘设备,包括:
固态硬盘110,由控制器与闪存阵列构成,所述控制器不包含缓存;以及,固态硬盘110的第一存储区域存储FTL表数据、第二存储区域存储常用FTL表数据、第三存储区域存储FTL表索引数据;
主机处理器120,主机处理器120加载固态硬盘驱动后,通过总线结构访问固态硬盘110,以及,通过总线结构访问主机内存130,在主机内存130中初始化第一内存区域、第二内存区域、第三内存区域,第一内存区域存储临时FTL表数据、第二内存区域存储常用FTL表数据,第三内存区域存储FTL表索引数据;
主机内存130,用于根据主机处理器的指令,加载固态硬盘数据。
在本发明的实施例中,当主机处理器120接收到访问固态硬盘数据的请求时,可查询临时FTL表数据,获取对应的固态硬盘数据的物理地址,由于FTL表体积一般较大,全部加载到内存当中处理起来效率低下,因此一般只需要加载一部分FTL表至第一内存区域。
另一方面,当主机处理器120接收到访问固态硬盘数据的请求时,可查询第三内存区域,获取对应的FTL表索引数据,其中,FTL表索引数据可包括辅助索引数据,例如,索引数据的索引数据。根据FTL表索引数据的查询结果,将对应的FTL表数据加载至第一内存区域。主机处理器查询第一内存区域的临时FTL表数据,获取对应的固态硬盘数据的物理地址。
又一方面,当主机处理器120接收到访问固态硬盘数据的请求时,可查询第二内存区域,第二内存区域存储常用FTL表数据,对于用户经常访问的逻辑地址,被记录在常用FTL表数据中,从而提高查找命中效率。
进一步地,所述主机处理器统计所述FTL表和/或FTL表索引数据的访问频度,将访问频度满足预设条件的FTL表项和/或FTL表索引数据写入所述第二存储区域。一方面,通过统计表项访问频度,能够提取常用的FTL表项,便于下次访问。另一方面,FTL表和FTL表索引数据均可作为常用FTL表数据,既能够提升FTL表项的查找效率,也能够提升FTL表索引的查找效率。
除了以统计表项访问频度的方式确定常用FTL表数据,本发明还提供了基于应用的方式确定常用FTL表数据。具体地,所述主机处理器监控应用程序使用情况,将访问频度满足预设条件的应用相关的FTL表项和/或FTL表索引数据写入所述第二存储区域。例如,设立常见应用列表,将用户的常用应用的相关的FTL表项和/或FTL表索引数据写入第二存储区域。又例如,设置常用应用列表,在检测到系统安装常用应用后,将常用应用的相关的FTL表项和/或FTL表索引数据写入第二存储区域。此外,在一种实施例中,将以统计表项访问频度的方式和基于应用的方式同时使用,以确定常用FTL表数据。其中,相关的FTL表项可以包括与程序相关的数据,相关的FTL表索引数据可以是包括涵盖所有程序文件的FTL表数据的索引数据。
上述实施方式,利用主机与固态硬盘共用内存的特点,使用主机处理器对第二内存区域进行较为复杂的管理,即根据上层应用的实际使用情况对第二内存区域进行调整,使得第二内存区域能够有效的存储用户常用的FTL表数据。
可选地,第二存储区域为固定大小,并且,按照先进先出方式管理。避免第二存储区域过大而影响到FLT查找效率。
进一步地,第二存储区域的大小小于第一内存区域,用以保证对于常用的数据,其访问效率不低于非常用数据的查找方式。
进一步地,主机处理器120接收到访问固态硬盘数据的请求时,先查询第一内存区域的FTL表数据,如果没有命中,再查询第二内存区域的FTL表数据,如果没有命中,则查询第三内存区域的FTL表索引数据,根据第三内存区域的查询结果,将可能命中的固态硬盘的第一存储区域存储的FTL表数据加载至第一内存区域,并重新查询所述第一内存区域的FTL表数据。
其中,可能命中的固态硬盘的第一存储区域存储的FTL表数据,是指包含目标表项的FTL子表,例如,FTL表根据逻辑地址的编号被划分为多个子表,根据索引确定数据访问请求所对应的子表后,再从子表中查询数据访问请求所对应的物理地址。
在另一实施例中,主机处理器120接收到访问固态硬盘数据的请求时,先查询第二内存区域的FTL表数据,如果没有命中,再查询第一内存区域的FTL表数据,如果没有命中,则查询第三内存区域的FTL表数据,根据第三内存区域的查询结果,将可能命中的固态硬盘的第一存储区域存储的FTL表数据加载至第一内存区域,并重新查询所述第一内存区域的FTL表数据。
进一步地,主机处理器120在命中FTL表项之后,根据命中的固态硬盘物理地址,完成数据访问。
进一步地,所述第一存储区域存储完整的FTL表。
进一步地,所述第一内存区域存储所述完整的FTL表包含的指定长度的连续数据,即为临时FTL表数据。
可选地,固态硬盘110的闪存阵列为SLC闪存、MLC闪存、TLC闪存、和3D NAND中至少两种闪存构成的混合阵列。对于混合阵列,其FTL表占用空间大,管理过程也比较复杂,更适合主机内存管理方式,以及,通过本发明前述内容提供的方式能够加强其FTL管理效率。
进一步地,主机处理器120通过SATA协议、或NVMe协议访问固态硬盘110。
进一步地,主机处理器120通过加载用于实现上述功能的固态硬盘驱动,在固态硬盘设置第一存储区域存储FTL表数据,第二存储区域存储常用FTL表数据,第三存储区域存储FTL表索引数据,以及,在内存中初始化并管理第一内存区域、第二内存区域、第三内存区域,所述第一内存区域加载临时FTL表数据、所述第二内存区域加载常用FTL表数据,所述第三内存区域加载FTL表索引数据,从而在工程上实现本发明的构思。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种存储系统,其特征在于,包括:
固态硬盘,由控制器与闪存阵列构成,所述控制器不包含缓存;以及,所述固态硬盘的第一存储区域存储FTL表数据、第二存储区域存储常用FTL表数据、第三存储区域存储FTL表索引数据;
主机处理器,所述主机处理器加载固态硬盘驱动后,通过总线结构访问固态硬盘,以及,通过总线结构访问主机内存,在主机内存中初始化第一内存区域、第二内存区域、第三内存区域,所述第一内存区域存储临时FTL表数据、所述第二内存区域存储常用FTL表数据,所述第三内存区域存储FTL表索引数据;
主机内存,用于根据主机处理器的指令,加载固态硬盘数据。
2.如权利要求1所述的系统,其特征在于,所述主机处理器统计所述FTL表和/或FTL表索引数据的访问频度,将访问频度满足预设条件的FTL表项和/或FTL表索引数据写入所述第二存储区域。
3.如权利要求1所述的系统,其特征在于,所述主机处理器监控应用程序使用情况,将访问频度满足预设条件的应用相关的FTL表项和/或FTL表索引数据写入所述第二存储区域。
4.如权利要求3所述的系统,其特征在于,所述主机处理器在检测到系统安装常用应用后,将常用应用的相关的FTL表项和/或FTL表索引数据写入第二存储区域。
5.如权利要求2所述的系统,其特征在于,所述第二存储区域为固定大小,且大小小于所述第一内存区域。
6.如权利要求2所述的系统,其特征在于,所述第二存储区域按照先进先出方式管理。
7.如权利要求1-6任一项所述的系统,其特征在于,所述主机处理器接收到访问固态硬盘数据的请求时,先查询所述第一内存区域和所述第二内存区域的FTL表数据,如果没有命中,则查询所述第三内存区域的FTL表索引数据,根据所述第三内存区域的查询结果,将可能命中的所述固态硬盘的第一存储区域存储的FTL表数据加载至第一内存区域,并重新查询所述第一内存区域的FTL表数据。
8.如权利要求7所述的系统,其特征在于,所述主机处理器在命中FTL表项之后,访问对应的固态硬盘物理地址。
9.如权利要求1所述的系统,其特征在于,所述固态硬盘的闪存阵列为SLC闪存、MLC闪存、TLC闪存、和3D NAND中至少两种闪存构成的混合阵列。
10.如权利要求1所述的系统,其特征在于,所述主机处理器通过SATA协议、或NVMe协议访问所述固态硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911343375.7A CN111176562A (zh) | 2019-12-24 | 2019-12-24 | 一种存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911343375.7A CN111176562A (zh) | 2019-12-24 | 2019-12-24 | 一种存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111176562A true CN111176562A (zh) | 2020-05-19 |
Family
ID=70648825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911343375.7A Pending CN111176562A (zh) | 2019-12-24 | 2019-12-24 | 一种存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176562A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机系统 |
CN104866246A (zh) * | 2015-06-05 | 2015-08-26 | 上海新储集成电路有限公司 | 一种混合固态硬盘 |
CN106843762A (zh) * | 2017-01-17 | 2017-06-13 | 北京联想核芯科技有限公司 | 管理存储区域的方法及固态硬盘 |
CN110333966A (zh) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | 一种固态硬盘设备 |
-
2019
- 2019-12-24 CN CN201911343375.7A patent/CN111176562A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机系统 |
CN104866246A (zh) * | 2015-06-05 | 2015-08-26 | 上海新储集成电路有限公司 | 一种混合固态硬盘 |
CN106843762A (zh) * | 2017-01-17 | 2017-06-13 | 北京联想核芯科技有限公司 | 管理存储区域的方法及固态硬盘 |
CN110333966A (zh) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | 一种固态硬盘设备 |
Non-Patent Citations (1)
Title |
---|
姚英彪等: "一种基于分类策略的聚簇页级闪存转换层算法", 《计算机研究与发展》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893238B2 (en) | Method of controlling nonvolatile semiconductor memory | |
US10282286B2 (en) | Address mapping using a data unit type that is variable | |
US8526234B1 (en) | Controller management of memory array of storage device using magnetic random access memory (MRAM) | |
KR20170038853A (ko) | 호스트-관리 비휘발성 메모리 | |
US20130103893A1 (en) | System comprising storage device and related methods of operation | |
KR102430198B1 (ko) | 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법 | |
KR20200116372A (ko) | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 | |
US20200133543A1 (en) | Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications | |
CN112506814A (zh) | 一种存储器及其控制方法与存储系统 | |
TW201508484A (zh) | 資料寫入方法、硬碟模組以及資料寫入系統 | |
KR20210028729A (ko) | 논리적 대 물리적 테이블 프래그먼트들 | |
US20200310669A1 (en) | Optimized handling of multiple copies in storage management | |
CN113590505A (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
CN110968527B (zh) | Ftl提供的缓存 | |
EP2381354A2 (en) | Data recording device | |
KR20110070656A (ko) | 플래시 메모리의 데이터 처리 방법 및 장치 | |
CN104423892A (zh) | 数据写入方法、磁盘模块以及数据写入系统 | |
CN111176562A (zh) | 一种存储系统 | |
CN110968520B (zh) | 基于统一缓存架构的多流存储设备 | |
Koltsidas et al. | Spatial data management over flash memory | |
CN105138294A (zh) | 一种硬盘设备及信息处理方法 | |
CN111177033A (zh) | 一种固态硬盘的使用方法 | |
KR102210536B1 (ko) | 비휘발성 메모리 장치의 데이터 관리 시스템 및 그 방법 | |
CN110968528B (zh) | 应用统一缓存架构为非易失存储介质组装数据 | |
CN110968525B (zh) | Ftl提供的缓存、其优化方法与存储设备 |
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: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |