CN105389130A - 一种信息处理方法及固态硬盘 - Google Patents
一种信息处理方法及固态硬盘 Download PDFInfo
- Publication number
- CN105389130A CN105389130A CN201510783344.9A CN201510783344A CN105389130A CN 105389130 A CN105389130 A CN 105389130A CN 201510783344 A CN201510783344 A CN 201510783344A CN 105389130 A CN105389130 A CN 105389130A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- data page
- memory address
- address
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种信息处理方法及固态硬盘,包括:获得第一数据写入指令;基于所述写入指令,获得所述第一数据的第一存储地址;所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
Description
技术领域
本发明涉及固态硬盘技术领域,尤其涉及一种信息处理方法及固态硬盘。
背景技术
SSD(SolidStateDisk,固态硬盘)是一种永久性存储器,由于其具有传统机械硬盘不具备的快速读写,质量轻,能耗低以及体积小的优点,所以,SSD在市场上得到了广泛的应用。
现有技术中,SSD闪存颗粒中有数据的数据页,不能进行覆盖写操作,而是需要将该数据页中的数据先读到内存中,在内存中对该数据进行修改,然后在将修改后的数据写入到SSD闪存颗粒一个新的空白页中。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
由于现有技术中,在SSD闪存颗粒中进行连续写操作时,遇到有数据的数据页时,就会中断该连续写操作,进而从写状态转到读该数据页中的数据的状态,所以,现有技术中,在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题。
发明内容
本申请实施例通过提供一种信息处理方法及固态硬盘,解决了现有技术中在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断连续写的流程进,进而提升写操作的效率的技术效果。
本申请中的实施例一方面提供了一种信息处理方法,包括:
获得第一数据写入指令;
基于所述写入指令,获得所述第一数据的第一存储地址;
所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
可选的,所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页之后,所述方法还包括:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
可选的,所述将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系之后,所述方法还包括:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
可选的,所述将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页之后,所述方法还包括:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
可选的,所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,具体包括:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
另一方面,本申请实施例还提供了一种固态硬盘,包括:
壳体;
处理单元,设置在所述壳体内;
闪存单元,与所述处理单元连接,且设置在所述壳体内;
其中,所述处理单元用于获得第一数据写入指令;以及用于基于所述写入指令,获得所述第一数据的第一存储地址;以及用于在所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;以及用于基于所述第二存储地址,将所述第一数据写入到所述闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
可选的,所述处理单元具体用于:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
可选的,所述处理单元具体用于:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
可选的,所述处理单元具体用于:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
可选的,所述处理单元还用于:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
再一方面,本申请实施例还提供了一种电子设备,包括:
第一获得模块,用于获得第一数据写入指令;
第二获得模块,用于基于所述写入指令,获得所述第一数据的第一存储地址;
生成模块,用于所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
存储模块,用于基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于本申请实施例中的技术方案,采用了获得第一数据写入指令,以及基于所述写入指令,获得所述第一数据的第一存储地址,以及所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址,以及基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页的技术方案。
即在本申请中,在固态硬盘进行写操作时,遇到需要写入数据的数据页已有数据时,就会把需要写入的数据先写到另一个空白的数据页,这样就不会中断整个写操作,避免了现有技术中,在遇到需要写入数据的数据页已有数据时,会停止写操作转向读该数据页中的数据的情况,所以,能有效解决现有技术中,在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,保证了写操作的连续性,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断写操作的流程,进而提升了写操作的效率的技术效果。
2、由于本申请实施例中的技术方案,采用了基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据,以及基于所述第一数据与所述第二数据,获得第三数据,以及将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页的技术方案,即在本申请中,在需要写入数据的数据页已有数据时,把需要写入的数据先写到另一个空白的数据页之后,固态硬盘还会这两个数据页的数据进行合并,保证需要写入的数据的逻辑地址只对应一个物理地址,所以,具有节约闪存空间以及提升固态硬盘处理效率的技术效果。
附图说明
图1为本申请实施例一提供的一种信息处理方法的流程图;
图2为本申请实施例一中步骤S103具体实施方式的流程图;
图3为本申请实施例二中提供的一种固态硬盘的结构示意图;
图4为本申请实施例三中提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例通过提供一种信息处理方法及固态硬盘,解决了现有技术中在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断连续写的流程进,进而提升写操作的效率的技术效果。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
获得第一数据写入指令;
基于所述写入指令,获得所述第一数据的第一存储地址;
所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
在上述方法中,由于采用了获得第一数据写入指令,以及基于所述写入指令,获得所述第一数据的第一存储地址,以及所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址,以及基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页的技术方案。
即在本申请中,在固态硬盘进行写操作时,遇到需要写入数据的数据页已有数据时,就会把需要写入的数据先写到另一个空白的数据页,这样就不会中断整个写操作,避免了现有技术中,在遇到需要写入数据的数据页已有数据时,会停止写操作转向读该数据页中的数据的情况,所以,能有效解决现有技术中,在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,保证了写操作的连续性,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断写操作的流程,进而提升了写操作的效率的技术效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整的描述,显然所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得所述其他实施例,都属于本发明技术方案保护的范围。
实施例一
请参考图1,为本申请实施例一提供的一种信息处理方法,包括:
S101:获得第一数据写入指令;
S102:基于所述写入指令,获得所述第一数据的第一存储地址;
S103:所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
S104:基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
在具体实施过程中,上述方法可应用于SSD固态硬盘中,当然还可以应用于其它存储电子设备中,在此就不一一列举了,在本申请实施例中,以SSD固态硬盘为例,来对本申请实施例中的方法的具体实现过程进行详细描述。
采用本申请实施例中的方法进行处理时,先执行步骤S101,即获得第一数据写入指令。
在具体实施过程中,继续沿用上述例子,在实际应用中,在需要将一个数据写入到SSD固态硬盘的闪存单元中,即需要对SSD固态硬盘进行写操作时,SSD固态硬盘就会获得一个将该数据写入到SSD固态硬盘闪存单元中的写入指令,例如,在将SSD固态硬盘连接到计算机时,需要将某个数据写入到SSD固态硬盘闪存单元中,SSD固态硬盘就会从计算机获得一个将该数据写入到SSD固态硬盘闪存单元中的写入指令;又如在将SSD固态硬盘连接到服务器时,需要将某个数据写入到SSD固态硬盘中的闪存单元时,SSD固态硬盘就会从服务器获得一个将该数据写入到SSD固态硬盘闪存单元中的写入指令。
在实际应用中,无论SSD固态硬盘是从与其连接的计算机中,还是从与其连接的服务器中,或是从与其连接的其他电子设备中获得的写入指令,该写入指令都包含了与其连接的电子设备为需要写入的数据分配的逻辑地址,以及将该数据写入SSD固态硬盘闪存单元中具体某一数据页的物理地址,具体的,在SSD固态硬盘与计算机连接,并从计算机中获得需要将第一数据写入到SSD固态硬盘闪存单元中第一数据页的写入指令时,该写入指令就包括计算机为第一数据分配的逻辑地址,以及需要将第一数据写入到某一存储位置对应的物理地址,这里,本领域技术人员应当理解的是,为了叙述方便把需要写入的数据命名为第一数据,以及在下文中即将出现的第二数据、第三数据和第四数据均是为了叙述方便而命名,其本身并不代表对数据有任何限制。
在执行完步骤S101之后,本申请实施例中的方法就会执行步骤S102,即基于所述写入指令,获得所述第一数据的第一存储地址。
在具体实施过程中,继续沿用上述例子,具体的,在将SSD固态硬盘连接到计算机上,并从计算机中获得需要将第一数据写入到SSD固态硬盘闪存单元中的写入指令后,SSD固态硬盘就能够根据获得写入指令,得到需要将第一数据写入到其闪存单元中具体某个存储位置对应的存储地址,也即存储位置的物理地址,这里假设需要将第一数据写入大闪存单元中的第一数据页中,那个,SSD固态硬盘就能从该写入指令中获得第一数据页对应的存储地址也即物理地址,这里为了方便叙述将第一数据页对应的物理地址命名为第一物理地址。
当然,在实际应用中,这个写入指令还可以包含其他信息,例如还可以包括一些控制字,或状态字等,具体的,本领域技术人员可以根据实际情况进行设置,在此不做限制。
在执行完步骤S102之后,本申请实施例中的方法就会执行步骤S103,即所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址。
在具体实施过程中,继续沿用上述例子,具体的,在获得将第一数据写入到第一数据页的第一物理地址后,SSD固态硬盘就会去确定第一物理地址对应的第一数据页是否为空白页,在第一物理地址对应的第一数据页为非空白页时,说明不能将第一数据直接写入到该第一数据页,这是由于SSD固态硬盘闪存单元不能直接在有数据的数据页中进行覆盖写的性质决定的,这时SSD固态硬盘就会生成与第一物理地址不同的另一个物理地址,为了方便叙述把这另一个物理地址称为第二物理地址,本领的技术人员可以理解的是,生成的第二物理地址会对应着闪存单元中具体某一个存储位置,这里假设第二物理地址对应的存储位置为第二数据页。
在执行完步骤S102之后,本申请实施例中的方法就会执行步骤S103,即基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
在本申请实施例中,请参考图2,步骤S103的具体实现方式为:
S1031:确定与所述第二存储地址对应的所述第二数据页;
S1032:判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
S1033:在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
S1034:在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
在具体实施过程中,继续沿用上述例子,具体的,在SSD固态硬盘生成第二物理地址后,SSD固态硬盘就会根据这个第二物理地址,确定出闪存单元中与第二物理地址对应的的第二数据页,在找到这个第二数据页后,SSD固态硬盘还要去判断需要写入第二数据页的第一数据的大小是否与第二数据页的大小一致,因为SSD固态硬盘进行写操作时,只有在写入的数据大小与一个数据页的大小相等时,才能将该数据写入到数据页中,在实际应用中,需要写入的第一数据的大小可能与第二数据页的大小一致,也可能不一致,例如,当SSD固态硬盘闪存单元中一个数据页的大小为32k时,第二数据页的大小也就为32k,若需要写入的第一数据的大小为12k时,这时,SSD固态硬盘就会判断出第一数据的大小与第二数据页的大小不一致,第一数据的大小小于第二数据页的大小,这时,SSD固态硬盘就会从其他地方找出20k大小的数据与第一数据一起组合成32k大小的数据,这组合后的数据就包括了第一数据,然后就可以通过将这组合后的数据写入到第二数据页中,来实现将第一数据写入第二数据页中了;若需要写入的第一数据的大小刚好为32k时,这时,SSD固态硬盘就会判断出第一数据的大小与第二数据页的大小一致,那么,SSD固态硬盘就会直接将这第一数据写入到第二数据中了。
这样,在SSD固态硬盘进行写操作时遇到需要写入的数据页有数据时,就会将其写到另一个空白页,就不会中断整个写操作,保持了SSD固态硬盘写操作的连续性,避免了现有技术中,在遇到需要写入数据的数据页已有数据时,会停止写操作转向读该数据页中的数据的情况,所以,能有效解决现有技术中,在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,保证了写操作的连续性,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断写操作的流程,进而提升了写操作的效率的技术效果。
在实际应用中,使用本申请中的方法进行信息处理时,在执行完步骤S103之后,还可以执行:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
在具体实施过程中,继续沿用上述例子,由于第一数据的逻辑地址是对应着第一数据页的第一物理地址的,但第一数据页为非空白页,不能直接将第一数据页直接写入到第一数据页,那么,在SSD固态硬盘将第一数据写入到第二数据中后,SSD固态硬盘就需要将第一数据页的逻辑地址同时对应着第二数据页的第二物理地址,这样才能通过第一数据页的逻辑地址找到该第一数据,所以,这时,第一数据的逻辑地址同时对应到了第一数据页的第一物理地址以及对应到了第二数据页的第二物理地址,为了叙述方便,我们将第一数据的逻辑地址同时对应第一物理地址以及第二物理地址的对应关系称为第一地址映射关系。
在实际应用中,在将给第一数据分配的逻辑地址同时对应着第一数据页的第一存储地址和第二数据页的第二存储地址之后,本申请中的方法还可以执行:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
在具体实施过程中,继续沿用上述例子,在实际应用中,将给第一数据的逻辑地址同时对应着第一数据页的第一物理地址和第二数据页的第二物理地址之后,第一数据的逻辑地址就会对应着两个物理地址,换句话说,一个逻辑地址对应的逻辑页中数据就分散到了不同的物理地址对应的不同数据页中,这时,SSD固态硬盘可以在SSD空闲时期(或者说除SSD固态硬盘写操作外的其他时间),对一个逻辑地址对应的多个物理地址中的数据进行合并,并更新合并后逻辑地址与物理地址的对应关系,使得一个逻辑地址只对应一个物理地址,也即一个逻辑地址对应的数据均在一个物理地址对应的数据页中。
具体的,当第二数据页的大小为32k,第一数据的大小为12k时,写入第二数据页的数据为12k第一数据和20k的第四数据的组合时,SSD固态硬盘可以根据第一地址映射关系,从第一物理地址对应的第一数据页中获取到除需要被第一数据覆盖的大小为12k的数据外剩下的20k数据,以及从第二物理地址对应的第二数据页中获取到大小为12k的第一数据,这里将第一数据页中需要被第一数据覆盖的大小为12k的数据外剩下的20k数据称为第二数据,那么,SSD固态硬盘在获得第一数据和第二数据后,就可以将这个两个数据进行合并,合并后的数据可以称为第三数据,然后SSD固态硬盘就可以将合并后的数据写入到SSD固态硬盘闪存单元中与第一数据页和第二数据页均不同的空白的第三数据页,就可以完成一个逻辑地址对应的多个物理地址中的数据合并的过程。
在实际应用中,在将合并后的数据写入到SSD固态硬盘闪存单元中与第一数据页和第二数据页均不同的空白的第三数据页之后,本申请中的方法还可以执行:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
在具体实施过程中,继续沿用上述例子,在实际应用中,在完成一个逻辑地址对应的多个物理地址中的数据合并后,还需要更新数据合并后的逻辑地址与物理地址的对应关系,使得一个逻辑地址只对应一个物理地址,也即一个逻辑地址对应的数据均在一个物理地址对应的数据页中。具体的,SSD固态硬盘将合并后的数据写入到第三数据页中后,就需要将第一数据的逻辑地址只对应中第三数据页的物理地址,这里可以将第三数据页的物理地址称为第三物理地址,因此,SSD固态硬盘就会去获取第三数据页对应的第三物理地址,然后将第三物理地址对应着第一数据页的逻辑地址,并记录和保存该对应关系,这样,第一数据页对应的逻辑地址就会只对应第三存储地址,即一个逻辑页对应着一个物理页。
当然,在实际应用中,当第二数据页的大小为32k,第一数据的大小也刚好为32k时,在SSD固态硬盘接将第一数据写入到第二数据后,就不需要与第一数据页中的数据进行合并了,只需要更新第一数据逻辑地址与第一物理地址的之间的对应关系,即更新的对应关系为第一数据逻辑地址对应着第二物理地址。
实施例二
基于与本申请实施例一同样的发明构思,本申请实施例二提供一种固态硬盘,请参考图3,包括:
壳体1;
处理单元2,设置在所述壳体1内;
闪存单元3,与所述处理单元2连接,且设置在所述壳体1内;
其中,所述处理单元2用于获得第一数据写入指令;以及用于基于所述写入指令,获得所述第一数据的第一存储地址;以及用于在所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;以及用于基于所述第二存储地址,将所述第一数据写入到所述闪存单元3中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
可选的,所述处理单元2具体用于:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
可选的,所述处理单元2具体用于:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元3中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
可选的,所述处理单元2具体用于:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
可选的,所述处理单元2还用于:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
实施例三
基于与本申请实施例一同样的发明构思,本申请实施例三提供一种电子设备,请参考图4,包括:
第一获得模块4,用于获得第一数据写入指令;
第二获得模块5,用于基于所述写入指令,获得所述第一数据的第一存储地址;
生成模块6,用于所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
存储模块7,用于基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
可选的,存储模块7具体包括:
对应模块,用于将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
可选的,所述电子设备还包括:
第三获得模块,用于基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
第四获得模块,用于基于所述第一数据与所述第二数据,获得第三数据;
写入模块,用于将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
可选的,所述电子设备还包括:
获取模块,用于获取所述第三数据页对应的第三存储地址;
建立模块,用于建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录模块,用于记录并保存所述第二地址映射关系。
可选的,所述存储模块7具体包括:
确定模块,用于确定与所述第二存储地址对应的所述第二数据页;
判断模块,用于判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
第一写入子模块,用于在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
第二写入子模块,用于在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于本申请实施例中的技术方案,采用了获得第一数据写入指令,以及基于所述写入指令,获得所述第一数据的第一存储地址,以及所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址,以及基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页的技术方案。
即在本申请中,在固态硬盘进行写操作时,遇到需要写入数据的数据页已有数据时,就会把需要写入的数据先写到另一个空白的数据页,这样就不会中断整个写操作,避免了现有技术中,在遇到需要写入数据的数据页已有数据时,会停止写操作转向读该数据页中的数据的情况,所以,能有效解决现有技术中,在连续写操作的过程中遇到有数据的数据页时,会因中断连续写操作而导致写操作效率低的技术问题,保证了写操作的连续性,实现了在连续写操作的过程中遇到有数据的数据页时,不会中断写操作的流程,进而提升了写操作的效率的技术效果。
2、由于本申请实施例中的技术方案,采用了基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据,以及基于所述第一数据与所述第二数据,获得第三数据,以及将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页的技术方案,即在本申请中,在需要写入数据的数据页已有数据时,把需要写入的数据先写到另一个空白的数据页之后,固态硬盘还会这两个数据页的数据进行合并,保证需要写入的数据的逻辑地址只对应一个物理地址,所以,具有节约闪存空间以及提升固态硬盘处理效率的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
获得第一数据写入指令;
基于所述写入指令,获得所述第一数据的第一存储地址;
所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在与步骤:所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页之后执行,执行过程中包括如下步骤:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在与步骤:所述将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系之后执行,执行过程中包括如下步骤:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
可选的,所述存储介质中还存储有另外的一些计算机程序指令,另外一些计算机程序指令在与步骤:所述将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页之后执行,执行过程中包括如下步骤:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
可选的,所述存储介质中存储的与步骤:所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,对应的计算机指令在具体执行过程中,具体包括:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种信息处理方法,包括:
获得第一数据写入指令;
基于所述写入指令,获得所述第一数据的第一存储地址;
所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
2.如权利要求1所述的方法,其特征在于,所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页之后,所述方法还包括:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
3.如权利要求2所述的方法,其特征在于,所述将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系之后,所述方法还包括:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
4.如权利要求3所述的方法,其特征在于,所述将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页之后,所述方法还包括:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,具体包括:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
6.一种固态硬盘,包括:
壳体;
处理单元,设置在所述壳体内;
闪存单元,与所述处理单元连接,且设置在所述壳体内;
其中,所述处理单元用于获得第一数据写入指令;以及用于基于所述写入指令,获得所述第一数据的第一存储地址;以及用于在所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;以及用于基于所述第二存储地址,将所述第一数据写入到所述闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
7.如权利要求6所述的固态硬盘,其特征在于,所述处理单元具体用于:
将所述第一存储地址、所述第二存储地址对应到所述第一数据的逻辑地址,并获得第一地址映射关系。
8.如权利要求7所述的固态硬盘,其特征在于,所述处理单元具体用于:
基于所述第一地址映射关系,从所述第一数据页中获得第二数据,以及从所述第二数据页中获得所述第一数据;
基于所述第一数据与所述第二数据,获得第三数据;
将所述第三数据写入所述闪存单元中不同于所述第一数据页和所述第二数据页的第三数据页,其中,所述第三数据页为空白页。
9.如权利要求8所述的固态硬盘,其特征在于,所述处理单元具体用于:
获取所述第三数据页对应的第三存储地址;
建立所述第三存储地址与所述逻辑地址之间的第二地址映射关系;
记录并保存所述第二地址映射关系。
10.如权利要求6-8中任一项所述的固态硬盘,其特征在于,所述处理单元还用于:
确定与所述第二存储地址对应的所述第二数据页;
判断所述第一数据的大小是否与所述第二数据页的大小一致,并获得一判断结果;
在所述判断结果为是时,将所述第一数据写入到所述第二数据页中;
在所述判断结果为否时,将所述第一数据与第四数据同时写入到所述第二数据页中,其中,所述第一数据的大小与所述第四数据的大小之和等于所述第二数据页的大小。
11.一种电子设备,包括:
第一获得模块,用于获得第一数据写入指令;
第二获得模块,用于基于所述写入指令,获得所述第一数据的第一存储地址;
生成模块,用于所述第一存储地址对应的第一数据页为非空白页时,生成第二存储地址;
存储模块,用于基于所述第二存储地址,将所述第一数据写入到闪存单元中的第二数据页,其中,所述第二数据页与所述第一数据页不同,且所述第二数据页为空白页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510783344.9A CN105389130A (zh) | 2015-11-16 | 2015-11-16 | 一种信息处理方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510783344.9A CN105389130A (zh) | 2015-11-16 | 2015-11-16 | 一种信息处理方法及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105389130A true CN105389130A (zh) | 2016-03-09 |
Family
ID=55421449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510783344.9A Pending CN105389130A (zh) | 2015-11-16 | 2015-11-16 | 一种信息处理方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389130A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928490A (zh) * | 2019-10-28 | 2020-03-27 | 中国科学院上海微***与信息技术研究所 | 一种数据的存储方法和装置 |
CN112802527A (zh) * | 2021-04-14 | 2021-05-14 | 上海灵动微电子股份有限公司 | 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477494A (zh) * | 2009-01-20 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种写入数据的方法和存储*** |
CN102103546A (zh) * | 2009-12-21 | 2011-06-22 | 智微科技股份有限公司 | 用于储存装置以进行储存管理的方法及控制单元与相关储存装置 |
US20130304975A1 (en) * | 2010-05-24 | 2013-11-14 | Silicon Motion, Inc. | Apparatuses for managing and accessing flash memory module |
-
2015
- 2015-11-16 CN CN201510783344.9A patent/CN105389130A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477494A (zh) * | 2009-01-20 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种写入数据的方法和存储*** |
CN102103546A (zh) * | 2009-12-21 | 2011-06-22 | 智微科技股份有限公司 | 用于储存装置以进行储存管理的方法及控制单元与相关储存装置 |
US20130304975A1 (en) * | 2010-05-24 | 2013-11-14 | Silicon Motion, Inc. | Apparatuses for managing and accessing flash memory module |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928490A (zh) * | 2019-10-28 | 2020-03-27 | 中国科学院上海微***与信息技术研究所 | 一种数据的存储方法和装置 |
CN110928490B (zh) * | 2019-10-28 | 2021-08-17 | 中国科学院上海微***与信息技术研究所 | 一种数据的存储方法和装置 |
CN112802527A (zh) * | 2021-04-14 | 2021-05-14 | 上海灵动微电子股份有限公司 | 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
CN107273042B (zh) | 重复删除dram***算法架构的存储器模块及方法 | |
CN105224237A (zh) | 一种数据存储方法及装置 | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
KR102646619B1 (ko) | 컴포지트 메모리 장치를 포함하는 전자 장치에 파일 시스템을 제공하는 시스템 및 방법 | |
CN104407935A (zh) | 快照回滚方法和存储设备 | |
CN104281535A (zh) | 一种映射表在内存中的处理方法和装置 | |
CN104461685A (zh) | 虚拟机处理方法和虚拟计算机*** | |
CN102609305A (zh) | 一种服务器集群中内存共享方法 | |
CN112527452A (zh) | 跨OpenStack的虚拟机迁移方法、装置及介质 | |
CN104461384A (zh) | 一种数据写入方法及存储设备 | |
CN104205780A (zh) | 一种存储数据的方法和装置 | |
CN105630491A (zh) | 程序的功能变更方法及装置 | |
CN103810099A (zh) | 代码跟踪方法及其*** | |
CN103473185A (zh) | 缓存写入的方法、缓存装置和存储*** | |
JP6042454B2 (ja) | ユーザ生成によるデータセンターの省電力 | |
CN104407990A (zh) | 一种磁盘访问方法及装置 | |
CN103927215A (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及*** | |
CN104572492A (zh) | 一种烧录数据到fat32分区的方法和装置 | |
CN105389130A (zh) | 一种信息处理方法及固态硬盘 | |
US8726101B2 (en) | Apparatus and method for tracing memory access information | |
CN104484132A (zh) | 数据缩减的方法及装置 | |
CN104063234A (zh) | 一种兼容方法及装置 | |
US9009430B2 (en) | Restoration of data from a backup storage volume | |
CN105988954B (zh) | 区域描述元管理方法及其电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170302 Address after: The 100176 branch of the Beijing economic and Technological Development Zone fourteen Street No. 99 building 33 building D No. 2226 Applicant after: Beijing legend core technology Co., Ltd. Address before: 100085 Beijing on the road to entrepreneurship, No. 6 Haidian District Applicant before: Lenovo (Beijing) Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |
|
RJ01 | Rejection of invention patent application after publication |