CN100583059C - 数据存取整合方法及其系统 - Google Patents
数据存取整合方法及其系统 Download PDFInfo
- Publication number
- CN100583059C CN100583059C CN200710305929A CN200710305929A CN100583059C CN 100583059 C CN100583059 C CN 100583059C CN 200710305929 A CN200710305929 A CN 200710305929A CN 200710305929 A CN200710305929 A CN 200710305929A CN 100583059 C CN100583059 C CN 100583059C
- 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.)
- Active
Links
Images
Landscapes
- Read Only Memory (AREA)
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<1页),此时,快闪存储器需要一个随机读取时延(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 (17)
1.一种数据存取整合方法,应用于数据存储器,其特征是,包含以下步骤:
依序接收由总线所传输的M个数据存取命令;以及
当M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令时,则根据所述多个存取地址的顺序,将N个数据存取命令调整顺序,对所述数据存储器连续存取N个数据存取命令所对应的第一数据;
其中当所述N个数据存取命令的数目达到最大存储数目时,则所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
2.根据权利要求1所述的数据存取整合方法,其特征是,其中所述M个数据存取命令具有不同命令类型,包括数据读取命令与数据写入命令。
3.根据权利要求2所述的数据存取整合方法,其特征是,当第一数据读取命令与第一数据写入命令具有相同地址时,所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
4.根据权利要求1所述的数据存取整合方法,其特征是,还包括以下步骤:M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,则根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
5.根据权利要求4所述的数据存取整合方法,其特征是,还包括以下步骤:当所述N个数据存取命令与K个数据存取命令的总和数目达到最大存储数目时,则所述第一数据与第二数据任一组先进行存取后,再进行其它数据存取命令调整顺序。
6.根据权利要求1所述的数据存取整合方法,其特征是,其中所述总线为序列式高级技术配件总线。
7.根据权利要求1所述的数据存取整合方法,其特征是,其中所述数据存储器为快闪存储器。
8.一种数据存取装置,对数据存储器进行数据存取,其特征是包含:
命令序列模块,依序接收由总线所传输的M个数据存取命令;
控制程序模块,连接所述命令序列模块,并对所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,以所述多个存取地址的顺序,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的第一数据;
其中所述N个数据存取命令的数目达到所述命令序列模块的最大存储数目时,所述控制程序模块使得所述第一数据先进行存取后,再进行其它数据存取命令调整顺序。
9.根据权利要求8所述的数据存取装置,其特征是,还包含:数据暂存区,连接所述总线与所述数据存储器,并受所述控制程序模块的控制,以对所述数据存储器存取所述第一数据。
10.根据权利要求8所述的数据存取装置,其特征是,其中所述M个数据存取命令具有不同命令类型,包括数据读取命令与数据写入命令。
11.根据权利要求10所述的数据存取装置,其特征是,其中当第一数据读取命令与第一数据写入命令具有相同地址时,所述控制程序模块使得所述第一数据读取命令与所述第一数据写入命令依序存取,不与其它数据存取命令调整顺序。
12.根据权利要求8所述的数据存取装置,其特征是,其中所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的存取地址的K个数据存取命令,但不同于N个数据存取命令的命令类型时,所述控制程序模块根据所述存取地址的顺序,将K个数据存取命令调整顺序,对所述数据存储器连续存取K个数据存取命令所对应的第二数据。
13.根据权利要求12所述的数据存取装置,其特征是,其中所述N个数据存取命令与K个数据存取命令的总和数目达到命令序列模块的最大存储数目时,则所述控制程序模块对所述第一数据与第二数据任一组先进行存取后,再进行其它数据存取命令调整顺序。
14.根据权利要求8所述的数据存取装置,其特征是,其中所述总线为序列式高级技术配件总线。
15.根据权利要求8所述的数据存取装置,其特征是,其中所述数据存储器为快闪存储器。
16.一种数据存取整合系统,其特征是,主要包含:
主机,依序发出M个数据存取命令;
总线,电连接于所述主机;
数据存取装置,接收所述总线所传输的M个数据存取命令,对所述M个数据存取命令中,包含具有相同命令类型并具有符合连续地址关系的多个存取地址的N个数据存取命令,以所述多个存取地址的顺序,将N个数据存取命令调整顺序;以及
数据存储器,提供调整顺序的N个数据存取命令,来存取对应的第一数据;
其中所述N个数据存取命令的数目达到最大存储数目时,所述数据存取装置使得所述第一数据先进行存取。
17.根据权利要求16所述的数据存取整合系统,其特征是,其中所述数据存取装置还包含:
命令序列模块,电连接于所述总线,暂存所述总线所传输的M个数据存取命令;以及
控制程序模块,电连接于所述命令序列模块,将N个数据存取命令调整顺序,控制对所述数据存储器连续存取N个数据存取命令所对应的所述第一数据。
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 CN101196850A (zh) | 2008-06-11 |
CN100583059C true 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) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI424435B (zh) | 2009-08-31 | 2014-01-21 | Phison Electronics Corp | 對快閃記憶體下達程式化指令的方法、控制器與儲存系統 |
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 | 資料傳輸裝置及多個指令的整合方法 |
CN103049215B (zh) * | 2012-12-07 | 2015-11-25 | 记忆科技(深圳)有限公司 | Io命令处理的方法及其固态硬盘 |
CN103425439A (zh) * | 2013-07-16 | 2013-12-04 | 记忆科技(深圳)有限公司 | 固态硬盘读写的方法及其固态硬盘 |
CN104636074B (zh) * | 2013-11-07 | 2017-12-29 | 山东格数致新数据技术股份有限公司 | 循序存取侦测系统及方法 |
KR102398611B1 (ko) * | 2015-05-07 | 2022-05-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
CN114968099A (zh) * | 2016-01-06 | 2022-08-30 | 北京忆芯科技有限公司 | 一种访问nvm的方法及nvm控制器 |
KR102474035B1 (ko) * | 2017-08-18 | 2022-12-06 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN109542329B (zh) * | 2017-09-21 | 2022-04-12 | 阿里云计算有限公司 | 日志写入方法、存储管理设备及系统 |
CN109271107A (zh) * | 2018-09-01 | 2019-01-25 | 苏州韦科韬信息技术有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN110278282A (zh) * | 2019-07-01 | 2019-09-24 | 成都启英泰伦科技有限公司 | 一种语音大数据存储调用方法 |
CN111176566B (zh) * | 2019-12-25 | 2023-09-19 | 山东方寸微电子科技有限公司 | 一种支持queue命令的eMMC读写控制方法及存储介质 |
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 | 武汉天喻信息产业股份有限公司 | 一种提高智能卡生产效率的方法及系统 |
-
2007
- 2007-12-28 CN CN200710305929A patent/CN100583059C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101196850A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583059C (zh) | 数据存取整合方法及其系统 | |
US7944762B2 (en) | Non-volatile memory control | |
KR101056560B1 (ko) | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치 | |
JP2011204140A (ja) | 記憶装置 | |
EP2704015A1 (en) | Non-volatile semiconductor storage system | |
CN103049216B (zh) | 固态硬盘及其数据处理方法、系统 | |
KR101431205B1 (ko) | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 | |
US20090228662A1 (en) | Multi-channel memory storage device and control method thereof | |
TW200928731A (en) | Method of integrating data assessing commands | |
CN102053914B (zh) | 记忆装置以及存储器的数据存取方法 | |
WO2014061055A1 (en) | Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system | |
KR20090008766A (ko) | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 | |
KR20170051563A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190102778A (ko) | 전자 장치 및 그것의 동작 방법 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN101976182A (zh) | 一种固态硬盘预读取的方法及其装置 | |
US11204698B2 (en) | Memory controller to set operating environment of memory device, method of operating the same and storage device including the same | |
CN111208937B (zh) | 存储器控制器及其操作方法 | |
CN103714010A (zh) | 存储设备写入方法及存储设备 | |
US20150261448A1 (en) | Memory system, memory controller and control method of non-volatile memory | |
KR20170021557A (ko) | 다수의 맵핑 단위를 이용하는 불휘발성 메모리 시스템 및 그 동작방법 | |
CN102362263A (zh) | Ssd控制器与ssd控制器的操作方法 | |
KR102549548B1 (ko) | 메모리 시스템, 그것의 동작 방법 및 전자 장치 | |
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 |