CN114371814A - 数据处理的方法、装置及固态硬盘 - Google Patents
数据处理的方法、装置及固态硬盘 Download PDFInfo
- Publication number
- CN114371814A CN114371814A CN202111488027.6A CN202111488027A CN114371814A CN 114371814 A CN114371814 A CN 114371814A CN 202111488027 A CN202111488027 A CN 202111488027A CN 114371814 A CN114371814 A CN 114371814A
- Authority
- CN
- China
- Prior art keywords
- ram
- record table
- sector
- read command
- data
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 29
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 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/061—Improving I/O performance
-
- 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
-
- 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
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
Abstract
本发明提供一种数据处理的方法、装置及固态硬盘,涉及存储技术领域,该方法包括:接收主机发送的命令;在确定主机发送的命令为读命令后,检测读命令中需要读取的数据的逻辑地址是否在RAM记录表内;若检测到读命令中有在RAM记录表内的逻辑地址,则针对读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到主机。本发明实施例在接收到读命令后,检测到该数据存储在RAM中,从RAM直接读取数据到主机,无需再从FLASH中读到RAM中,再从RAM读到主机,提高了读性能。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种数据处理的方法、装置及固态硬盘。
背景技术
目前,从固态硬盘中读取数据时,都是从固态硬盘中的闪存FLASH中读取到随机存取存储器RAM中,再从RAM读到主机,具体来说,接收到主机端的读命令后,首先会查找映射表,找到逻辑地址对应的物理地址,根据物理地址调用FLASH读命令,将数据从FLASH读到RAM,再调用DMA接口将数据从RAM调入到主机端。这样每次都是从FLASH中读取数据,降低了读性能。
发明内容
本发明提供一种数据处理的方法、装置及固态硬盘,在接收到读命令后,检测到该数据存储在RAM中,从RAM直接读取数据到主机端,提高了读性能。
第一方面,本发明实施例提供一种数据处理的方法,应用于固态硬盘,包括:
接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;所述固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
若检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
上述方法,能够在固定硬盘中添加RAM的记录表,在接收到读命令后,检测读命令中需要读取的数据的逻辑地址是否在RAM记录表中,如果在,即说明读命令中需要读取的数据在RAM中,从而根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,从RAM扇区中将数据读取主机,这样无需再将数据从FLASH中写到RAM中,提高了读性能。
在一种可能实施的方式中,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内之后,所述方法还包括:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
上述方法,在读命令中不在RAM记录表内的逻辑地址,则直接从FLASH中读取数据到RAM中,再从RAM读取数据到主机,并且更新RAM记录表,以便于后面读取数据再进行对比RAM记录表。
在一种可能实施的方式中,根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表,包括:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
上述方法,第一空闲RAM扇区没有在RAM记录表内,则说明该第一空闲RAM扇区本来就没有数据,则直接将其对应关系添加到RAM记录表中,当第一空闲RAM扇区在RAM记录表中,则替换其RAM记录表中的对应关系,从而达到及时更新RAM记录表的作用。
在一种可能实施的方式中,接收主机发送的命令之后,所述方法还包括:
在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
上述方法,在主机端发出的命令为写命令,然后将主机端的数据写入到RAM扇区,再将RAM扇区内的数据写到FLASH中,并根据写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,更新RAM记录表,从而达到及时更新RAM记录表的作用。
在一种可能实施的方式中,其中:
所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述方法还包括:在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
上述方法,将RAM记录表缓存在内存中,或者RAM记录表存储在RAM扇区中,从而无需另外添加清除命令,就能够在下电后自动清除RAM记录表,提高了处理速度,或者RAM记录在FLASH中,这样需要在检测到上电后,清除RAM记录表中的内容,这样无需占用RAM内的空间,提高了RAM的利用率。
第二方面,本发明实施例提供一种数据处理的装置,应用于固态硬盘,包括:
接收模块,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;所述固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
检测模块,用于在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
读取模块,用于若检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
在一种可能实施的方式中,所述读取模块还包括:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
在一种可能实施的方式中,所述读取模块,具体用于:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
在一种可能实施的方式中,所述装置还包括:
写模块,用于在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
在一种可能实施的方式中,其中:
所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述装置还包括:删除模块,用于在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
第三方面,本发明实施例提供一种固态硬盘,包括:控制器和存储实体;
所述存储实体包含随机存取存储器RAM和闪存FLASH;
所述控制器,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;
在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
第四方面,本发明实施例提供一种存储介质,当所述存储介质中的指令由固态硬盘的控制器执行时,使得所述固态硬盘能够执行如第一方面中任一项所述的数据处理的方法。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1为本发明实施例提供的一种数据处理的方法的流程图;
图2A为本发明实施例提供的第一种主机和固态硬盘交互的示意图;
图2B为本发明实施例提供的第二种主机和固态硬盘交互的示意图;
图2C为本发明实施例提供的第三种主机和固态硬盘交互的示意图;
图3为本发明实施例提供的一种读数据的方法的流程图;
图4为本发明实施例提供的一种写数据的方法的流程图;
图5为本发明实施例提供的一种数据处理的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
目前,固态硬盘每次读数据都是从FLASH中读取到RAM,再从RAM中读到主机端,从而降低了读性能。
对此,由于RAM中会在上电时存储从FLASH中读取到的数据,只是现有的机制中无法识别RAM中的数据的内容,对此,本发明提出维护一个RAM记录表,该RAM记录表中记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系,这样在主机进行读数据时,通过检测RAM记录表,确定主机需要的数据是否存储在RAM中,如果在,则从RAM中直接读取数据到主机,无需再将数据从FLASH中写到RAM中,提高了读的效率。
以下介绍数据处理的方法,如图1所示,包括:
S100:接收主机发送的命令;其中,主机将数据存储到固定硬盘的存储实体中;固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
S101:在确定主机发送的命令为读命令后,检测读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
S102:若检测到读命令中有在RAM记录表内的逻辑地址,则针对读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
S103:从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到主机。
其中,从RAM扇区读数据到主机时,通过DMA寄存器从RAM扇区读数据到主机。
结合图2A所示,固态硬盘包括控制器2010和存储实体2011,存储实体2011包括随机存取存储器RAM2012和闪存FLASH2013,将RAM记录表缓存在内存中,主机200向固态硬盘201发送命令,当固态硬盘201确定该命令为读命令时,从内存中调用RAM记录表,检测读命令中需要读取的数据的逻辑地址是否在RAM记录表中,针对读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区,从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,将数据读到主机端。
同时由于RAM的特性是下电之后RAM的数据自动清除,所以将RAM记录表缓存在内存中,这样下电后RAM记录表也被自动清除,使得RAM记录表的内容与RAM的内容同步。
结合图2B所示,RAM记录表存储在RAM扇区中,在接收到主机200的读命令后,从RAM2012中读取RAM记录表,然后检测读命令中的逻辑地址是否在RAM记录表中,针对读命令中在RAM记录表内的逻辑地址,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到主机。
同时由于RAM的特性是下电之后RAM的数据会自动清除,所以将RAM记录表存储在RAM扇区中,这样下电后RAM记录表也被自动清除,使得RAM记录表的内容与RAM的内容同步。
需要说明的是,RAM记录表存储在的RAM扇区是不参与读数据或写数据的过程的,具体来说,由于读数据或写数据过程中,会从RAM2012申请RAM扇区进行数据存储,读数据时,从RAM2012到FLASH2013中存储,写数据,从FLASH2013中读到RAM2012,再由RAM2012到主机。例如,设置存储RAM记录表的RAM扇区的状态一直是非空闲状态。
结合图2C所示,RAM记录表存储在FLASH2013中,在接收到主机200的读命令后,从FLASH2013中读取RAM记录表到内存,然后检测读命令中的逻辑地址是否在RAM记录表中,针对读命令中在RAM记录表内的逻辑地址,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到主机。
同时由于RAM记录表存储在FLASH2013中,所以下电后不会自动清除,但下电后RAM中的数据会被自动清除,为了使得RAM记录表的内容与RAM的内容同步,本发明还包括在检测到上电后,清除RAM记录表中的内容。
对于读命令中不在RAM记录表内的逻辑地址,根据读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将读命令中不在RAM记录表内的逻辑地址对应的数据,读到第一空闲RAM扇区内,从第一空闲RAM扇区中将读命令中不在RAM记录表内的逻辑地址对应的数据写入主机;
建立读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,更新RAM记录表。
读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,例如,读命令中不在RAM记录表内的逻辑地址1对应的数据存储在空闲RAM扇区1~3中,读命令中不在RAM记录表内的逻辑地址2对应的数据存储在空闲RAM扇区4~6中,读命令中不在RAM记录表内的逻辑地址3对应的数据存储在空闲RAM扇区7~10中。
其中,根据读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表,包括:
若所述第一空闲RAM扇区没有在RAM记录表内,则将读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系添加到RAM记录表中;
若第一空闲RAM扇区在RAM记录表内,则将读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,替换RAM记录表中第一空闲RAM扇区和对应逻辑地址的对应关系。
由于在读过程或写过程中,固态硬盘会自动认为RAM扇区内无数据,向RAM申请RAM扇区,而且是按照RAM扇区的一定顺序申请的,例如,RAM扇区包括1~100,当前一次申请RAM扇区为20~50,那么按照顺序,这次申请RAM扇区可以以51开始,例如为51~70,此时存储数据的逻辑地址为a~c,将要存储数据的逻辑地址为d~h,可知RAM扇区51~70有逻辑地址为a~c的数据,这样本次存储逻辑地址为d~h的数据采用覆盖的方式存储在RAM扇区51~70,那么需要采用新的RAM扇区51~70和逻辑地址d~h的对应关系,替换RAM记录表中RAM扇区51~70和其对应的逻辑地址a~c。
示例性的,结合图3所示,本发明实施例提供了一种读数据的方法,包括:
S300:接收主机发送的命令;
S301:在确定主机发送的命令为读命令后,检测读命令中需要读取的数据的逻辑地址是否均在RAM记录表内;若是,则执行S302,否则执行S304;
S302:根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
S303:从读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到主机。
S304:根据读命令中逻辑地址对应的数据的大小,确定空闲RAM扇区,并从FLASH中将读命令中逻辑地址对应的数据,读到空闲RAM扇区内,从空闲RAM扇区中将读命令中逻辑地址对应的数据写入主机;
S305:建立读命令中逻辑地址和空闲RAM扇区的对应关系,并根据读命令中逻辑地址和空闲RAM扇区的对应关系,更新RAM记录表。
结合图4所示,接收主机发送的命令之后,所述方法还包括:
S400:在确定主机发送的命令为写命令后,根据写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将写命令中需要写入的数据写入到第二空闲RAM扇区,并从第二空闲RAM扇区内的数据写入到FLASH中;
其中,在将写命令中需要写入的数据写入到第二空闲RAM扇区,需要配置DMA寄存器,通过DMA寄存器将数据从主机写到第二空闲RAM扇区。
S401:建立写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,更新RAM记录表。
如图5所示,本发明还提供一种数据处理的装置,应用于固态硬盘,包括:
接收模块500,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;所述固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
检测模块501,用于在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
读取模块502,用于若检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
可选的,所述读取模块502还包括:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
可选的,所述读取模块502,具体用于:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
可选的,所述装置还包括:
写模块,用于在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
可选的,其中:
所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述装置还包括:删除模块,用于在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
另外,结合图1-图5描述的本发明实施例的数据处理的方法和装置可以由固态硬盘来实现。
该固态硬盘,包括:控制器和存储实体;
所述存储实体包含随机存取存储器RAM和闪存FLASH;
所述控制器,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;
在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
可选的,所述控制器,还用于:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
可选的,所述控制器,具体用于:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
可选的,所述控制器,还用于:在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
可选的,所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述控制器,还用于在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
另外,结合上述实施例中的固态硬盘,本发明实施例可提供一种存储介质,当所述存储介质中的指令由固态硬盘的控制器执行时,使得所述固态硬盘能够执行如上述任一项所述的数据处理的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种数据处理的方法,其特征在于,应用于固态硬盘,包括:
接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;所述固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
若检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
2.根据权利要求1所述的数据处理的方法,其特征在于,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内之后,所述方法还包括:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
3.根据权利要求2所述的数据处理的方法,其特征在于,根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表,包括:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
4.根据权利要求1所述的数据处理的方法,其特征在于,接收主机发送的命令之后,所述方法还包括:
在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
5.根据权利要求1~4任一项所述的数据处理的方法,其特征在于,其中:
所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述方法还包括:在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
6.一种数据处理的装置,其特征在于,应用于固态硬盘,包括:
接收模块,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;所述固定硬盘的存储实体包括随机存取存储器RAM和闪存FLASH;
检测模块,用于在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
读取模块,用于若检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
7.根据权利要求6所述的数据处理的装置,其特征在于,所述读取模块还包括:
针对所述读命令中不在RAM记录表内的逻辑地址,根据所述读命令中不在RAM记录表内的逻辑地址对应的数据的大小,确定第一空闲RAM扇区,并从FLASH中将所述读命令中不在RAM记录表内的逻辑地址对应的数据,读到所述第一空闲RAM扇区内,从所述第一空闲RAM扇区中将所述读命令中不在RAM记录表内的逻辑地址对应的数据写入所述主机;
建立所述读命令中不在RAM记录表内的逻辑地址和第一空闲RAM扇区的对应关系,并根据所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,更新所述RAM记录表。
8.根据权利要求7所述的数据处理的装置,其特征在于,所述读取模块,具体用于:
若所述第一空闲RAM扇区没有在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系添加到所述RAM记录表中;
若所述第一空闲RAM扇区在所述RAM记录表内,则将所述读命令中不在RAM记录表内的逻辑地址和所述第一空闲RAM扇区的对应关系,替换所述RAM记录表中所述第一空闲RAM扇区和对应逻辑地址的对应关系。
9.根据权利要求6所述的数据处理的装置,其特征在于,所述装置还包括:
写模块,用于在确定所述主机发送的命令为写命令后,根据所述写命令中需要写入的数据的大小,确定第二空闲RAM扇区,将所述写命令中需要写入的数据写入到所述第二空闲RAM扇区,并从所述第二空闲RAM扇区内的数据写入到FLASH中;
建立所述写命令中需要写入的数据的逻辑地址和第二空闲RAM扇区的对应关系,并根据所述写命令中需要写入的数据的逻辑地址和所述第二空闲RAM扇区的对应关系,更新所述RAM记录表。
10.根据权利要求6~9任一项所述的数据处理的装置,其特征在于,其中:
所述RAM记录表缓存在内存中,以便于下电后自动清除RAM记录表;或
所述RAM记录表存储在RAM扇区中,以便于下电后自动清除RAM记录表;或
所述装置还包括:删除模块,用于在检测到上电后,清除RAM记录表中的内容;其中,所述RAM记录表存储在FLASH中。
11.一种固态硬盘,其特征在于,包括:控制器和存储实体;
所述存储实体包含随机存取存储器RAM和闪存FLASH;
所述控制器,用于接收主机发送的命令;其中,所述主机将数据存储到固定硬盘的存储实体中;
在确定所述主机发送的命令为读命令后,检测所述读命令中需要读取的数据的逻辑地址是否在RAM记录表内;其中,所述RAM记录表记录RAM中存储的数据的逻辑地址和用于存储数据的RAM扇区的对应关系;
检测到所述读命令中有在RAM记录表内的逻辑地址,则针对所述读命令中在RAM记录表内的逻辑地址,根据RAM记录表中记录的逻辑地址和RAM扇区的对应关系,确定所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区;
从所述读命令中在RAM记录表内的逻辑地址对应的RAM扇区中,读取数据到所述主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488027.6A CN114371814A (zh) | 2021-12-08 | 2021-12-08 | 数据处理的方法、装置及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488027.6A CN114371814A (zh) | 2021-12-08 | 2021-12-08 | 数据处理的方法、装置及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114371814A true CN114371814A (zh) | 2022-04-19 |
Family
ID=81139245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111488027.6A Pending CN114371814A (zh) | 2021-12-08 | 2021-12-08 | 数据处理的方法、装置及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114371814A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756179A (zh) * | 2022-06-13 | 2022-07-15 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入、读取及管理方法 |
CN117406935A (zh) * | 2023-12-13 | 2024-01-16 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
CN101364205A (zh) * | 2005-06-01 | 2009-02-11 | 旺玖科技股份有限公司 | 闪存储存系统 |
GB201012938D0 (en) * | 2010-08-02 | 2010-09-15 | Hoptroff Richard | method for interacting with a device by its emulation of a mass storage device |
KR20120037218A (ko) * | 2010-10-11 | 2012-04-19 | 성균관대학교산학협력단 | Ssd 장치의 매핑 테이블 관리 방법 |
WO2013101053A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Non-volatile ram disk |
CN104756078A (zh) * | 2012-08-20 | 2015-07-01 | 唐纳德·凯文·卡梅伦 | 处理资源分配 |
CN109800179A (zh) * | 2019-01-31 | 2019-05-24 | 维沃移动通信有限公司 | 获取数据的方法、发送数据的方法、主机和内嵌式存储器 |
US20200081780A1 (en) * | 2018-09-11 | 2020-03-12 | Silicon Motion, Inc. | Data storage device and parity code processing method thereof |
-
2021
- 2021-12-08 CN CN202111488027.6A patent/CN114371814A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
KR20010029171A (ko) * | 1999-09-29 | 2001-04-06 | 윤종용 | 플래시 메모리와 그 제어 방법 |
CN101364205A (zh) * | 2005-06-01 | 2009-02-11 | 旺玖科技股份有限公司 | 闪存储存系统 |
GB201012938D0 (en) * | 2010-08-02 | 2010-09-15 | Hoptroff Richard | method for interacting with a device by its emulation of a mass storage device |
KR20120037218A (ko) * | 2010-10-11 | 2012-04-19 | 성균관대학교산학협력단 | Ssd 장치의 매핑 테이블 관리 방법 |
WO2013101053A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Non-volatile ram disk |
CN104011691A (zh) * | 2011-12-29 | 2014-08-27 | 英特尔公司 | 非易失性ram盘 |
CN104756078A (zh) * | 2012-08-20 | 2015-07-01 | 唐纳德·凯文·卡梅伦 | 处理资源分配 |
US20150256484A1 (en) * | 2012-08-20 | 2015-09-10 | Donald Kevin Cameron | Processing resource allocation |
US20200081780A1 (en) * | 2018-09-11 | 2020-03-12 | Silicon Motion, Inc. | Data storage device and parity code processing method thereof |
CN109800179A (zh) * | 2019-01-31 | 2019-05-24 | 维沃移动通信有限公司 | 获取数据的方法、发送数据的方法、主机和内嵌式存储器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756179A (zh) * | 2022-06-13 | 2022-07-15 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入、读取及管理方法 |
CN114756179B (zh) * | 2022-06-13 | 2022-09-27 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入、读取及管理方法 |
WO2023241160A1 (zh) * | 2022-06-13 | 2023-12-21 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入及管理方法 |
CN117406935A (zh) * | 2023-12-13 | 2024-01-16 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
CN117406935B (zh) * | 2023-12-13 | 2024-02-20 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7325112B2 (en) | High-speed snapshot method | |
US7631142B2 (en) | Method and apparatus for selectively storing data into cache or nonvolatile memory | |
CN114371814A (zh) | 数据处理的方法、装置及固态硬盘 | |
US20080114923A1 (en) | Apparatus and method for controlling operation processing in nonvolatile memory | |
CN108959118B (zh) | 一种数据写入的方法及装置 | |
CN112130769B (zh) | 一种机械硬盘数据处理方法、装置、设备及介质 | |
WO2005064617A1 (fr) | Procede d'enregistrement de donnees dans une memoire flash | |
KR101996641B1 (ko) | 메모리 오버레이 장치 및 방법 | |
CN108334383B (zh) | 一种信息处理方法及电子设备 | |
CN105389268A (zh) | 资料储存系统及其运作方法 | |
CN104156175B (zh) | 一种虚拟磁盘容量平滑拓展方法 | |
US8776232B2 (en) | Controller capable of preventing spread of computer viruses and storage system and method thereof | |
US9009430B2 (en) | Restoration of data from a backup storage volume | |
US8266108B2 (en) | Medium drive apparatus, operation method for medium drive apparatus, information processing apparatus, recording and reproduction accessing method for information processing apparatus, program, and program recording medium | |
US20030110418A1 (en) | Data recorder and data recording method avoiding data loss due to data transfer error | |
CN110767258B (zh) | 数据擦除命令测试方法和相关装置 | |
CN113948146A (zh) | 固态硬盘的测试方法、装置及电子设备 | |
CN106201344B (zh) | 一种信息处理方法及电子设备 | |
CN117406935B (zh) | 数据读取方法及装置、读写控制器 | |
JP2014142748A (ja) | 記憶装置およびその制御方法 | |
JPH09190347A (ja) | マイクロコンピュータ装置 | |
JP5487725B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2002189572A (ja) | ディスク記憶装置、同記憶装置を持つ情報処理機器、及び書き込み失敗時処理方法 | |
JP2011086324A (ja) | ストレージ装置 | |
CN113608702A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1202, Floor 12, Building 3, No. 126, Yueda Lane, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310053 Applicant after: Zhejiang Huayi Core Technology Co.,Ltd. Address before: 310053 4th floor, building 1, No. 2952, South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Zhejiang Dahua Technology Co.,Ltd. |