CN103077119A - 数据处理系统及方法 - Google Patents
数据处理系统及方法 Download PDFInfo
- Publication number
- CN103077119A CN103077119A CN2012105899058A CN201210589905A CN103077119A CN 103077119 A CN103077119 A CN 103077119A CN 2012105899058 A CN2012105899058 A CN 2012105899058A CN 201210589905 A CN201210589905 A CN 201210589905A CN 103077119 A CN103077119 A CN 103077119A
- Authority
- CN
- China
- Prior art keywords
- page
- lpage
- hits
- logical page
- map information
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于存储技术领域,提供了一种数据处理方法,所述方法包括:在系统内存中建立命中页映射表及全局字典表;接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页;若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表获取所述逻辑页对应的映射信息。本发明还相应的提供一种数据处理系统。借此,本发明可以实现页映射的同时大大减少内存占用量。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种数据处理系统及方法。
背景技术
在基于NAND的固态存储中,HOST(主机)和NAND端的地址转换方式有很多种,主要有页映射、块映射以及两者结合的混合映射方法。因为NAND读,写操作的单元是页,其中应用最广泛的是基于页映射的地址转换方式。将HOST端请求的逻辑页地址和NAND中的物理页地址的对应关系全部存放在内存中。如此每次HOST端有请求时只需用请求的逻辑页地址来检索内存中的映射表,查找出它对应的物理逻辑页地址,直接到对应的NAND物理页中读写相应的页。另外,基于块的映射方式中,每个逻辑块对应一个物理块,对于host端的给出的逻辑块号,查询内存中的块映射表,找到相应的物理块,写到其空闲页中。在页映射和块映射的基础上,提出的混合映射的方法,以块映射方法建立逻辑块和物理块的映射关系,同时对块内数据采用页映射方法组织,主要有FAST和BAST算法。
因为NAND flash的读写单元是页,页映射方法具有很高的灵活性,可以很好的处理随机读写请求,但是需要占用大量的内存空间,对于一个32GB大小的硬盘,就需要64MB的内存大小,随着硬盘容量的增大,所需内存会更大。块映射方法是以块为单位进行地址映射,该方法仅需要在内存中保留快映射表,建立从逻辑块到物理块的映射关系,它最大的优点是内存占有量少,不受闪存容量增大的影响,缺点是在处理小数据更新上性能较差,一小块数据的更新会引起对整个块内容的复制。混合映射方法结合了块映射和页映射的优点,内存占有量小,同时对小数据更新比块映射算法更加灵活,代价少,但在垃圾回收时比较费时,需要频繁的merge原数据和更新数据所占的block,这样会大大增大垃圾回收的操作,造成较低的效率。
综上可知,现有的数据处理系统及方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种数据处理系统及方法,其可以在实现页映射的同时大大减少内存占用量。
为了实现上述目的,本发明提供一种数据处理方法,所述方法包括:
在内存中建立命中页映射表及全局字典表;
接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页;
若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息。
根据本发明的数据处理方法,所述根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息步骤之后进一步包括:
判断所述命中页映射表是否为已满状态;
若所述命中页映射表是已满状态,则根据预设算法删除所述命中页映射表中的一页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表;
若所述命中页映射表是未满状态,则直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。
根据本发明的数据处理方法,设置一缓存区,所述缓存区用于存储所述逻辑页处理请求命令。
根据本发明的数据处理方法,所述根据预设算法删除所述命中页映射表中的一页映射信息项步骤包括:
通过LRU替换算法,并分析所述缓存区中逻辑页处理请求命令即将访问的队列,获取需要删除的所述页映射信息项。
根据本发明的数据处理方法,所述数据的所有页映射信息储存在所述数据存储区。
本发明还提供一种数据处理系统,包括:
建立模块,用于在系统内存中建立命中页映射表及全局字典表;
查找模块,用于接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页;
获取模块,用于所述命中页映射表没有与所述处理请求匹配的所述逻辑页时,根据所述全局字典表获取所述逻辑页对应的映射信息。
根据本发明的数据处理系统,所述系统还包括:
判断模块,用于判断所述命中页映射表是否为已满状态;
第一写入模块,用于所述命中页映射表是已满状态时,根据预设算法删除所述命中页映射表中的一页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表;
第二写入模块,用于所述命中页映射表是未满状态时,直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。
根据本发明的数据处理系统,还包括设置模块,用于设置一缓存区,所述缓存区用于存储所述逻辑页处理请求命令。
根据本发明的数据处理系统,所述数据处理系统为基于固态硬盘的数据处理系统。
根据本发明的数据处理系统,所述固态硬盘的所有页映射信息储存在所述固态硬盘的闪存中。
本发明通过将数据的所有页映射信息储存在所述数据存储区,并在内存中建立命中页映射表及全局字典表,当接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页,若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息。借此,本发明可以在实现页映射的同时大大减少内存占用量。
附图说明
图1是本发明的数据处理系统的结构示意图;
图2是本发明优选实施例的数据处理系统的结构示意图;
图3是本发明一实施例的数据处理系统的逻辑结构示意图;
图4是本发明的数据处理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种数据处理系统,该处理系统100可以为基于固态硬盘的系统。该系统100连接主机端,用于响应主机端的请求,对数据存储区的数据进行读或写操作,其包括建立模块10、查找模块20及获取模块30,具体的:
建立模块10,用于在系统内存中建立命中页映射表及全局字典表。命中页映射表相当于内存中的缓存结构,其储存了主机端命令最常用的页映射信息。全局字典表用于查询所有的页映射信息,优选的,数据的所有页映射信息储存在系统的数据存储区。以固态硬盘为例,所有的页映射信息可储存在其flash介质中。
查找模块20,用于接收到逻辑页(LPA)处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页。若查找到匹配的逻辑页,则直接通过该逻辑页的映射信息查找对应的物理页,并响应主机端的读/写请求,否则交由获取模块30处理。
获取模块30,用于所述命中页映射表没有与所述处理请求匹配的所述逻辑页时,根据所述全局字典表获取所述逻辑页对应的映射信息。获取到相应的逻辑页映射信息后即可对应查找物理页响应主机的命令。
本发明通过将数据的页映射信息保存在数据存储区,内存中仅建立命中页映射表及全局字典表,借此大大减少内存的使用量。
再参见图2所示的实施例中,该实施例与图1相同部分不再赘述,下面仅就不同之处加以说明。
该实施例中,系统100还包括:
设置模块40,用于设置一缓存区,所述缓存区用于缓存主机端发送的逻辑页处理请求命令。通过该缓存区,可以预测主机端即将访问的队列。
判断模块50,用于判断所述命中页映射表是否为已满状态,若已满则交由第一写入模块60处理,否则交由第二写入模块70处理。
第一写入模块60,用于所述命中页映射表是已满状态时,根据预设算法删除所述命中页映射表中的一页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表。具体应用中,系统100通过LRU替换算法,并分析所述缓存区中逻辑页处理请求命令即将访问的队列,获取需要删除的所述页映射信息项。
第二写入模块70,用于所述命中页映射表是未满状态时,直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。借此能有效的避免内存中LPA映射信息的频繁置换。
图3是本发明数据处理系统一具体处理过程的实施例,以固态硬盘为例,该实施例中,Host(主机)端有LPA的W/R(写/读)请求时,查询cached mappingtable(命中页映射表),若在表中有此LPA项,则根据其对应的PPA(物理页地址)项去FLASH介质中进行W/R响应(如表中的lpa1、lpa6、lpa11及lpa17);若cachedmapping table中没有相应的LPA项的信息,且该表中已满,则首先根据LRU算法找到当前表中需要替换出的项(如本图中lpa1为最近最久未被使用的),然后再结合data cache(缓存区)中host端的请求队列(如图3中即将继续有lpa1的请求),综合分析选出要被删除出去的项(本图中最终选择为lpa11项)victim LPA(替换项)。如果victim lpa在cached mapping table中已被修改,则查询global translationtable(全局字典表),找到它所在FLASH中的被存储的位置,复写相应的page。
查询global translation table,找到LPA项的映射信息在FLASH中被存储的位置,读取它的映射信息,写入cached mapping table中victim LPA腾出的空间,方便响应后续的操作命令。
参见图4,本发明提供了一种数据处理方法,其可以通过如图1或图2所示的系统100实现,该方法包括:
步骤S401,在内存中建立命中页映射表及全局字典表。
命中页映射表相当于内存中的缓存结构,其储存了主机端命令最常用的页映射信息。全局字典表用于查询所有的页映射信息,优选的,数据的所有页映射信息储存在系统的数据存储区。以固态硬盘为例,所有的页映射信息可储存在其flash介质中。
步骤S402,接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页。
具体应用中,若查找到匹配的逻辑页,则直接通过该逻辑页的映射信息查找对应的物理页,并响应主机端的读/写请求,否则执行步骤S403。
步骤S403,若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息。
优选的是,本发明的另一实施例中,步骤S403之后进一步包括:
判断所述命中页映射表是否为已满状态;若所述命中页映射表是已满状态,则通过LRU替换算法,并分析所述缓存区中逻辑页处理请求命令即将访问的队列,获取需要删除的所述页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表;若所述命中页映射表是未满状态,则直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。
综上所述,本发明通过将数据的所有页映射信息储存在所述数据存储区,并在内存中建立命中页映射表及全局字典表,当接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页,若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息。借此,本发明可以在实现页映射的同时大大减少内存占用量。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
在内存中建立命中页映射表及全局字典表;
接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页;
若所述命中页映射表没有与所述处理请求匹配的所述逻辑页,则根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述全局字典表从数据存储区获取所述逻辑页对应的映射信息步骤之后进一步包括:
判断所述命中页映射表是否为已满状态;
若所述命中页映射表是已满状态,则根据预设算法删除所述命中页映射表中的一页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表;
若所述命中页映射表是未满状态,则直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。
3.根据权利要求1所述的数据处理方法,其特征在于,设置一缓存区,所述缓存区用于存储所述逻辑页处理请求命令。
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据预设算法删除所述命中页映射表中的一页映射信息项步骤包括:
通过LRU替换算法,并分析所述缓存区中逻辑页处理请求命令即将访问的队列,获取需要删除的所述页映射信息项。
5.根据权利要求1~4任一项所述的数据处理方法,其特征在于,所述数据的所有页映射信息储存在所述数据存储区。
6.一种数据处理系统,其特征在于,包括:
建立模块,用于在系统内存中建立命中页映射表及全局字典表;
查找模块,用于接收到逻辑页处理请求命令时,从所述命中页映射表查找与所述处理请求命令匹配的逻辑页;
获取模块,用于所述命中页映射表没有与所述处理请求匹配的所述逻辑页时,根据所述全局字典表获取所述逻辑页对应的映射信息。
7.根据权利要求6所述的数据处理系统,其特征在于,所述系统还包括:
判断模块,用于判断所述命中页映射表是否为已满状态;
第一写入模块,用于所述命中页映射表是已满状态时,根据预设算法删除所述命中页映射表中的一页映射信息项,并将所述获取到的逻辑页对应的页映射信息写入到所述命中映射表;
第二写入模块,用于所述命中页映射表是未满状态时,直接将所述获取的逻辑页对应的页映射信息写入到所述命中映射表。
8.根据权利要求7所述的数据处理系统,其特征在于,还包括设置模块,用于设置一缓存区,所述缓存区用于存储所述逻辑页处理请求命令。
9.根据权利要求6~8任一项所述的数据处理系统,其特征在于,所述数据处理系统为基于固态硬盘的数据处理系统。
10.根据权利要求9所述的数据处理系统,其特征在于,所述固态硬盘的所有页映射信息储存在所述固态硬盘的闪存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105899058A CN103077119A (zh) | 2012-12-31 | 2012-12-31 | 数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105899058A CN103077119A (zh) | 2012-12-31 | 2012-12-31 | 数据处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103077119A true CN103077119A (zh) | 2013-05-01 |
Family
ID=48153651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105899058A Pending CN103077119A (zh) | 2012-12-31 | 2012-12-31 | 数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077119A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及系统 |
CN104021203A (zh) * | 2014-06-17 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 一种用于访问网页的方法及装置 |
CN104268094A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种优化的闪存地址映射方法 |
CN106326146A (zh) * | 2015-06-29 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN106775466A (zh) * | 2016-12-05 | 2017-05-31 | 深圳市金泰克半导体有限公司 | 一种无dram的ftl读缓存管理方法及装置 |
CN108228471A (zh) * | 2016-12-14 | 2018-06-29 | 旺宏电子股份有限公司 | 管理存储器装置中存储器单元的实体信息的方法及系统 |
CN108491335A (zh) * | 2018-03-30 | 2018-09-04 | 北京联想核芯科技有限公司 | 处理映射表项的方法、装置、设备及介质 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005270A1 (en) * | 2008-03-07 | 2010-01-07 | Via Technologies, Inc. | Storage unit management methods and systems |
CN101833519A (zh) * | 2009-03-12 | 2010-09-15 | 安凯(广州)软件技术有限公司 | 一种减少存储技术设备中地址映射表常驻内存的方法 |
-
2012
- 2012-12-31 CN CN2012105899058A patent/CN103077119A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005270A1 (en) * | 2008-03-07 | 2010-01-07 | Via Technologies, Inc. | Storage unit management methods and systems |
CN101833519A (zh) * | 2009-03-12 | 2010-09-15 | 安凯(广州)软件技术有限公司 | 一种减少存储技术设备中地址映射表常驻内存的方法 |
Non-Patent Citations (1)
Title |
---|
AAYUSH GUPTA等: "DFTL:A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings", 《SIGPLAN NOTICES》, vol. 44, no. 4, 30 April 2009 (2009-04-30), pages 229 - 240 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678166A (zh) * | 2013-08-16 | 2014-03-26 | 记忆科技(深圳)有限公司 | 一种采用固态硬盘作为计算机高速缓存的实现方法及系统 |
CN104021203A (zh) * | 2014-06-17 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 一种用于访问网页的方法及装置 |
CN104268094A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种优化的闪存地址映射方法 |
CN104268094B (zh) * | 2014-09-23 | 2017-05-03 | 浪潮电子信息产业股份有限公司 | 一种优化的闪存地址映射方法 |
CN106326146A (zh) * | 2015-06-29 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN106326146B (zh) * | 2015-06-29 | 2019-05-14 | 上海华虹集成电路有限责任公司 | 检查高速缓存是否命中的方法 |
CN106775466A (zh) * | 2016-12-05 | 2017-05-31 | 深圳市金泰克半导体有限公司 | 一种无dram的ftl读缓存管理方法及装置 |
CN108228471A (zh) * | 2016-12-14 | 2018-06-29 | 旺宏电子股份有限公司 | 管理存储器装置中存储器单元的实体信息的方法及系统 |
CN108491335A (zh) * | 2018-03-30 | 2018-09-04 | 北京联想核芯科技有限公司 | 处理映射表项的方法、装置、设备及介质 |
CN108491335B (zh) * | 2018-03-30 | 2020-12-29 | 深圳忆联信息系统有限公司 | 处理映射表项的方法、装置、设备及介质 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN112486861B (zh) * | 2020-11-30 | 2024-05-14 | 深圳忆联信息系统有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077119A (zh) | 数据处理系统及方法 | |
CN101477492B (zh) | 一种用于固态硬盘的循环重写闪存均衡方法 | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
US9378131B2 (en) | Non-volatile storage addressing using multiple tables | |
US9223702B2 (en) | Systems and methods for read caching in flash storage | |
US9235346B2 (en) | Dynamic map pre-fetching for improved sequential reads of a solid-state media | |
KR101446832B1 (ko) | 메모리 맵핑 기술 | |
CN102511044B (zh) | 一种数据删除方法及装置 | |
CN103270500B (zh) | 事务日志恢复 | |
KR101453313B1 (ko) | 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템 | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
CN107368436B (zh) | 一种联合地址映射表的闪存冷热数据分离存储方法 | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
CN104166634A (zh) | 一种固态盘系统中的映射表缓存管理方法 | |
US20170139825A1 (en) | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach | |
CN104424110B (zh) | 固态驱动器的主动回收 | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
CN109446117B (zh) | 一种固态硬盘页级闪存转换层设计方法 | |
US20140047164A1 (en) | Physically Addressed Solid State Disk Employing Magnetic Random Access Memory (MRAM) | |
KR20100115090A (ko) | 버퍼를 고려한 가비지 컬렉션 기법 | |
CN103677670A (zh) | 读数据的方法及装置 | |
US20140258591A1 (en) | Data storage and retrieval in a hybrid drive | |
CN110321081B (zh) | 一种闪存读缓存的方法及其系统 | |
CN111737160A (zh) | 存储管理中多个副本的优化处理 | |
US20140047161A1 (en) | System Employing MRAM and Physically Addressed Solid State Disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130501 |