CN108268380A - 一种读写数据的方法和装置 - Google Patents
一种读写数据的方法和装置 Download PDFInfo
- Publication number
- CN108268380A CN108268380A CN201611265830.2A CN201611265830A CN108268380A CN 108268380 A CN108268380 A CN 108268380A CN 201611265830 A CN201611265830 A CN 201611265830A CN 108268380 A CN108268380 A CN 108268380A
- Authority
- CN
- China
- Prior art keywords
- address
- mapping
- data
- node
- region
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明实施例提供一种读写数据的方法和装置,写数据的方法包括:接收写数据请求;写数据请求包括待写数据和待写数据对应的逻辑区域;将待写数据存储至NAND闪存系统中的至少一个物理块区域;建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。本发明实施例可以实现基于映射节点的映射表,不仅有效减小了映射表的大小,节省了维护映射表的成本,还可以很好地平衡不同长度数据访问时查找映射地址的性能和稳定性,降低了映射方法对应用的依赖性。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种写数据的方法、一种写数据的装置、一种读数据的方法和一种读数据的装置。
背景技术
NAND闪存系统的地址映射方法,从早期的块映射方法和混合映射方法,发展到目前主流采用的页映射方法及最新的4KB映射方法。
但是,现有的各种映射方法对应用存在较强的依赖性,也就是说,每种映射方法针对特定的应用具有较好的优越性,针对另一个应用却具有较差的实际效果。例如,块映射方法和混合映射方法对大数据访问可以提供较高性能和稳定性的支持,但对小粒度的数据访问会有两极分化的表现;页映射方法和4KB映射方法虽然具有较好的小数据访问性能,但是相对块映射方法和混合映射方法而言,在大数据访问时的稳定性较差。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种写数据的方法、一种写数据的装置、一种读数据的方法和一种读数据的装置,以解决现有的各种映射方法对应用存在强依赖性的问题。
为了解决上述问题,本发明实施例公开了一种写数据的方法,应用于NAND闪存系统,包括:接收写数据请求;所述写数据请求包括待写数据和所述待写数据对应的逻辑区域;将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域;建立每个所述物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
可选地,所述将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域,包括:根据所述待写数据的长度确定用于存储所述待写数据的至少一个物理块区域。
为了解决上述问题,本发明实施例还公开了一种读数据的方法,应用于NAND闪存系统,包括:接收读数据请求;所述读数据请求包括待读逻辑区域;根据所述待读逻辑区域的首地址和所述待读逻辑区域的末地址确定所述读数据请求需调用的各映射节点;所述映射节点为映射表中物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系;按所述待读逻辑区域对应逻辑地址的顺序,依次从所述待读逻辑区域的首地址对应映射节点中的物理地址开始,至所述待读逻辑区域的末地址对应映射节点中的物理地址,读取所述读数据请求需调用的各映射节点中物理块区域的数据。
可选地,确定所述读数据请求需调用的各映射节点,包括:根据所述待读逻辑区域的首地址和末地址遍历所述映射表中所有映射节点的逻辑块首地址,以确定所述待读逻辑区域的首地址对应的首映射节点、所述待读逻辑区域的末地址对应的末映射节点、以及所述首映射节点和所述末映射节点之间的映射节点。
可选地,确定所述待读逻辑区域的首地址对应映射节点中的物理地址,包括:根据所述待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的首地址对应映射节点中的物理地址。
可选地,确定所述待读逻辑区域的末地址对应映射节点中的物理地址,包括:根据所述待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的末地址对应映射节点中的物理地址。
为了解决上述问题,本发明实施例还公开了一种写数据的装置,应用于NAND闪存系统,包括:第一接收模块,用于接收写数据请求;所述写数据请求包括待写数据和所述待写数据对应的逻辑区域;存储模块,用于将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域;映射建立模块,用于建立每个所述物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
可选地,所述存储模块包括:存储区域确定单元,用于根据所述待写数据的长度确定用于存储所述待写数据的至少一个物理块区域。
为了解决上述问题,本发明实施例还公开了一种读数据的装置,应用于NAND闪存系统,包括:第二接收模块,用于接收读数据请求;所述读数据请求包括待读逻辑区域;节点确定模块,用于根据所述待读逻辑区域的首地址和所述待读逻辑区域的末地址确定所述读数据请求需调用的各映射节点;所述映射节点为映射表中物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系;数据读取模块,用于按所述待读逻辑区域对应逻辑地址的顺序,依次从所述待读逻辑区域的首地址对应映射节点中的物理地址开始,至所述待读逻辑区域的末地址对应映射节点中的物理地址,读取所述读数据请求需调用的各映射节点中物理块区域的数据。
可选地,所述节点确定模块包括:遍历单元,用于根据所述待读逻辑区域的首地址和末地址遍历所述映射表中所有映射节点的逻辑块首地址,以确定所述待读逻辑区域的首地址对应的首映射节点、所述待读逻辑区域的末地址对应的末映射节点、以及所述首映射节点和所述末映射节点之间的映射节点。
可选地,所述数据读取模块包括:第一确定单元,用于根据所述待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的首地址对应映射节点中的物理地址。
可选地,所述数据读取模块包括:第二确定单元,用于根据所述待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的末地址对应映射节点中的物理地址。
本发明实施例包括以下优点:在写数据时,通过将待写数据存储至NAND闪存系统中的至少一个物理块区域,并建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。这样,由于实现了基于映射节点的映射表,不仅有效减小了映射表的大小,节省了维护映射表的成本,在读数据时,还可以很好地平衡不同长度数据访问时查找映射表中映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
附图说明
图1是本发明的一种写数据的方法实施例的步骤流程图;
图2是本发明的一种读数据的方法实施例的步骤流程图;
图3是本发明的另一种读数据的方法实施例的步骤流程图;
图4是本发明的一种写数据的装置实施例的结构框图;
图5是本发明的一种读数据的装置实施例的结构框图;
图6是本发明的另一种读数据的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,其示出了本发明的一种写数据的方法实施例的步骤流程图,该写数据的方法可以应用于NAND闪存系统,该写数据的方法具体可以包括如下步骤:
步骤S10,接收写数据请求;写数据请求可以包括待写数据和待写数据对应的逻辑区域。
其中,待写数据可以为任意类型的数据。
步骤S20,将待写数据存储至NAND闪存系统中的至少一个物理块区域。
步骤S30,建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
需要说明的是,步骤S20中,每个物理块区域的物理地址连续,物理块区域的大小和对应逻辑块的大小相同,且物理块区域的首地址与对应逻辑块的首地址为一一对应关系。
其中,在步骤S20之前,至少一个物理块区域可以为空闲区域,每个物理块区域的物理地址连续,此时,步骤S20可以直接将待写数据存储至至少一个物理块区域。或者,至少一个物理块区域中存在数据且数据为无效数据,此时,步骤S20可以清除至少一个物理块区域中的数据,进而将待写数据存储至至少一个物理块区域。
具体地,至少一个物理块区域中每个物理块区域用于存储待写数据的一部分数据,且每个物理块区域存储的数据不同。
可选地,在本发明的一个实施例中,步骤S20将待写数据存储至NAND闪存系统中的至少一个物理块区域,可以包括:
根据待写数据的长度确定用于存储待写数据的至少一个物理块区域。
具体地,当确定用于存储待写数据的至少一个物理块区域为一个时,则物理块区域的大小等于待写数据的长度,步骤S20可以将待写数据存储至该物理块区域;当确定用于存储待写数据的至少一个物理块区域为多个时,则该多个物理块区域的总大小等于该待写数据的长度,步骤S20可以将待写数据存储至该多个物理块区域。实现灵活存储待写数据。
例如,当待写数据的长度为100时,若确定用于存储待写数据的物理块区域的大小为100,则步骤S20可以将待写数据存储至该大小为100的物理块区域,步骤S30建立该大小为100的物理块区域的首地址和长度,与该物理块区域中存储数据对应逻辑块的首地址之间的映射关系;当待写数据的长度为100时,若确定用于存储待写数据的三个物理块区域的大小分别为50、30和20,则步骤S20可以将待写数据存储至该三个物理块区域,步骤S30建立大小为50的物理块区域的首地址和长度,与该大小为50物理块区域中存储数据对应逻辑块的首地址之间的映射关系;建立该大小为30的物理块区域的首地址和长度,与该大小为30的物理块区域中存储数据对应逻辑块的首地址之间的映射关系;建立该大小为20的物理块区域的首地址和长度,与该大小为20的物理块区域中存储数据对应逻辑块的首地址之间的映射关系。
本发明实施例一包括以下优点:在写数据时,根据待写数据的长度确定NAND闪存系统中用于存储待写数据的至少一个物理块区域,并将待写数据存储至该至少一个物理块区域,进而建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。这样,由于实现了基于映射节点的映射表,不仅有效减小了映射表的大小,节省了维护映射表的成本,便于在读数据时,很好地平衡不同长度数据访问时查找映射表中映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
实施例二
参照图2,其示出了本发明的一种读数据的方法实施例的步骤流程图,该读数据的方法可以应用于NAND闪存系统,该读数据的方法可以包括:
步骤S101,接收读数据请求;读数据请求包括待读逻辑区域。
步骤S201,根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点;映射节点为映射表中物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系。
其中,当待读逻辑区域的首地址和待读逻辑区域的末地址在同一映射节点内时,读数据请求只需调用该映射节点。例如,当待读逻辑区域的首地址为20,待读逻辑区域的末地址为50时,若一映射节点内逻辑地址的范围为0~99,此时,待读逻辑区域的首地址和待读逻辑区域的末地址在该映射节点内。
当待读逻辑区域的首地址和待读逻辑区域的末地址在不同映射节点内时,读数据请求需调用至少两个映射节点。例如,当待读逻辑区域的首地址为20,待读逻辑区域的末地址为120时,若第一映射节点内逻辑地址的范围为0~99,第二映射节点内逻辑地址的范围为100~150,此时,待读逻辑区域的首地址在第一映射节点内,待读逻辑区域的末地址在第二映射节点内,读数据请求需调用第一映射节点和第二映射节点。
步骤S301,按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。
步骤S301按待读逻辑区域对应逻辑地址的顺序依次读取数据,可以保证用户获得数据时的用户体验。
本发明实施例二包括以下优点:在读数据时,先根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点,进而按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。这样,在读数据时,只需查找映射表中待读逻辑区域对应的各映射节点,相比于现有技术,可以很好地平衡不同长度数据访问时查找映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
实施例三
参照图3,其示出了本发明的另一种读数据的方法实施例的步骤流程图,该读数据的方法可以应用于NAND闪存系统,该读数据的方法可以包括:
步骤S110,接收读数据请求;读数据请求包括待读逻辑区域。
步骤S210,根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点;映射节点为映射表中物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系。
具体地,在本发明的一个实施例中,步骤S210确定读数据请求需调用的各映射节点,可以包括:
步骤S211,根据待读逻辑区域的首地址和末地址遍历映射表中所有映射节点的逻辑块首地址,以确定待读逻辑区域的首地址对应的首映射节点、待读逻辑区域的末地址对应的末映射节点、以及首映射节点和末映射节点之间的映射节点。
其中,首映射节点、末映射节点、首映射节点和末映射节点之间的映射节点为连续映射节点。
具体地,当待读逻辑区域的首地址等于一映射节点的首地址时,则待读逻辑区域的首地址对应的首映射节点即为该映射节点;当待读逻辑区域的首地址大于一映射节点的首地址,且待读逻辑区域的首地址小于该映射节点的下一映射节点的首地址时,则待读逻辑区域的首地址对应的首映射节点即为该映射节点。
具体地,当待读逻辑区域的末地址等于一映射节点的首地址时,则待读逻辑区域的末地址对应的末映射节点即为该映射节点;当待读逻辑区域的末地址大于一映射节点的首地址,且待读逻辑区域的末地址小于该映射节点的下一映射节点的首地址时,则待读逻辑区域的末地址对应的末映射节点即为该映射节点。
步骤S310,按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。
具体地,在本发明的一个实施例中,步骤S310确定待读逻辑区域的首地址对应映射节点中的物理地址,可以包括:
步骤S311,根据待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定待读逻辑区域的首地址对应映射节点中的物理地址。
具体地,由于物理块区域的首地址和对应逻辑块的首地址一一对应,物理块区域的大小和对应逻辑块的大小相同,因此,步骤S311根据待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,即可确定待读逻辑区域的首地址对应映射节点中的物理地址。
具体地,在本发明的一个实施例中,步骤S310确定待读逻辑区域的末地址对应映射节点中的物理地址,可以包括:
步骤S312,根据待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定待读逻辑区域的末地址对应映射节点中的物理地址。
具体地,由于物理块区域的首地址和对应逻辑块的首地址一一对应,物理块区域的大小和对应逻辑块的大小相同,因此,步骤S312根据待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,即可确定待读逻辑区域的末地址对应映射节点中的物理地址。
其中,步骤S311和步骤S312可以同时执行或先后执行。
本发明实施例三包括以下优点:在读数据时,先根据待读逻辑区域的首地址和末地址遍历映射表中所有映射节点的逻辑块首地址,以确定待读逻辑区域的首地址对应的首映射节点、待读逻辑区域的末地址对应的末映射节点、以及首映射节点和末映射节点之间的映射节点,进而按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。这样,在读数据时,只需查找映射表中待读逻辑区域对应的各映射节点、待读逻辑区域的首地址对应映射节点中的物理地址和待读逻辑区域的末地址对应映射节点中的物理地址即可实现查找映射地址,相比于现有技术,可以很好地平衡不同长度数据访问时查找映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
参照图4,其示出了本发明的一种写数据的装置实施例的结构框图,该写数据的装置可以应用于NAND闪存系统,该写数据的装置具体可以包括如下模块:
第一接收模块10,用于接收写数据请求;写数据请求包括待写数据和待写数据对应的逻辑区域。
存储模块20,用于将待写数据存储至NAND闪存系统中的至少一个物理块区域。
映射建立模块30,用于建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
可选地,在本发明的一个实施例中,存储模块20可以包括:
存储区域确定单元,用于根据待写数据的长度确定用于存储待写数据的至少一个物理块区域。
本发明实施例四包括以下优点:在写数据时,存储模块根据第一接收模块接收的待写数据的长度,确定NAND闪存系统中用于存储待写数据的至少一个物理块区域,并将待写数据存储至该至少一个物理块区域,进而映射建立模块建立每个物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。这样,由于实现了基于映射节点的映射表,不仅有效减小了映射表的大小,节省了维护映射表的成本,便于在读数据时,很好地平衡不同长度数据访问时查找映射表中映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
实施例五
参照图5,其示出了本发明的一种读数据的装置实施例的结构框图,该读数据的装置可以应用于NAND闪存系统,该读数据的装置具体可以包括如下模块:
第二接收模块101,用于接收读数据请求;读数据请求包括待读逻辑区域。
节点确定模块201,用于根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点;映射节点为映射表中物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系。
数据读取模块301,用于按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。
本发明实施例五包括以下优点:在读数据时,节点确定模块先根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点,进而数据读取模块按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。这样,在读数据时,只需查找映射表中待读逻辑区域对应的各映射节点,相比于现有技术,可以很好地平衡不同长度数据访问时查找映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
实施例六
参照图6,其示出了本发明的另一种读数据的装置实施例的结构框图,该读数据的装置可以应用于NAND闪存系统,该读数据的装置具体可以包括如下模块:
第二接收模块110,用于接收读数据请求;读数据请求包括待读逻辑区域。
节点确定模块210,用于根据待读逻辑区域的首地址和待读逻辑区域的末地址确定读数据请求需调用的各映射节点;映射节点为映射表中物理块区域的首地址和长度,与物理块区域中存储数据对应逻辑块的首地址之间的映射关系。
可选地,在本发明的一个实施例中,节点确定模块210可以包括:
遍历单元211,用于根据待读逻辑区域的首地址和末地址遍历映射表中所有映射节点的逻辑块首地址,以确定待读逻辑区域的首地址对应的首映射节点、待读逻辑区域的末地址对应的末映射节点、以及首映射节点和末映射节点之间的映射节点。
数据读取模块310,用于按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。
可选地,数据读取模块310可以包括:
第一确定单元311,用于根据待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定待读逻辑区域的首地址对应映射节点中的物理地址。
可选地,数据读取模块310可以包括:
第二确定单元312,用于根据待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定待读逻辑区域的末地址对应映射节点中的物理地址。
本发明实施例六包括以下优点:在读数据时,遍历单元先根据待读逻辑区域的首地址和末地址遍历映射表中所有映射节点的逻辑块首地址,以确定待读逻辑区域的首地址对应的首映射节点、待读逻辑区域的末地址对应的末映射节点、以及首映射节点和末映射节点之间的映射节点,进而数据读取模块按待读逻辑区域对应逻辑地址的顺序,依次从待读逻辑区域的首地址对应映射节点中的物理地址开始,至待读逻辑区域的末地址对应映射节点中的物理地址,读取读数据请求需调用的各映射节点中物理块区域的数据。这样,在读数据时,只需查找映射表中待读逻辑区域对应的各映射节点、待读逻辑区域的首地址对应映射节点中的物理地址和待读逻辑区域的末地址对应映射节点中的物理地址即可实现查找映射地址,相比于现有技术,可以很好地平衡不同长度数据访问时查找映射地址的性能和稳定性,便于降低映射方法对应用的依赖性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种写数据的方法、一种写数据的装置、一种读数据的方法和一种读数据的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种写数据的方法,应用于NAND闪存系统,其特征在于,包括:
接收写数据请求;所述写数据请求包括待写数据和所述待写数据对应的逻辑区域;
将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域;
建立每个所述物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
2.根据权利要求1所述的方法,其特征在于,所述将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域,包括:
根据所述待写数据的长度确定用于存储所述待写数据的至少一个物理块区域。
3.一种读数据的方法,应用于NAND闪存系统,其特征在于,包括:
接收读数据请求;所述读数据请求包括待读逻辑区域;
根据所述待读逻辑区域的首地址和所述待读逻辑区域的末地址确定所述读数据请求需调用的各映射节点;所述映射节点为映射表中物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系;
按所述待读逻辑区域对应逻辑地址的顺序,依次从所述待读逻辑区域的首地址对应映射节点中的物理地址开始,至所述待读逻辑区域的末地址对应映射节点中的物理地址,读取所述读数据请求需调用的各映射节点中物理块区域的数据。
4.根据权利要求3所述的方法,其特征在于,确定所述读数据请求需调用的各映射节点,包括:
根据所述待读逻辑区域的首地址和末地址遍历所述映射表中所有映射节点的逻辑块首地址,以确定所述待读逻辑区域的首地址对应的首映射节点、所述待读逻辑区域的末地址对应的末映射节点、以及所述首映射节点和所述末映射节点之间的映射节点。
5.根据权利要求3所述的方法,其特征在于,确定所述待读逻辑区域的首地址对应映射节点中的物理地址,包括:
根据所述待读逻辑区域的首地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的首地址对应映射节点中的物理地址。
6.根据权利要求3所述的方法,其特征在于,确定所述待读逻辑区域的末地址对应映射节点中的物理地址,包括:
根据所述待读逻辑区域的末地址对应映射节点中,物理块区域的首地址、对应逻辑块的首地址,确定所述待读逻辑区域的末地址对应映射节点中的物理地址。
7.一种写数据的装置,应用于NAND闪存系统,其特征在于,包括:
第一接收模块,用于接收写数据请求;所述写数据请求包括待写数据和所述待写数据对应的逻辑区域;
存储模块,用于将所述待写数据存储至所述NAND闪存系统中的至少一个物理块区域;
映射建立模块,用于建立每个所述物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系,以作为映射表中的映射节点。
8.根据权利要求7所述的装置,其特征在于,所述存储模块包括:
存储区域确定单元,用于根据所述待写数据的长度确定用于存储所述待写数据的至少一个物理块区域。
9.一种读数据的装置,应用于NAND闪存系统,其特征在于,包括:
第二接收模块,用于接收读数据请求;所述读数据请求包括待读逻辑区域;
节点确定模块,用于根据所述待读逻辑区域的首地址和所述待读逻辑区域的末地址确定所述读数据请求需调用的各映射节点;所述映射节点为映射表中物理块区域的首地址和长度,与所述物理块区域中存储数据对应逻辑块的首地址之间的映射关系;
数据读取模块,用于按所述待读逻辑区域对应逻辑地址的顺序,依次从所述待读逻辑区域的首地址对应映射节点中的物理地址开始,至所述待读逻辑区域的末地址对应映射节点中的物理地址,读取所述读数据请求需调用的各映射节点中物理块区域的数据。
10.根据权利要求9所述的装置,其特征在于,所述节点确定模块包括:
遍历单元,用于根据所述待读逻辑区域的首地址和末地址遍历所述映射表中所有映射节点的逻辑块首地址,以确定所述待读逻辑区域的首地址对应的首映射节点、所述待读逻辑区域的末地址对应的末映射节点、以及所述首映射节点和所述末映射节点之间的映射节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265830.2A CN108268380A (zh) | 2016-12-30 | 2016-12-30 | 一种读写数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265830.2A CN108268380A (zh) | 2016-12-30 | 2016-12-30 | 一种读写数据的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108268380A true CN108268380A (zh) | 2018-07-10 |
Family
ID=62770368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611265830.2A Pending CN108268380A (zh) | 2016-12-30 | 2016-12-30 | 一种读写数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268380A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286838A (zh) * | 2019-07-25 | 2021-01-29 | 戴尔产品有限公司 | 存储设备可配置的映射粒度系统 |
CN113127402A (zh) * | 2021-04-29 | 2021-07-16 | 广东湾区智能终端工业设计研究院有限公司 | 一种spi访问控制方法、系统、计算设备及存储介质 |
WO2023000536A1 (zh) * | 2021-07-19 | 2023-01-26 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备以及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907672A (en) * | 1995-10-04 | 1999-05-25 | Stac, Inc. | System for backing up computer disk volumes with error remapping of flawed memory addresses |
US20100100667A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co. Ltd. | Flash memory system and designing method of flash translation layer thereof |
CN102063383A (zh) * | 2010-12-22 | 2011-05-18 | 深圳市创新科信息技术有限公司 | 一种逻辑区段和物理区段之间映射关系的记录方法 |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及系统 |
US20140223089A1 (en) * | 2011-09-23 | 2014-08-07 | Industry-University Cooperation Foundation Hanyang University | Method and device for storing data in a flash memory using address mapping for supporting various block sizes |
CN105183383A (zh) * | 2015-09-10 | 2015-12-23 | 厦门市美亚柏科信息股份有限公司 | 一种文件系统无关的镜像重组方法 |
-
2016
- 2016-12-30 CN CN201611265830.2A patent/CN108268380A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907672A (en) * | 1995-10-04 | 1999-05-25 | Stac, Inc. | System for backing up computer disk volumes with error remapping of flawed memory addresses |
US20100100667A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co. Ltd. | Flash memory system and designing method of flash translation layer thereof |
CN102063383A (zh) * | 2010-12-22 | 2011-05-18 | 深圳市创新科信息技术有限公司 | 一种逻辑区段和物理区段之间映射关系的记录方法 |
US20140223089A1 (en) * | 2011-09-23 | 2014-08-07 | Industry-University Cooperation Foundation Hanyang University | Method and device for storing data in a flash memory using address mapping for supporting various block sizes |
CN102622189A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 存储虚拟化的装置、数据存储方法及系统 |
CN105183383A (zh) * | 2015-09-10 | 2015-12-23 | 厦门市美亚柏科信息股份有限公司 | 一种文件系统无关的镜像重组方法 |
Non-Patent Citations (2)
Title |
---|
M. FRANKLIN等: "Testing reconfigured RAM"s and scrambled address RAM"s for pattern sensitive faults", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
张琦等: "一种优化的闪存地址映射方法", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286838A (zh) * | 2019-07-25 | 2021-01-29 | 戴尔产品有限公司 | 存储设备可配置的映射粒度系统 |
CN113127402A (zh) * | 2021-04-29 | 2021-07-16 | 广东湾区智能终端工业设计研究院有限公司 | 一种spi访问控制方法、系统、计算设备及存储介质 |
CN113127402B (zh) * | 2021-04-29 | 2024-05-14 | 广东湾区智能终端工业设计研究院有限公司 | 一种spi访问控制方法、系统、计算设备及存储介质 |
WO2023000536A1 (zh) * | 2021-07-19 | 2023-01-26 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819497B (zh) | 一种内存分配方法、装置及系统 | |
US9710397B2 (en) | Data migration for composite non-volatile storage device | |
WO2017185579A1 (zh) | 一种数据存储方法及装置 | |
US20150143065A1 (en) | Data Processing Method and Apparatus, and Shared Storage Device | |
KR20170097609A (ko) | 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법 | |
CN110908609B (zh) | 一种磁盘处理的方法、系统、设备及可读存储介质 | |
CN108268380A (zh) | 一种读写数据的方法和装置 | |
US9626113B2 (en) | Management of destage tasks with large number of ranks | |
US20240086332A1 (en) | Data processing method and system, device, and medium | |
CN106598504B (zh) | 数据存储方法及装置 | |
WO2015196378A1 (zh) | 读写闪存中数据的方法、装置及用户设备 | |
CN112783449A (zh) | 数据迁移方法及装置 | |
CN112000426A (zh) | 一种数据处理方法及装置 | |
CN102096562A (zh) | 数据写入方法及装置 | |
CN108427648B (zh) | 存储系统页内脏数据索引方法和装置 | |
CN104407990A (zh) | 一种磁盘访问方法及装置 | |
CN109753446A (zh) | 一种存储系统下刷缓存数据的方法 | |
CN111475099A (zh) | 一种数据存储方法、装置及其设备 | |
CN116340198B (zh) | 固态硬盘的数据写入方法、其装置及固态硬盘 | |
CN111061429B (zh) | 一种数据访问方法、装置、设备、介质 | |
CN105426131A (zh) | 一种kv存储实现方法和装置 | |
WO2016037310A1 (en) | Filtering write request sequences | |
JPWO2013046342A1 (ja) | 仮想テープ装置及び仮想テープ装置の制御方法 | |
CN108804571B (zh) | 一种数据存储方法、装置以及设备 | |
CN106557385B (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: 20180710 |
|
RJ01 | Rejection of invention patent application after publication |