CN103744864A - 缓存数据读写的方法、***及其固态硬盘 - Google Patents
缓存数据读写的方法、***及其固态硬盘 Download PDFInfo
- Publication number
- CN103744864A CN103744864A CN201310695547.3A CN201310695547A CN103744864A CN 103744864 A CN103744864 A CN 103744864A CN 201310695547 A CN201310695547 A CN 201310695547A CN 103744864 A CN103744864 A CN 103744864A
- Authority
- CN
- China
- Prior art keywords
- hard disc
- solid state
- buffered
- read
- buffer memory
- 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
Classifications
-
- 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/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明适用于存储技术领域,提供了一种缓存数据读写的方法及其固态硬盘,所述方法包括:列表建立步骤:建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;读取步骤:接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。借此,本发明实现了提高缓存数据读写速率,节省了***内存空间。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种缓存数据读写的方法、***及其固态硬盘。
背景技术
固态硬盘作为一种高速的存储介质被广泛的应用于各种场合。同时由于闪存的单位成本较高,所以固态硬盘往往是用作机械硬盘或者存储阵列的缓存。传统的固态硬盘缓存***在实现时需要维护一个被缓存硬盘地址到缓存硬盘地址之间的映射表,当用户访问被缓存硬盘时,就会从该映射表中查询被访问地址是否被缓存在缓存硬盘中。如果查询到有被缓存,则缓存***将该访问重定向到缓存盘中。由于缓存硬盘一般选用固态硬盘,被缓存硬盘通常为机械硬盘。因此其读写速度远高于被缓存硬盘,所以固态硬盘缓存***能大幅度提升整个***的读写速度。固态硬盘由于其特殊的存储介质,使得主机***访问固态硬盘时,必须通过该硬盘中的固件程序将主机***的逻辑磁盘地址转换成物理上的存储地址,固态硬盘固件中的闪存转换层维护着逻辑地址到物理地址的转换关系表,主机***对物理介质的访问都需要通过该表来转换。
在现有技术中,固态硬盘缓存***会维护被缓存机械硬盘地址到缓存固态硬盘地址的一个映射关系,同时固态硬盘固件中的闪存转换层维护了固态硬盘逻辑地址到闪存阵列物理地址的映射关系,这样缓存***在查询数据时首先通过被缓存机械硬盘地址查表得到缓存固态硬盘的地址,即闪存转换层使用的逻辑地址,然后查表通过固态硬盘的逻辑地址得到闪存阵列的物理地址,两次查表会影响缓存***的性能,同时两级映射也较大的占用了计算机内存。
参见图1,现有固态硬盘缓存***实现方法通常是维护一个被缓存盘地址到缓存盘地址地址映射表,当上层软件访问被缓存盘的S0地址时,缓存***会在该映射表中查询,发现映射到缓存盘的L0地址,这样缓存***就会访问缓存盘的L0地址,得到数据。由于被缓存硬盘一般是机械硬盘,缓存硬盘一般是高速的固态硬盘,这样用户需要访问被缓存机械硬盘时,缓存***将访问重定向到缓存机械硬盘,能大大的提高整个***的数据访问速度。
参见图2,由于固态硬盘通常使用的闪存(NAND Flash)的物理特性(需要先擦除后写入,无法实现本地更新)的限制,固态硬盘需要维护一个硬盘逻辑地址到闪存阵列物理地址的映射表,从而向用户屏蔽闪存介质的物理特性。在使用过程中,如果用户访问逻辑地址L0,闪存转换层通过查表得到L0映射到P0,将物理地址P0存放的数据返回给用户。
综上可知,现有的缓存数据读写技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种缓存数据读写的方法、***及其固态硬盘,以提高缓存数据读写速率,节省***内存空间。
为了实现上述发明目的,本发明提供了一种缓存数据读写的方法,包括:
列表建立步骤:建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读取步骤:接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
根据所述的方法,所述列表建立的步骤包括:
根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表。
根据所述的方法,在所述列表建立步骤之后还包括:
存储步骤:将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写所述被缓存硬盘数据的***的内存。
根据所述的方法,所述被缓存硬盘为固态硬盘或者机械硬盘。
根据所述的方法,在所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
为了实现本发明的另一发明目的,本发明还提供了一种缓存数据读写的***,包括:
列表建立模块,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读写模块,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
根据所述的***,所述列表建立模块根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表;
所述***还包括:
存储模块,用于将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写所述被缓存硬盘数据的***的内存。
根据所述的***,所述被缓存硬盘为固态硬盘或者机械硬盘。
根据所述的***,在所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
为了实现本发明的另一发明目的,本发明还提供了一种包括上述任一项所述***的固态硬盘,所述固态硬盘包括:
列表建立模块,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读取模块,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
本发明通过建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;然后接收对所述被缓存硬盘数据的读写请求时查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。由此,可以将缓存固态硬盘在闪存转换层使用的逻辑地址到物理地址映射表,与被缓存硬盘地址到缓存固态硬盘的地址映射表结合到一起,在进行缓存数据的读写时,将能够快速的进行相应缓存物理地址的查询,提高缓存数据读写的***的效率,并且节省大量的内存空间。
附图说明
图1是现有技术中固态硬盘缓存***使用的被缓存硬盘地址到缓存硬盘地址映射关系示意图;
图2是现有技术中固态硬盘固件闪存转换层地址映射关系示意图;
图3是本发明第一实施例提供的缓存数据读写的***的结构示意图;
图4是本发明第二实施例提供的缓存数据读写的***的结构示意图;
图5是本发明第三实施例提供的固态硬盘的结构示意图;
图6是本发明第二实施例提供的映射关系列表示意图;
图7是本发明的第四实施例中提供的缓存数据读写的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图3,在本发明的第一实施例中提供了一种缓存数据读写的***100,包括:
列表建立模块10,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读写模块20,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
在该实施例中,首先由列表建立模块10将被缓存盘地址到缓存盘地址的映射表与固态硬盘闪存转换层使用的逻辑地址和物理地址的映射表合并到一起,建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表。该映射关系列表如图6所示。然后,在接收到对所述被缓存硬盘数据的读写请求时,将查询所述映射关系列表,快速的获知被缓存硬盘数据的地址对应的缓存硬盘的物理地址。由此,可以快速在该物理地址下读写相关的数据,提高了处理被缓存数据的效率。所述被缓存硬盘为固态硬盘或者机械硬盘。并且在所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
参见图4,在本发明的第二实施例中,列表建立模块10根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表;
在该实施例中,在图6中所示的映射关系列表通过将图1和图2的两个映射表关系进行合并。直接维护一个被缓存机械硬盘地址到闪存阵列物理地址,就可以提高地址查询速度,也大幅度减少对计算机内存的需求。由此,当用户访问被缓存硬盘地址S0,缓存数据读写的***100查询一次映射关系列表就可以将该访问重定向到闪存阵列地址P0,减少了查表时间,也大大降低了映射表对主机内存的需求。避免了在传统被缓存硬盘数据的读写过程中,存在两个映射表,当用户访问被缓存盘地址S0时,通过查找映射表将该访问重定向到缓存盘地址L0,缓存硬盘的闪存转换层通过查找映射表将该访问再次重定向到闪存阵列地址P0的情况,提高缓存数据读写的***100的效率,并且节省大量的内存空间。
此外,缓存数据读写的***100还包括:
存储模块30,用于将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写所述被缓存硬盘数据的***100的内存。
通过存储模块30将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层,由此可以通过高速的所述缓存固态硬盘的读取效率,快速查询该映射关系列表。当然,优选的是将所述映射关系列表存储于所述被缓存硬盘数据的***100的内存中,由此能够提高缓存数据读写的***100的工作效率。
参见图5,在本发明的第三实施例中,还提供了包括上述任一个***的固态硬盘200,固态硬盘200包括:
列表建立模块10,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读取模块20,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
在上述多个实施例中,已经对缓存数据读写的***100的具体结构进行了描述,因此,在此对于包含该***的固态硬盘200的具体结构不再赘述。固态硬盘200可以作为所述缓存固态硬盘。
参见图7,在本发明的第四实施例中,提供一种缓存数据读写的方法,包括:
步骤S701中,列表建立模块10建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;该步骤为列表建立步骤。
步骤S702中,读写模块20接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。该步骤为读写步骤。
在该实施例中,缓存数据读写的***100为通过高速固态硬盘作为低速机械硬盘的读写缓存的***。首先缓存数据读写的***100中的列表建立模块10将被缓存硬盘地址到缓存盘地址的映射表和固态硬盘使用的逻辑地址到物理地址映射表合二为一。在该缓存数据读写的***100运行的计算机***中的硬盘采用固态硬盘,固态硬盘保存被缓存硬盘的热点数据,通过固态硬盘的高速读写特性来提高整个***的性能。由于,使用的被缓存硬盘的地址到缓存固态硬盘的地址间映射表,与固态硬盘的闪存转换层使用的逻辑地址到物理地址映射表结合在一起,可以减少数据缓存过程中查表操作的同时,降低这两个映射表对计算机内存的需求。在读写模块20接收对所述被缓存硬盘数据的读写请求时,读写模块20查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。在该实施例中,所述被缓存硬盘为固态硬盘或者机械硬盘。所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
在本发明的第五实施例中,所述步骤S701包括:
列表建立模块10根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表。并且,在所步骤S701之后还包括:
存储模块30将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写被缓存硬盘数据的***100的内存。该步骤为存储步骤。由于可以在缓存数据读写时,读写模块20可以从被缓存硬盘数据的***100的内存读取映射关系列表,因此使固态硬盘缓存***更高效、更节省计算机内存。
综上所述,本发明通过建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;然后接收对所述被缓存硬盘数据的读写请求时查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。由此,可以将缓存固态硬盘在闪存转换层使用的逻辑地址到物理地址映射表,与被缓存硬盘地址到缓存固态硬盘的地址映射表结合到一起,在进行缓存数据的读写时,将能够快速的进行相应缓存物理地址的查询,提高缓存数据读写的***的效率,并且节省大量的内存空间。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种缓存数据读写的方法,其特征在于,包括:
列表建立步骤:建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读取步骤:接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
2.根据权利要求1所述的方法,其特征在于,所述列表建立的步骤包括:
根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表。
3.根据权利要求2所述的方法,其特征在于,在所述列表建立步骤之后还包括:
存储步骤:将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写所述被缓存硬盘数据的***的内存。
4.根据权利要求1所述的方法,其特征在于,所述被缓存硬盘为固态硬盘或者机械硬盘。
5.根据权利要求4所述的方法,其特征在于,在所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
6.一种缓存数据读写的***,其特征在于,包括:
列表建立模块,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读写模块,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
7.根据权利要求6所述的***,其特征在于,所述列表建立模块根据所述被缓存硬盘地址与所述缓存固态硬盘的逻辑地址映射关系,以及所述缓存固态硬盘的逻辑地址与所述缓存固态硬盘的物理地址的映射关系,建立所述映射关系列表;
所述***还包括:
存储模块,用于将所述映射关系列表存储于所述缓存固态硬盘的闪存转换层或者存储于读写所述被缓存硬盘数据的***的内存。
8.根据权利要求6所述的***,其特征在于,所述被缓存硬盘为固态硬盘或者机械硬盘。
9.根据权利要求8所述的***,其特征在于,在所述被缓存硬盘为固态硬盘时,所述缓存固态硬盘的读写速率高于所述被缓存硬盘的读写速率。
10.一种包括权利要求6~9任一项所述***的固态硬盘,其特征在于,所述固态硬盘包括:
列表建立模块,用于建立被缓存硬盘地址与缓存固态硬盘的物理地址的映射关系列表;
读取模块,用于接收对所述被缓存硬盘数据的读写请求,查询所述映射关系列表,在对应的所述缓存硬盘的物理地址读写所述被缓存硬盘数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695547.3A CN103744864A (zh) | 2013-12-17 | 2013-12-17 | 缓存数据读写的方法、***及其固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695547.3A CN103744864A (zh) | 2013-12-17 | 2013-12-17 | 缓存数据读写的方法、***及其固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103744864A true CN103744864A (zh) | 2014-04-23 |
Family
ID=50501882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695547.3A Pending CN103744864A (zh) | 2013-12-17 | 2013-12-17 | 缓存数据读写的方法、***及其固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744864A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980469A (zh) * | 2017-03-07 | 2017-07-25 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘顺序写缓存效率的方法 |
CN110442533A (zh) * | 2019-07-18 | 2019-11-12 | 合肥杰发科技有限公司 | 一种提高访问性能的方法、设备及存储介质 |
CN110781107A (zh) * | 2019-09-16 | 2020-02-11 | 北京领芯迅飞科技有限公司 | 基于dram接口的低延迟融合io控制方法和装置 |
CN111694764A (zh) * | 2020-05-29 | 2020-09-22 | 四川效率源信息安全技术股份有限公司 | 一种故障固态硬盘的数据读取方法 |
CN116010298A (zh) * | 2023-03-24 | 2023-04-25 | 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) | Nand型闪存地址映射的方法、装置、电子设备及存储介质 |
-
2013
- 2013-12-17 CN CN201310695547.3A patent/CN103744864A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980469A (zh) * | 2017-03-07 | 2017-07-25 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘顺序写缓存效率的方法 |
CN110442533A (zh) * | 2019-07-18 | 2019-11-12 | 合肥杰发科技有限公司 | 一种提高访问性能的方法、设备及存储介质 |
CN110781107A (zh) * | 2019-09-16 | 2020-02-11 | 北京领芯迅飞科技有限公司 | 基于dram接口的低延迟融合io控制方法和装置 |
CN111694764A (zh) * | 2020-05-29 | 2020-09-22 | 四川效率源信息安全技术股份有限公司 | 一种故障固态硬盘的数据读取方法 |
CN111694764B (zh) * | 2020-05-29 | 2023-03-14 | 四川效率源信息安全技术股份有限公司 | 一种故障固态硬盘的数据读取方法 |
CN116010298A (zh) * | 2023-03-24 | 2023-04-25 | 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) | Nand型闪存地址映射的方法、装置、电子设备及存储介质 |
CN116010298B (zh) * | 2023-03-24 | 2023-09-22 | 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) | Nand型闪存地址映射的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111033477B (zh) | 逻辑到物理映射 | |
US9298384B2 (en) | Method and device for storing data in a flash memory using address mapping for supporting various block sizes | |
EP3121703B1 (en) | Data caching method, cache and computer system | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
CN102521147B (zh) | 一种使用高速非易失介质做缓存的管理方法 | |
CN103176916B (zh) | 闪存及闪存的地址转换方法 | |
CN104166634A (zh) | 一种固态盘***中的映射表缓存管理方法 | |
US10740251B2 (en) | Hybrid drive translation layer | |
CN103543955A (zh) | 利用固态硬盘作为设备读缓存的方法、***及固态硬盘 | |
CN103744864A (zh) | 缓存数据读写的方法、***及其固态硬盘 | |
CN101645043B (zh) | 写数据的方法、读数据的方法及存储设备 | |
CN102789427A (zh) | 数据储存装置与其操作方法 | |
CN105117180A (zh) | 一种数据存储方法和装置以及固态硬盘 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件*** | |
CN107368436A (zh) | 一种联合地址映射表的闪存冷热数据分离存储方法 | |
CN103198021B (zh) | 一种提高固态硬盘数据传输效率的方法 | |
CN105005510B (zh) | 应用于固态硬盘阻变存储器缓存的纠错保护架构及方法 | |
CN102063386B (zh) | 一种单载体多目标的缓存***的缓存管理方法 | |
CN105095113A (zh) | 一种缓存管理方法和*** | |
CN109739696B (zh) | 一种双控存储阵列固态硬盘缓存加速方法 | |
CN110262982A (zh) | 一种固态硬盘地址映射的方法 | |
CN106527987A (zh) | 一种不带dram的ssd主控可靠性提升***及方法 | |
CN115794669A (zh) | 一种扩展内存的方法、装置及相关设备 | |
CN109388341A (zh) | 一种基于Device Mapper的***存储优化方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20140423 |