CN101196850A - 数据存取整合方法及其系统 - Google Patents

数据存取整合方法及其系统 Download PDF

Info

Publication number
CN101196850A
CN101196850A CNA2007103059295A CN200710305929A CN101196850A CN 101196850 A CN101196850 A CN 101196850A CN A2007103059295 A CNA2007103059295 A CN A2007103059295A CN 200710305929 A CN200710305929 A CN 200710305929A CN 101196850 A CN101196850 A CN 101196850A
Authority
CN
China
Prior art keywords
data
command
data access
access
order
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.)
Granted
Application number
CNA2007103059295A
Other languages
English (en)
Other versions
CN100583059C (zh
Inventor
钟健平
陈佳欣
刘名哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiangshuo Science & Technology Co Ltd
Original Assignee
Xiangshuo Science & Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiangshuo Science & Technology Co Ltd filed Critical Xiangshuo Science & Technology Co Ltd
Priority to CN200710305929A priority Critical patent/CN100583059C/zh
Publication of CN101196850A publication Critical patent/CN101196850A/zh
Application granted granted Critical
Publication of CN100583059C publication Critical patent/CN100583059C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明为一种数据存取整合方法及其系统,应用于数据存储器,该方法包含下列步骤:依序接收由总线所传输的M个数据存取命令,该M个数据存取命令可具有不同命令类型;以及,当M个数据存取命令中包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据上述这些存取地址的顺序,将N个数据存取命令调整顺序,对该数据存储器连续存取N个数据存取命令所对应的第一数据。本发明能够显著提升存储器的读写效率。

Description

数据存取整合方法及其系统
技术领域
本发明涉及一种数据存取整合方法,尤其涉及应用于快闪存储器(FlashMemory)的数据存取整合方法。
背景技术
众所周知,在存储器的应用中,连续存取永远比随机存取的效率高出许多,此特性在快闪存储器的应用上尤其显著。举例来说,在读取时,若随机读取需要25μs的读取时延(latency),则连续读取可缩减至25ns的读取时延。另外,又由于快闪存储器的写入与读取都需要以一个页为单位(通常为2K~4K至8K字节(Byte)),故连续读取或写入以页为单位的数据将有助于提升快闪存储器的应用效率。再则快闪存储器在第一次写入时必须要经过区块擦除(Block Erase)的动作,亦即,擦除(Erase)动作是以一个区块(Block)(约为64个页)为单位。通常一页的写入时延(page program)为200μs,而擦除的时延为1.5ms。由此可见在快闪存储器的应用中连续存取的重要性。
举例来说,已知主机端与快闪存储器之间利用高级技术配件(AdvancedTechnology Attachment,简称ATA)总线来进行快闪存储器内的数据读写动作。根据ATA总线的规格,主机进行存取动作时,每次只能够发出一个读取或者写入的命令,而且每次数据读取命令或者数据写入命令的数据传递是以一个扇区(Sector,256字(Word)=512字节=0.5KB)为单位。也就是说,当主机发出一个数据读取命令至快闪存储器之后,除非快闪存储器响应主机读取数据或者响应读取失败时,主机才可以再次发出下一个数据读取命令或者数据写入命令至快闪存储器。同理,当主机发出一个数据写入命令至快闪存储器之后,除非快闪存储器响应写入成功或者响应读取失败时,主机才可以再次发出下一个数据读取命令或者数据写入命令至快闪存储器。
因此,已知快闪存储器中的控制器一次只能接受一个命令(数据读取或数据写入的命令),在完成这个命令前无法预知到下一个命令到底是什么。请参见图1,其为主机(Host)端对快闪存储器依序所发出的数据读取命令或数据写入命令(或称之为数据存取命令)列表。所以在图1中,假设主机端总共对快闪存储器控制器依序发出了11个数据读取或数据写入命令,传统的快闪存储器只能按部就班地依序执行11次读取或写入的动作,因此,快闪存储器控制器一次能够处理多少的数据量,都只能被动地由主机端来决定。
由图1可知,主机每次发出的命令包括:命令类型(Command Type)、逻辑块地址(Logic Block Addressing,LBA)、扇区数目(Sector Count)。另外,假设快闪存储器一页的数据量为2K字节。以下将计算主机连续执行11次数据读取命令或者数据写入命令时所花费的时间。
(一)当主机发出第一个命令,读取由LBA0开始的2个扇区的数据(共1KB<1页),此时快闪存储器需要一个随机读取时延(25μs)。
(二)当主机发出第二个命令,写入由LBA20开始的1个扇区(0.5KB)的数据,此时,快闪存储器需要一个区块擦除时间(1.5ms)加上一个写入时延(200μs)。
(三)当主机发出第三个命令,读取由LBA2开始的2个扇区的数据(共1KB<1页),此时,快闪存储器需要一个随机读取时延(25μs)。
(四)当主机发出第四个命令,写入由LBA22开始的1个扇区(0.5KB)的数据,此时,快闪存储器需要一个写入时延(200μs)。
(五)当主机发出第五个命令,读取由LBA10开始的3个扇区的数据(共1.5KB<1页),此时,快闪存储器需要一个随机读取时延(25μs)。
(六)当主机发出第六个命令,读取由LBA13开始的5个扇区的数据(共2.5KB>1页),此时,快闪存储器需要一个随机读取时延(25μs)以及连续读取时延(25ns)。
(七)当主机发出第七个命令,写入由LBA23开始的5个扇区(2.5KB>1页)的数据,此时,快闪存储器需要二个写入时延(400μs)。
(八)当主机发出第八个命令,写入由LBA28开始的2个扇区的数据,此时,快闪存储器需要一个写入时延(200μs)。
(九)当主机发出第九个命令,读取由LBA18开始的2个扇区的数据(共1KB<I页),此时,快闪存储器需要一个随机读取时延(25μs)。
(十)当主机发出第十个命令,写入由LBA30开始的2个扇区的数据,此时,快闪存储器需要一个写入时延(200μs)。
(十一)当主机发出第十一个命令,写入由LBA32开始的2个扇区的数据,此时,快闪存储器需要一个写入时延(200μs)。
因此,写入6.5K字节的数据需要执行一次的区块擦除时间以及七次的写入时延,花费时间为1.5ms+0.2ms×7=2.9ms,而读取7KB的数据需要执行五次随机读取时延以及一次的连续读取时延,花费时间为25μs×5+25ns=125.025μs,因此所有命令完成所花费的时间为2.9ms+125.025μs=3.025025mS。
而目前也有在快闪存储器中加入一个缓冲器(Buffer)的做法,当主机端对快闪存储器进行读取时,缓冲器可进行将主机端所发出的命令进行预存(pre-fetch)的动作以降低读取时延,但在写入数据的时候,依旧没有使写入效率提高的方法,如此对于整体效率提升的范围实在有限。
发明内容
因此,如何使快闪存储器能有更好的存取效率,为本发明的最主要的目的。
本发明为一种数据存取整合方法,应用于数据存储器,包含下列步骤:依序接收由总线所传输的M个数据存取命令;当M个数据存取命令中包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据上述这些存取地址的顺序,将N个数据存取命令调整顺序(Re-order),对该数据存储器连续存取N个数据存取命令所对应的第一数据。
上述数据存取整合方法中,所述M个数据存取命令可具有不同命令类型,包括数据读取命令与数据写入命令。
上述数据存取整合方法中,当第一数据读取命令与第一数据写入命令具有相同地址时,所述第一数据读取命令可与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
上述数据存取整合方法还可包括以下步骤:当所述N个数据存取命令的数目达到存储数目时,则所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
上述数据存取整合方法中还可包括以下步骤:M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,则根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
上述数据存取整合方法中还可包括以下步骤:当所述N个数据存取命令与K个数据存取命令的总和数目达到存储数目时,则所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据存取命令调整顺序。
上述数据存取整合方法中,所述总线可为序列式高级技术配件总线。
上述数据存取整合方法中,所述数据存储器可为快闪存储器。
另外,本发明为一种控制数据存取装置,对数据存储器进行数据存取,包含:命令序列,依序接收由总线所传输的M个数据存取命令;控制程序,连接该命令序列,并对该M个数据存取命令中包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,以上述这些存取地址的顺序,将N个数据存取命令调整顺序,控制对该数据存储器连续存取N个数据存取命令所对应的第一数据。
上述控制数据存取装置还可包含:数据暂存区,连接所述总线与所述数据存储器,并受所述控制程序的控制,以对所述数据存储器存取所述第一数据。
上述控制数据存取装置中,所述M个数据存取命令可具有不同命令类型,包括数据读取命令与数据写入命令。
上述控制数据存取装置中,当第一数据读取命令与第一数据写入命令具有相同地址时,所述控制程序可使得所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
上述控制数据存取装置中,所述N个数据存取命令的数目达到所述命令序列的存储数目时,所述控制程序可使得所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
上述控制数据存取装置中,所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,所述控制程序可根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
上述控制数据存取装置中,所述N个数据存取命令与K个数据存取命令的总和数目达到命令序列的存储数目时,则所述控制程序可对所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据存取命令调整顺序。
上述控制数据存取装置中,所述总线可为序列式高级技术配件总线。
上述控制数据存取装置中,所述数据存储器可为快闪存储器。
另外,本发明为一种数据存取整合系统,其主要包含:主机,依序发出M个数据存取命令;总线,电连接于该主机;数据存取装置,接收该总线所传输的M个数据存取命令,对该M个数据存取命令中包含具有相同命令类型并具有多个存取地址符合连续地址关系的N个数据存取命令,以上述这些存取地址的顺序,将N个数据存取命令调整顺序;以及,数据存储器,提供调整顺序的N个数据存取命令,对该数据存储器存取对应的第一数据。
上述数据存取整合系统中,所述N个数据存取命令的数目达到存储数目时,所述控制数据存取装置可使得所述第一数据先进行存取。
上述数据存取整合系统中,所述控制数据存取装置还可包含:命令序列,电连接于所述总线,暂存所述总线所传输的M个数据存取命令;以及控制程序,电连接于所述命令序列,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的所述第一数据。
本发明能够显著提升存储器的读写效率。
附图说明
本发明可通过下列附图及说明,得到更深入的了解:
图1所示为主机端对快闪存储器依序发出的数据读取命令或数据写入命令列表。
图2所示为本发明为改善现有技术手段的缺陷而发展出的数据存取整合系统功能方块示意图。
图3所示为本发明为改善现有技术手段的缺陷而发展出的数据存取整合方法流程示意图。
图4所示为经过整合后命令序列中的数据存取命令。
具体实施方式
为了提高主机与存储装置之间的读写速度,已知高级技术配件总线已逐渐为序列式高级技术配件总线所取代。在SATA总线的规格书中进一步增加了原生命令序列(Native Command Queuing,简称:NCQ)功能。所谓NCQ功能就是存储装置可同时接收多个数据存取命令并改变数据存取命令的次序的功能。
而本发明所提出的实施例在NCQ功能上,再增加整合(merge)具有符合连续地址关系的多个存取地址的多个数据读取命令或多个数据写入命令,因此在存取对应的数据时可以更加快速。也就是说,本发明可配合控制数据存取装置中所包含的控制程序(control program)与命令序列(Commandqueue)的使用,对多个在不同时间依序接收的数据读取命令或数据写入命令进行调整顺序,使得连续地址整合得以连续执行,进而缩短数据读取以及数据写入所要花费的时间。以下再以通过实施例说明的方式将本发明的概念做更进一步的描述。
请参见图2,其为本发明为改善现有技术手段的缺陷而发展出的数据存取整合系统功能方块示意图。从图中我们可以清楚地看出数据存取整合系统2包含主机20、总线21以及数据存取装置22、数据存储器223。另外,该数据存取装置22包括控制程序222、命令序列221以及数据暂存区224。
其中,主机20可对数据存取装置22发出M个数据存取命令,而数据存取装置22中的命令序列221可依序接收由总线21所传输的M个数据存取命令,且M个数据存取命令可具有不同命令类型,例如具有数据读取命令与数据写入命令两种命令类型。而控制程序222连接命令序列221,并对M个数据存取命令中,具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,根据上述多个存取地址的顺序,将N个数据存取命令进行调整顺序,然后等到要执行时,控制程序222发出控制信号给数据暂存区224,来控制对数据存储器223连续存取N个数据存取命令所对应的第一数据。上述数据存储器可为快闪存储器。
再举一例来说,主机20可在不同时间点对数据存取装置22依序发出M个数据存取命令,并由数据存取装置22的命令序列221接收M个数据存取命令,而在M个数据存取命令中同时包含有N个数据读取命令与K个数据写入命令。对应于M个数据存取命令所包含的符合连续地址关系的N个数据读取命令与K个数据写入命令的存取地址,控制程序222会将具有相同类型命令与连续地址的特性数据存取命令调整顺序,使得N个数据读取命令与K个数据写入命令分别对应调整顺序,当然N个数据存取命令与K个数据写入命令的总和数目达到命令序列221内最大的存储数目时,N个数据读取命令所对应的第一数据(连续地址)与K个数据写入命令所对应的第二数据中,至少任一组先进行存取,或者两个同时完成后,再进行接受新的数据存取命令,然后控制程序222才进行调整顺序动作。
请参见图3,其为本发明为改善现有技术手段的缺陷而发展出的数据存取整合方法流程示意图,该方法应用于上述数据存取装置22中。从图中我们可以清楚地看出,首先在步骤S1,数据存取装置22接收由主机端在不同时间依序发出的M个数据存取命令;然后在步骤S2,判断M个数据存取命令中所包含的N个数据读取命令或K个数据写入命令是否符合连续地址关系;在步骤S5,倘若M个数据存取命令中所包含的N个数据读取命令或K个数据写入命令不符合连续地址关系,则执行不整合M个数据存取命令;在步骤S3,倘若N个数据读取命令或K个数据写入命令符合连续地址关系,则对N个数据读取命令或K个数据写入命令调整顺序,使得具有连续地址的N个数据读取命令或K个数据写入命令整合在一起,以便执行时能连续执行,增加存取数据的速度,并且同时判断N个数据读取命令或K个数据写入命令的数目已经达到命令序列221内最大的存储数目(一般设计成8个)。
倘若N个数据读取命令或K个数据写入命令已经达到命令序列221内最大的存储数目,则在步骤S4,执行已经调整顺序的N个数据读取命令或K个数据写入命令,在数据存储器223存取数据。若N个数据读取命令或K个数据写入命令未达到命令序列221内最大的存储数目,则可将不连续的其它数据存取命令先执行,然后命令序列221接收新的数据存取命令,再看是否符合连续地址关系,来作数据存取命令的合并与调整顺序,亦即在步骤S6继续与新的数据存取命令合并,直到最后达到命令序列221最大的存储数目或者等待时间用尽,才执行命令序列221内数据存取命令,其中等待时间例如设定固定时间无收到数据存取命令。
经由上述说明,我们可以清楚地了解到本发明所述的应用在存储装置上的数据存取整合方法,确实能够有效缩短对数据存储器223进行数据读取以及数据写入所要花费的时间。在现有技术中,存储装置对于主机端所发出的数据读取命令或数据写入命令,只能够依序处理一个数据读取或数据写入的命令,造成整体的存取效率不高,而本发明通过可支持原生命令序列功能的高级技术配件(SATA)总线规格,配合上数据存取装置22中所包含的控制程序与命令序列的使用,对多个在不同时间所接收的数据读取命令或数据写入命令进行整合与调整存取顺序,使得相同类型且具有连续地址关系的数据存取命令能够连续执行,进而缩短数据读取以及数据写入所要花费的时间。以下再以实施例说明的方式将本发明的概念做更进一步的描述。
我们再以现有技术中的图1所示的图表为例来辅助本优选实施例的说明。根据SATA总线的规格,主机进行存取动作时,每次数据读取命令或者数据写入命令的数据传递是以一个扇区(Sector,256字=512字节=0.5KB)为单位。而预设数据长度(一页)设定为2KB(也可以是4KB或8KB),且命令序列221可暂存8个数据存取命令。其详细的执行动作如下:
(一)当主机发出第一个命令,读取由LBA0开始的2个扇区的数据(共1KB<1页),此时,第一个命令暂存至命令序列。
(二)当主机发出第二个命令,写入由LBA20开始的1个扇区的数据,此时,第二个命令暂存至命令序列。
(三)当主机发出第三个命令,读取由LBA2开始的2个扇区的数据(共1KB<1页),很明显,第一与第三命令为数据读取命令并符合连续地址关系因此,可以整合第一与第三数据读取命令而调整存取顺序,读取由LBA0开始的4个扇区的数据(共2KB=1页)。
(四)当主机发出第四个命令,写入由LBA22开始的1个扇区的数据,此时,第四个命令暂存至命令序列。
(五)当主机发出第五个命令,读取由LBA10开始的3个扇区的数据(共1.5KB<1页),此时,第五个命令暂存至命令序列。
(六)当主机发出第六个命令,读取由LBA13开始的5个扇区的数据(共2.5KB>1页),很明显,第五与第六命令为数据读取命令并符合连续地址关系,因此,可以整合第五与第六数据读取命令而调整存取顺序,读取由LBA10开始的8个扇区的数据(共4KB=2页)。
(七)当主机发出第七个命令,写入由LBA23开始的5个扇区的数据,很明显,第四与第七命令为数据写入命令并符合连续地址关系,因此,可以整合第四与第七数据写入命令而调整存取顺序,写入由LBA22开始的6个扇区的数据(共3KB=1.5页)。
(八)当主机发出第八个命令,写入由LBA28开始的2个扇区的数据,很明显,第四与第七数据写入命令与第八命令为具有相同命令类型的数据写入命令并符合连续地址关系,因此,可以再次调整存取顺序,写入由LBA22开始的8个扇区的数据(共4KB=2页)。
(九)当主机发出第九个命令,读取由LBA18开始的2个扇区的数据(共1KB<1页),很明显,第五与第六数据读取命令与第九命令为具有相同命令类型的数据读取命令并符合连续地址关系,因此,可以再次调整存取顺序,写入由LBA10开始的10个扇区的数据(共5KB=2.5页)。
(十)当主机发出第十个命令,写入由LBA30开始的2个扇区的数据,很明显,第四、第七与第八命令写入命令与第十命令为具有相同命令类型的数据写入命令并符合连续地址关系,因此,可以调整存取顺序,写入由LBA22开始的10个扇区的数据(共5KB=2.5页)。
(十一)当主机发出第十一个命令,写入由LBA32开始的2个扇区的数据,很明显,第四、第七、第八与第十命令的写入命令与第十一命令为具有相同命令类型的数据写入命令并符合连续地址关系,因此,可以调整存取顺序,写入由LBA22开始的12个扇区的数据(共6KB=3页)。
请参照图4,其中所示为经过整合后命令序列中的数据存取命令。经由上述的执行动作,我们可以清楚地看出,经由本发明所述的技术手段加以改善后,从原本需要11次的数据存取命令减少至仅需4次的数据存取命令。接着,以下详述执行四次数据存取命令所需的时间。
(一)当命令序列发出第一个命令,写入由LBA20开始的1个扇区的数据(共0.5KB<1页),此时快闪存储器需要一个区块擦除时间(1.5ms)加上一个写入时延(200μs)。
(二)当命令序列发出第二个命令(具有连续地址的两个数据读取命令),读取由LBA0开始的4个扇区的数据(共2KB=1页),此时需要一个随机读取时延(25μs)。
(三)当命令序列发出第三个命令(具有连续地址的三个数据读取命令),读取由LBA10开始的10个扇区的数据(共5KB=2.5页),此时由于第三命令与第二命令地址不连续,因此,读取第一页需要一个随机读取时延(25μs),第二页需要一个连续读取时延(25ns),第三页(0.5页)需要一个连续读取时延(25ns)。
(四)当命令序列发出第四个命令(具有连续地址的五个数据读取命令),写入由LBA22开始的12个扇区的数据(共6KB=3页),由于第三命令与第二命令地址不连续,因此,快闪存储器需要三页写入时延(3×200μs)。
因此,根据本发明的实施例。写入6.5KB的数据只需要执行一次的区块擦除动作以及四页的数据写入时延,花费时间为1.5ms+0.2ms×4=2.3ms,而读取7KB的数据只需要执行两次随机读取时延以及两次的连续读取时延,花费时间为25μs×2+25ns×2=50.05μs,因此所有命令完成所花费的时间为2.3ms+50.05μs=2.35005ms。与已知的技术相比,本发明的技术手段所节省的时间为3.025025ms-2.35005ms=674.975μs。
值得注意的,图4中的四个存取命令由于不具有相同地址,因此控制程序可以选择任何一个数据存取命令来存取相对应的数据;而当数据读取命令与写入命令具有相同地址时,数据读取命令与数据写入命令必须依序存取,而不与其它数据存取命令调整顺序。另外,当相同命令类型的N个该数据存取命令的数目达到存储数目时,则该必须进行N个该数据存取命令相对应数据的存取后,再进行其它数据存取命令调整顺序。
综合以上技术说明,本发明所述的数据存取整合方法确实解决了现有技术中的缺陷,进而实现了本发明的最主要的目的,而本发明的中心思想可广泛地应用在所有支持序列式高级技术配件界面(SATA)规格的存储装置,如硬盘、光驱等,因此,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作一定的更动与修改,因此本发明的保护范围应以权利要求书为准。

Claims (20)

1.一种数据存取整合方法,应用于数据存储器,其特征是,包含以下步骤:
依序接收由总线所传输的M个数据存取命令;以及
当M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据所述多个存取地址的顺序,将N个数据存取命令调整顺序,对所述数据存储器连续存取N个数据存取命令所对应的第一数据。
2.根据权利要求1所述的数据存取整合方法,其特征是,其中所述M个数据存取命令具有不同命令类型,包括数据读取命令与数据写入命令。
3.根据权利要求2所述的数据存取整合方法,其特征是,当第一数据读取命令与第一数据写入命令具有相同地址时,所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
4.根据权利要求1所述的数据存取整合方法,其特征是,还包括以下步骤:当所述N个数据存取命令的数目达到存储数目时,则所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
5.根据权利要求1所述的数据存取整合方法,其特征是,还包括以下步骤:M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,则根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
6.根据权利要求5所述的数据存取整合方法,其特征是,还包括以下步骤:当所述N个数据存取命令与K个数据存取命令的总和数目达到存储数目时,则所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据存取命令调整顺序。
7.根据权利要求1所述的数据存取整合方法,其特征是,其中所述总线为序列式高级技术配件总线。
8.根据权利要求1所述的数据存取整合方法,其特征是,其中所述数据存储器为快闪存储器。
9.一种数据存取装置,对数据存储器进行数据存取,其特征是包含:
命令序列,依序接收由总线所传输的M个数据存取命令;
控制程序,连接所述命令序列,并对所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,以所述多个存取地址的顺序,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的第一数据。
10.根据权利要求9所述的控制数据存取装置,其特征是,还包含:数据暂存区,连接所述总线与所述数据存储器,并受所述控制程序的控制,以对所述数据存储器存取所述第一数据。
11.根据权利要求9所述的控制数据存取装置,其特征是,其中所述M个数据存取命令具有不同命令类型,包括数据读取命令与数据写入命令。
12.根据权利要求11所述的控制数据存取装置,其特征是,其中当第一数据读取命令与第一数据写入命令具有相同地址时,所述控制程序使得所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
13.根据权利要求9所述的控制数据存取装置,其特征是,其中所述N个数据存取命令的数目达到所述命令序列的存储数目时,所述控制程序使得所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
14.根据权利要求9所述的控制数据存取装置,其特征是,其中所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,所述控制程序根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
15.根据权利要求14所述的控制数据存取装置,其特征是,其中所述N个数据存取命令与K个数据存取命令的总和数目达到命令序列的存储数目时,则所述控制程序对所述第一数据与第二数据至少任一组先进行存取后,再进行其它数据存取命令调整顺序。
16.根据权利要求9所述的控制数据存取装置,其特征是,其中所述总线为序列式高级技术配件总线。
17.根据权利要求9所述的控制数据存取装置,其特征是,其中所述数据存储器为快闪存储器。
18.一种数据存取整合系统,其特征是,主要包含:
主机,依序发出M个数据存取命令;
总线,电连接于所述主机;
数据存取装置,接收所述总线所传输的M个数据存取命令,对所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,以所述多个存取地址的顺序,将N个数据存取命令调整顺序;以及
数据存储器,提供调整顺序的N个数据存取命令,来存取对应的第一数据。
19.根据权利要求18所述的数据存取整合系统,其特征是,其中所述N个数据存取命令的数目达到存储数目时,所述控制数据存取装置使得所述第一数据先进行存取。
20.根据权利要求18所述的数据存取整合系统,其特征是,其中所述控制数据存取装置还包含:
命令序列,电连接于所述总线,暂存所述总线所传输的M个数据存取命令;以及
控制程序,电连接于所述命令序列,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的所述第一数据。
CN200710305929A 2007-12-28 2007-12-28 数据存取整合方法及其系统 Active CN100583059C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710305929A CN100583059C (zh) 2007-12-28 2007-12-28 数据存取整合方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710305929A CN100583059C (zh) 2007-12-28 2007-12-28 数据存取整合方法及其系统

Publications (2)

Publication Number Publication Date
CN101196850A true CN101196850A (zh) 2008-06-11
CN100583059C CN100583059C (zh) 2010-01-20

Family

ID=39547282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710305929A Active CN100583059C (zh) 2007-12-28 2007-12-28 数据存取整合方法及其系统

Country Status (1)

Country Link
CN (1) CN100583059C (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436352A (zh) * 2011-08-29 2012-05-02 浪潮电子信息产业股份有限公司 一种提高ssd的sata接口ncq效率的方法
CN102023811B (zh) * 2009-09-10 2012-11-28 群联电子股份有限公司 对闪存下达程序化指令的方法和系统
US8386699B2 (en) 2009-08-31 2013-02-26 Phison Electronics Corp. Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
CN103049215A (zh) * 2012-12-07 2013-04-17 记忆科技(深圳)有限公司 Io命令处理的方法及其固态硬盘
CN102053914B (zh) * 2009-10-30 2013-07-31 慧荣科技股份有限公司 记忆装置以及存储器的数据存取方法
CN103425439A (zh) * 2013-07-16 2013-12-04 记忆科技(深圳)有限公司 固态硬盘读写的方法及其固态硬盘
TWI447646B (zh) * 2011-11-18 2014-08-01 Asmedia Technology Inc 資料傳輸裝置及多個指令的整合方法
CN106126437A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 存储系统
CN106951374A (zh) * 2016-01-06 2017-07-14 北京忆芯科技有限公司 用于检查块页地址的方法及其装置
CN107783733A (zh) * 2013-11-07 2018-03-09 深圳迈辽技术转移中心有限公司 循序存取侦测系统及方法
CN109407966A (zh) * 2017-08-18 2019-03-01 爱思开海力士有限公司 数据存储装置及其操作方法
CN109542329A (zh) * 2017-09-21 2019-03-29 阿里巴巴集团控股有限公司 日志写入方法、装置及系统
CN110278282A (zh) * 2019-07-01 2019-09-24 成都启英泰伦科技有限公司 一种语音大数据存储调用方法
WO2020042388A1 (zh) * 2018-09-01 2020-03-05 苏州韦科韬信息技术有限公司 一种提升固态硬盘顺序读性能的方法
CN111176566A (zh) * 2019-12-25 2020-05-19 山东方寸微电子科技有限公司 一种支持queue命令的eMMC读写控制方法及存储介质
CN111562983A (zh) * 2020-04-30 2020-08-21 Oppo(重庆)智能科技有限公司 内存优化方法、装置、电子设备及存储介质
CN112130906A (zh) * 2020-09-28 2020-12-25 深圳市宏旺微电子有限公司 一种主机命令处理的方法及装置
CN113282322A (zh) * 2021-05-28 2021-08-20 武汉天喻信息产业股份有限公司 一种提高智能卡生产效率的方法及系统

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386699B2 (en) 2009-08-31 2013-02-26 Phison Electronics Corp. Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
CN102023811B (zh) * 2009-09-10 2012-11-28 群联电子股份有限公司 对闪存下达程序化指令的方法和系统
CN102053914B (zh) * 2009-10-30 2013-07-31 慧荣科技股份有限公司 记忆装置以及存储器的数据存取方法
CN102436352A (zh) * 2011-08-29 2012-05-02 浪潮电子信息产业股份有限公司 一种提高ssd的sata接口ncq效率的方法
TWI447646B (zh) * 2011-11-18 2014-08-01 Asmedia Technology Inc 資料傳輸裝置及多個指令的整合方法
US8843663B2 (en) 2011-11-18 2014-09-23 Asmedia Technology, Inc. Data transmission device and method for merging multiple commands
CN103049215A (zh) * 2012-12-07 2013-04-17 记忆科技(深圳)有限公司 Io命令处理的方法及其固态硬盘
CN103049215B (zh) * 2012-12-07 2015-11-25 记忆科技(深圳)有限公司 Io命令处理的方法及其固态硬盘
CN103425439A (zh) * 2013-07-16 2013-12-04 记忆科技(深圳)有限公司 固态硬盘读写的方法及其固态硬盘
CN107783733A (zh) * 2013-11-07 2018-03-09 深圳迈辽技术转移中心有限公司 循序存取侦测系统及方法
CN107783733B (zh) * 2013-11-07 2020-12-29 航天云网数据研究院(广东)有限公司 循序存取侦测系统及方法
CN106126437B (zh) * 2015-05-07 2020-10-20 爱思开海力士有限公司 存储系统
CN106126437A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 存储系统
CN106951374A (zh) * 2016-01-06 2017-07-14 北京忆芯科技有限公司 用于检查块页地址的方法及其装置
CN109407966A (zh) * 2017-08-18 2019-03-01 爱思开海力士有限公司 数据存储装置及其操作方法
CN109542329A (zh) * 2017-09-21 2019-03-29 阿里巴巴集团控股有限公司 日志写入方法、装置及系统
CN109542329B (zh) * 2017-09-21 2022-04-12 阿里云计算有限公司 日志写入方法、存储管理设备及系统
WO2020042388A1 (zh) * 2018-09-01 2020-03-05 苏州韦科韬信息技术有限公司 一种提升固态硬盘顺序读性能的方法
CN110278282A (zh) * 2019-07-01 2019-09-24 成都启英泰伦科技有限公司 一种语音大数据存储调用方法
CN111176566A (zh) * 2019-12-25 2020-05-19 山东方寸微电子科技有限公司 一种支持queue命令的eMMC读写控制方法及存储介质
CN111176566B (zh) * 2019-12-25 2023-09-19 山东方寸微电子科技有限公司 一种支持queue命令的eMMC读写控制方法及存储介质
CN111562983A (zh) * 2020-04-30 2020-08-21 Oppo(重庆)智能科技有限公司 内存优化方法、装置、电子设备及存储介质
CN111562983B (zh) * 2020-04-30 2023-01-06 Oppo(重庆)智能科技有限公司 内存优化方法、装置、电子设备及存储介质
CN112130906A (zh) * 2020-09-28 2020-12-25 深圳市宏旺微电子有限公司 一种主机命令处理的方法及装置
CN113282322A (zh) * 2021-05-28 2021-08-20 武汉天喻信息产业股份有限公司 一种提高智能卡生产效率的方法及系统

Also Published As

Publication number Publication date
CN100583059C (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
CN100583059C (zh) 数据存取整合方法及其系统
JP5226722B2 (ja) 記憶装置
US7944762B2 (en) Non-volatile memory control
KR101056560B1 (ko) 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
US8316176B1 (en) Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
TW200928731A (en) Method of integrating data assessing commands
CN110431526B (zh) 用于自动化动态字线开始电压的设备与方法
CN103049216B (zh) 固态硬盘及其数据处理方法、系统
EP2704015A1 (en) Non-volatile semiconductor storage system
CN102053914B (zh) 记忆装置以及存储器的数据存取方法
WO2014061055A1 (en) Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system
US20150293856A1 (en) Disk Array Flushing Method and Disk Array Flushing Apparatus
KR20170051563A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20090008766A (ko) 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법
CN113808649A (zh) 存储器装置及其操作方法
US11488671B2 (en) Method, associated memory device and controller thereof for performing programming management
CN101976182A (zh) 一种固态硬盘预读取的方法及其装置
CN103714010A (zh) 存储设备写入方法及存储设备
US11204698B2 (en) Memory controller to set operating environment of memory device, method of operating the same and storage device including the same
US20150261448A1 (en) Memory system, memory controller and control method of non-volatile memory
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
KR102549548B1 (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
CN103412727A (zh) 优化固态硬盘的删减命令的方法及其固态硬盘
US9047959B1 (en) Data storage device, memory control method, and electronic device with data storage device
KR20210025836A (ko) 메모리 컨트롤러, 이를 포함하는 저장 장치 및 메모리 컨트롤러의 동작 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant