平码五不中公式规律
  • / 25
  • 下载费用:30 金币  

数据传输方法、存储器控制器、数据传输系统.pdf

关 键 ?#21097;?/dt>
数据传输 方法 存储器 控制器 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201310001975.1

申请日:

2013.01.04

公开号:

CN103914408A

公开日:

2014.07.09

当前法律状态:

授权

有效性:

有权

法?#19978;?#24773;: 授权|||实质审查的生效IPC(主分类):G06F 13/16申请日:20130104|||公开
IPC分类号: G06F13/16 主分类号: G06F13/16
申请人: 群联电子股份有限公司
发明人: 许世贤
地址: 中国台湾苗栗县竹南镇群义路1号
优先权:
专利代理机构: 北京同立钧成知识产权代理有限公司 11205 代理人: 臧建明
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201310001975.1

授权公告号:

||||||

法律状态公告日:

2016.12.28|||2014.08.06|||2014.07.09

法律状态类型:

授权|||实质审查的生效|||公开

摘要

本发明提供一种数据传输方法、存储器控制器与数据传输系统。主机系统执行多个线程以通过使用者接口装置接口对存储器控制器下达指令。此方法包括:由存储器控制器接收来自主机系统的指令包;由存储器控制器根据指令包执行对应一指令的操作以产生响应数据,其被分割为至少一响应数据包;由存储器控制器传送响应包与响应数据包至主机系统;由主机系统根据响应包判断响应数据包的其中之一是否遗失;若有响应数据包遗失,由主机系统传送重送包至存储器控制器要求重新传送遗失?#21335;?#24212;数据包。由此,可以提升传输的数据量并确保数据的完整性。

权利要求书

权利要求书
1.  一种数据传输方法,用于一存储器控制器,其特征在于,该存储器控制器用以电性连接至一主机系统,该主机系统用以执行多个线程以通过至少一使用者接口装置接口对该存储器控制器下达多个指令,每一该些指令是对应于该些线程的其中之一,多个包传送在该存储器控制器与该主机系统之间,该些包符合一使用者接口装置类别,并且每一该些包至少包括一指令序列栏位与一数据栏位,该数据传输方法包括:
由该存储器控制器从该主机系统接收该些包中的至少一指令包,其中该至少一指令包的该指令序列栏位记录该些指令中的一第一指令,并且该至少一指令包的该数据栏位记录该第一指令的内容;
由该存储器控制器至少根据该第一指令的内容执行对应该第一指令的一操作以产生一响应数据,其中该响应数据被分割为该些包中的至少一响应数据包;
由该存储器控制器传?#36879;?#20123;包中的一响应包至该主机系统,其中该响应包的该指令序列栏位记录该第一指令;
由该存储器控制器传?#36879;?#33267;少一响应数据包至该主机系统,其中该至少一响应数据包的该指令序列栏位记录该第一指令;
由该主机系统至少根据该响应包判断该至少一响应数据包的其中之一是否遗失;
若该主机系统判断该至少一响应数据包中的一第一响应数据包遗失,由该主机系统传?#36879;?#20123;包中的一重送包至该存储器控制器以要求该存储器控制器重新传?#36879;?#31532;一响应数据包,其中该重送包的该指令序列栏位记录该第一指令;以及
由该存储器控制器重新传?#36879;?#31532;一响应数据包至该主机系统以响应该重送包。

2.  根据权利要求1所述的数据传输方法,其特征在于,该至少一指令包的该数据栏位还记录一指令数据的一长度。

3.  根据权利要求2所述的数据传输方法,其特征在于,该至少一指令包包括一第一指令包与一第二指令包,该第一指令包的该指令序列栏位记录该第一指令,该第二指令包的该指令序列栏位记录该第二指令,该指令数据是 对应于该第二指令,该指令数据至少被分割为该些包中的一传送数据包,并且每一该些包还包括一传输序列栏位,该数据传输方法还包括:
由该存储器控制器接收来自该主机系统的该传送数据包,其中该传送数据包的该指令序列栏位记录该第二指令,该传送数据包的该传输序列栏位记录该传送数据包的一编号,并且该传送数据包的该数据栏位记录至少部分的该指令数据;以及
由该存储器控制器根据该第二指令包与该指令数据执行对应于该第二指令的一操作。

4.  根据权利要求3所述的数据传输方法,其特征在于,该至少一使用者接口装置接口包括一第一使用者接口装置接口与一第二使用者接口装置接口,该第一使用者接口装置接口不同于该第二使用者接口装置接口,该主机系统通过该第一使用者接口装置接口传?#36879;?#31532;一指令包,该主机系统通过该第二使用者接口装置接口传?#36879;?#31532;二指令包。

5.  根据权利要求1所述的数据传输方法,其特征在于,该响应包的该数据栏位记录该响应数据的一长度。

6.  根据权利要求5所述的数据传输方法,其特征在于,每一该些包还包括一传输序列栏位,该第一响应数据包的该传输序列栏位记录该第一响应数据包的一编号,并且该第一响应数据包的该数据栏位记录至少部分的该响应数据。

7.  根据权利要求6所述的数据传输方法,其特征在于,由该主机系统根据该响应包判断该至少一响应数据包的其中之一是否遗失的步骤包括:
由该主机系统根据该响应数据的该长度以及该至少一响应数据包的该传输序列栏位判断该至少一响应数据包的其中之一是否遗失,
其中由该主机系统传?#36879;?#37325;送包至该存储器控制器的步骤还包括:
由该主机系统记录该第一响应数据包的该编号在该重送包的该传输序列栏位。

8.  根据权利要求1所述的数据传输方法,其特征在于,还包括:
由该存储器控制器传?#36879;?#20123;包中的一状态包至该主机系统,其中该状态包的该数据栏位记录该存储器控制器的一状态。

9.  一种存储器控制器,其特征在于,用于控制一可?#21015;?#24335;?#19988;资?#24615;存储 器模块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统,其中该主机系统用以执行多个线程以通过至少一使用者接口装置接口对该存储器控制器下达多个指令,每一该些指令是对应于该些线程的其中之一,多个包传送在该存储器控制器与该主机系统之间,该些包符合一使用者接口装置类别,并且每一该些包至少包括一指令序列栏位与一数据栏位;
一存储器接口,用以电性连接至该可?#21015;?#24335;?#19988;资?#24615;存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用?#28304;?#35813;主机系统接收该些包中的至少一指令包,其中该至少一指令包的该指令序列栏位记录该些指令中的一第一指令,并且该至少一指令包的该数据栏位记录该第一指令的内容,
其中,该存储器管理电路用以至少根据该第一指令的内容执行对应该第一指令的一操作以产生一响应数据,其中该响应数据被分割为该些包中的至少一响应数据包,
该存储器管理电路用以传?#36879;?#20123;包中的一响应包至该主机系统,其中该响应包的该指令序列栏位记录该第一指令,
该存储器管理电路用以传?#36879;?#33267;少一响应数据包至该主机系统,其中该至少一响应数据包的该指令序列栏位记录该第一指令,
若该至少一响应数据包中的一第一响应数据包遗失,该存储器管理电路用?#28304;?#35813;主机系统接收该些包中的一重送包,其中该重送包的该指令序列栏位记录该第一指令,
该存储器管理电路用以重新传?#36879;?#31532;一响应数据包至该主机系统以响应该重送包。

10.  根据权利要求9所述的存储器控制器,其特征在于,该至少一指令包的该数据栏位还记录一指令数据的一长度。

11.  根据权利要求10所述的存储器控制器,其特征在于,该至少一指令包包括一第一指令包与一第二指令包,该第一指令包的该指令序列栏位记录该第一指令,该第二指令包的该指令序列栏位记录该第二指令,该指令数据是对应于该第二指令,该指令数据至少被分割为该些包中的一传送数据包,并且每一该些包还包括一传输序列栏位,
该存储器管理电路还用以接收来自该主机系统的该传送数据包,其中该传送数据包的该指令序列栏位记录该第二指令,该传送数据包的该传输序列栏位记录该传送数据包的一编号,并且该传送数据包的该数据栏位记录至少部分的该指令数据,
存储器管理电路还用以根据该第二指令包与该指令数据执行对应于该第二指令的一操作。

12.  根据权利要求9所述的存储器控制器,其特征在于,该响应包的该数据栏位记录该响应数据的一长度。

13.  根据权利要求12所述的存储器控制器,其特征在于,每一该些包还包括一传输序列栏位,该第一响应数据包的该传输序列栏位记录该第一响应数据包的一编号,并且该第一响应数据包的该数据栏位记录至少部分的该响应数据。

14.  根据权利要求9所述的存储器控制器,其特征在于,该重送包的该传输序列栏位记录该第一响应数据包的该编号。

15.  根据权利要求9所述的存储器控制器,其特征在于,该存储器管理电路还用以传?#36879;?#20123;包中的一状态包至该主机系统,其中该状态包的该数据栏位记录该存储器控制器的一状态。

16.  一种数据传输系统,其特征在于,包括:
一主机系统;以及
一存储器存储装置,
其中该主机系统用以执行多个线程以通过至少一使用者接口装置接口对该存储器存储装置下达多个指令,每一该些指令是对应于该些线程的其中之一,多个包传送在该存储器存储装置与该主机系统之间,该些包符合一使用者接口装置类别,并且每一该些包至少包括一指令序列栏位与一数据栏位,
其中,该存储器存储装置用?#28304;?#35813;主机系统接收该些包中的至少一指令包,其中该至少一指令包的该指令序列栏位记录该些指令中的一第一指令,并且该至少一指令包的该数据栏位记录该第一指令的内容,
该存储器存储装置用以至少根据该第一指令的内容执行对应该第一指令的一操作以产生一响应数据,其中该响应数据被分割为该些包中的至少一响应数据包,
该存储器存储装置用以传?#36879;?#20123;包中的一响应包至该主机系统,其中该响应包的该指令序列栏位记录该第一指令,
该存储器存储装置用以传?#36879;?#33267;少一响应数据包至该主机系统,其中该至少一响应数据包的该指令序列栏位记录该第一指令,
该主机系统用以至少根据该响应包判断该至少一响应数据包的其中之一是否遗失,
若该主机系统判断该至少一响应数据包中的一第一响应数据包遗失,该主机系统用以传?#36879;?#20123;包中的一重送包至存储器存储装置以要求该存储器存储装置重新传?#36879;?#31532;一响应数据包,其中该重送包的该指令序列栏位记录该第一指令,
该存储器存储装置用以重新传?#36879;?#31532;一响应数据包至该主机系统以响应该重送包。

17.  根据权利要求16所述的数据传输系统,其特征在于,该至少一指令包的该数据栏位还记录一指令数据的一长度。

18.  根据权利要求17所述的数据传输系统,其特征在于,该至少一指令包包括一第一指令包与一第二指令包,该第一指令包的该指令序列栏位记录该第一指令,该第二指令包的该指令序列栏位记录该第二指令,该指令数据是对应于该第二指令,该指令数据至少被分割为该些包中的一传送数据包,并且每一该些包还包括一传输序列栏位,
其中,该存储器存储装置还用以接收来自该主机系统的该传送数据包,其中该传送数据包的该指令序列栏位记录该第二指令,该传送数据包的该传输序列栏位记录该传送数据包的一编号,并且该传送数据包的该数据栏位记录至少部分的该指令数据,
该存储器存储装置还用以根据该第二指令包与该指令数据执行对应于该第二指令的一操作。

19.  根据权利要求18所述的数据传输系统,其特征在于,该至少一使用者接口装置接口包括一第一使用者接口装置接口与一第二使用者接口装置接口,该第一使用者接口装置接口不同于该第二使用者接口装置接口,该主机系统通过该第一使用者接口装置接口传?#36879;?#31532;一指令包,该主机系统通过该第二使用者接口装置接口传?#36879;?#31532;二指令包。

20.  根据权利要求16所述的数据传输系统,其特征在于,该响应包的该数据栏位记录该响应数据的一长度。

21.  根据权利要求20所述的数据传输系统,其特征在于,每一该些包还包括一传输序列栏位,该第一响应数据包的该传输序列栏位记录该第一响应数据包的一编号,并且该第一响应数据包的该数据栏位记录至少部分的该响应数据。

22.  根据权利要求21所述的数据传输系统,其特征在于,该主机系统根据该响应包判断该至少一响应数据包的其中之一是否遗失的操作包括:
该主机系统根据该响应数据的该长度以及该至少一响应数据包的该传输序列栏位判断该至少一响应数据包的其中之一是否遗失,
其中该主机系统传?#36879;?#37325;送包至该控制器的操作还包括:
该主机系统记录该第一响应数据包的该编号在该重送包的该传输序列栏位。

23.  根据权利要求16所述的数据传输系统,其特征在于,该存储器存储装置还用以传?#36879;?#20123;包中的一状态包至该主机系统,其中该状态包的该数据栏位记录该存储器存储装置的一状态。

说明书

说明书数据传输方法、存储器控制器、数据传输系统
技术领域
本发明是有关于一种数据传输方法,且特别是有关于一种与使用者接口装置类别有关的数据传输方法、存储器控制器、数据传输系统。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求?#24067;?#36895;增加。由于可?#21015;?#24335;?#19988;资?#24615;存储器模块(例如,闪速存储器)具有数据?#19988;资?#24615;、省电、体积小,以及无机械结构等特性,所以非常适合内置在上述所举例的各种便携式多媒体装置中。
一般?#27492;擔?#19968;个闪速存储器会由一个存储器控制器所控制,并且此存储器控制器会与一个主机系统合并使用。使用者可以通过主机系统?#31995;?#24212;用程序下达制造商指令(vendor command)给此存储器控制器。然而,在一些情况下,这些制造商指令的类型为小型电脑系统接口(Small Computer SystemInterface,SCSI)指令。若使用者或应用程序没有操作系统的管理者(administrator)权限,则应用程序无法下达SCSI指令给存储器控制器。一个解决的方式是通过使用者接口装置(Human Interface Device,HID)接口来传送数据或指令。然而,HID接口的传输带宽并不高,在一些情况下并不能满足应用程序的需求。并且,若主机系统上有多个线程要传送数据给存储器控制器,一份数据可能会传?#36879;?#38169;误?#21335;?#31243;,因此不能保证主机系统与存储器控制器之间传输的数据的完整性。
因此,如何在HID接口下提升传输的数据量,并且确保数据的完整性,为此领域技术人员所关心的议题。
发明内容
本发明的范例实施例中提出一种数据传输方法、存储器控制器、与数据传输系统,其可以提升传输的数据量并且确保数据的完整性。
本发明一范例实施例提出一种数据传输方法,用于一存储器控制器。此存储器控制器用以电性连接至一主机系统,并且主机系统用以执行多个线程以通过至少一个使用者接口装置接口对存储器控制器下达多个指令。上述每一个指令是对应于上述线程的其中之一。多个包会被传送在存储器控制器与主机系统之间,这些包符合使用者接口装置类别,并且每一个包至少包括指令序列栏位与数据栏位。此数据传输方法包括:由存储器控制器从主机系统接收上述包中的指令包,其中指令包的指令序列栏位记录第一指令,并且指令包的数据栏位记录第一指令的内容;由存储器控制器至少根据第一指令的内容执行对应第一指令的一操作以产生响应数据,其中响应数据被分割为响应数据包;由存储器控制器传送一响应包至主机系统,此响应包的指令序列栏位记录第一指令;由存储器控制器传送响应数据包至主机系统,此响应数据包的指令序列栏位记录第一指令;由主机系统至少根据响应包判断上述响应数据包的其中之一是否遗失;若主机系统判断响应数据包中的第一响应数据包遗失,由主机系统传送一重送包至存储器控制器以要求存储器控制器重新传送第一响应数据包,其中重送包的指令序列栏位记录第一指令;以及,由存储器控制器重新传送第一响应数据包至主机系统以响应重送包。
在一范例实施例中,上述的指令包的数据栏位还记录指令数据的长度。
在一范例实施例中,上述的指令包包括第一指令包与第二指令包。第一指令包的指令序列栏位记录第一指令,而第二指令包的指令序列栏位记录第二指令。上述的指令数据是对应于第二指令,并且此指令数据至少被分割为一个传送数据包。上述每一个包还包括传输序列栏位。此数据传输方法还包括:由存储器控制器接收来自主机系统的传送数据包。其中传送数据包的指令序列栏位记录第二指令,传送数据包的传输序列栏位记录传送数据包的一编号,并且传送数据包的数据栏位记录至少部分的指令数据。此方法还包括:由存储器控制器根据第二指令包与指令数据执行对应于第二指令的操作。
在一范例实施例中,上述的使用者接口装置接口包括第一使用者接口装置接口与第二使用者接口装置接口,并?#19994;?#19968;使用者接口装置接口不同于第二使用者接口装置接口。主机系统是通过第一使用者接口装置接口传送第一指令包,并且主机系统是通过第二使用者接口装置接口传送第二指令包。
在一范例实施例中,上述?#21335;?#24212;包的数据栏位记录响应数据的长度。
在一范例实施例中,第一响应数据包的传输序列栏位记录第一响应数据包的一编号,并?#19994;?#19968;响应数据包的数据栏位记录至少部分?#21335;?#24212;数据。
在一范例实施例中,上述由主机系统根据响应包判断响应数据包的其中之一是否遗失的步骤包括:由主机系统根据响应数据的长度以及响应数据包的传输序列栏位判断响应数据包的其中之一是否遗失。上述由主机系统传送重送包至存储器控制器的步骤还包括:由主机系统记录第一响应数据包的编号在重送包的传输序列栏位中。
在一范例实施例中,上述的数据传输方法还包括:由存储器控制器传送一状态包至主机系统,其中状态包的数据栏位记录存储器控制器的状态。
以另外一个角度?#27492;擔?#26412;发明一范例实施例提出一种存储器控制器,用于控制一可?#21015;?#24335;?#19988;资?#24615;存储器模块。此存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至上述的主机系统。存储器接口是用以电性连接至可?#21015;?#24335;?#19988;资?#24615;存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用?#28304;?#20027;机系统接收至少一个指令包,其中指令包的指令序列栏位记录第一指令,并且指令包的数据栏位记录第一指令的内容。存储器管理电路用以至少根据第一指令的内容执行对应第一指令的操作以产生响应数据,而此响应数据被分割为至少一个响应数据包。存储器管理电路用以传送一响应包至主机系统,并且此响应包的指令序列栏位记录第一指令。存储器管理电路用以传送此响应数据包至主机系统,其中响应数据包的指令序列栏位记录第一指令。若主机系统判断响应数据包中的一个第一响应数据包遗失,存储器管理电路用?#28304;?#20027;机系统接收一个重送包。此重送包的指令序列栏位是记录第一指令。存储器管理电路用以重新传送第一响应数据包至主机系统以响应上述的重送包。
在一范例实施例中,上述的存储器管理电路还用以接收来自主机系统的传送数据包。此传送数据包的指令序列栏位记录第二指令,传送数据包的传输序列栏位记录传送数据包的编号,并且传送数据包的数据栏位记录至少部分的指令数据。存储器管理电路还用以根据第二指令包与指令数据执行对应于第二指令的操作。
在一范例实施例中,上述的存储器管理电路还用以传送状态包至主机系统。状态包的数据栏位会记录存储器控制器的状态。
以另一个角度?#27492;擔?#26412;发明提出一种数据传输系统,包括上述的主机系统与存储器存储装置。主机系统用以执行多个线程以通过至少一个使用者接口装置接口对存储器存储装置下达多个指令。上述的包是传送在主机系统与存储器存储装置之间。存储器存储装置用?#28304;?#20027;机系统接收至少一个指令包。此指令包的指令序列栏位记录第一指令,并且指令包的数据栏位记录第一指令的内容。存储器存储装置用以至少根据第一指令的内容执行对应第一指令的操作以产生响应数据,并且此响应数据会被分割为至少一个响应数据包。存储器存储装置用以传送一响应包至主机系统,其中响应包的指令序列栏位记录第一指令。存储器存储装置也用以传送上述?#21335;?#24212;数据包至主机系统,其中响应数据包的指令序列栏位记录第一指令。主机系统用以至少根据响应包判断上述响应数据包的其中之一是否遗失。若主机系统判断响应数据包中的一个第一响应数据包遗失,主机系统用以传送一重送包至存储器存储装置以要求存储器存储装置重新传送第一响应数据包,其中重送包的指令序列栏位记录第一指令。存储器存储装置还用以重新传送第一响应数据包至主机系统以响应重送包。
在一范例实施例中,上述的存储器存储装置还用以接收来自主机系统的传送数据包。此传送数据包的指令序列栏位记录第二指令,传送数据包的传输序列栏位记录传送数据包的编号,并且传送数据包的数据栏位记录至少部分的指令数据。存储器存储装置还用以根据上述的第二指令包与指令数据执行对应于第二指令的操作。
在一范例实施例中,上述主机系统根据响应包判断响应数据包的其中之一是否遗失的操作包括:主机系统根据响应数据的长度以及响应数据包的传输序列栏位判断响应数据包的其中之一是否遗失。上述主机系统传送重送包至控制器的操作还包括:主机系统记录第一响应数据包的编号在重送包的传输序列栏位中。
在一范例实施例中,上述的存储器存储装置还用以传送状态包至主机系统,其中状态包的数据栏位记录存储器存储装置的状态。
基于上述,在本发明范例实施例所提出的数据传输方法、存储器控制器与数据传输系统中,由于遗失?#21335;?#24212;数据包会被重新传送,由此可以保证数据的完整性。另一方面,每一个指令可以独立地被执行,因此可以增加传输 数据量与传输速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据一范例实施例所示出的主机系统与存储器存储装置;
图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是示出图1A所?#38236;?#23384;储器存储装置的概要方块图;
图3是根据一范例实施例所示出的存储器控制器的概要方块图;
图4是根据一范例实施例示出主机系统与存储器存储装置的传输层级示意图;
图5是根据一范例实施例示出一个包的示意图;
图6是根据一范例实施例示出传送包的流程示意图;
图7是根据一范例实施例示出包遗失的流程示意图;
图8是根据一范例实施例示出数据传输方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1105:应用程序;
1106:输入/输出装置;
1107:操作系统;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206?#21512;?#31034;器;
1208:打印机;
1212:U盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储卡;
1318:CF卡;
1320:?#24230;?#24335;存储装置;
100:存储器存储装置;
102:连接器;
104:存储器控制器;
106:可?#21015;?#24335;?#19988;资?#24615;存储器模块;
304(0)~304(R):实体擦除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
401、411:实体层;
402、412:传输层;
403、413:应用层;
500、601~619、701:包;
510:包类型栏位;
520:指令序列栏位;
530:传输序列栏位;
540:数据栏位;
S802、S804、S806、S808、S810、S812、S814:数据传输方法的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可?#21015;?#24335;?#19988;资?#24615;存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1A是根据一范例实施例所示出的主机系统与存储器存储装置。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。随机存取存储器1104中存储了应用程序1105与操作系统1107。图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图,参照图1B,输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须?#31169;?#30340;是,图1B所?#38236;?#35013;置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所?#38236;腢盘1212、存储卡1214或固态硬盘(Solid State Drive,SSD)1216等的可?#21015;?#24335;?#19988;资?#24615;存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的?#25105;?#31995;统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图,参照图1C,在主机系统为数码相机(摄像机)1310?#20445;?#21487;?#21015;?#24335;?#19988;资?#24615;存储器存储装置则为其所使用的SD卡1312、MMC卡1314、?#19988;?#26834;(memory stick)1316、CF卡1318或?#24230;?#24335;存储装置1320(如图1C所示)。?#24230;?#24335;存储装置1320包括?#24230;?#24335;多 媒体卡(Embedded MMC,eMMC)。?#26723;?#19968;提的是,?#24230;?#24335;多媒体卡是直接电性连接在主机系统的基板上。
图2是示出图1A所?#38236;?#23384;储器存储装置的概要方块图。
请同时参照图1A与图2,存储器存储装置100包括连接器102、存储器控制器104与可?#21015;?#24335;?#19988;资?#24615;存储器模块106。
在本范例实施例中,连接器102是兼容于通用串行总线(Universal SerialBus,USB)标准。USB标准定义了使用者接口装置类别(Human Interface Deviceclass,HID class)与大容量存储装置类别(Mass Storage Device class),使得主机系统1000可以通过其中一个类别来传送指令或数据给连接器102。若主机系统1000要通过HID类别来传送指令或数据,主机系统1000?#31995;?#24212;用程序1105会呼叫操作系统1107提供的应用程序接口(Application Interface,API),并且应用程序接口会通过存储器存储装置100的驱动程序(driver)来传送指令或数据。连接器102可支持一或多个HID接口,应用程序1105可通过这些HID接口来传送指令或数据至连接器102。然而,应用程序1105也可以通过大容量存储装置类别来传送指令或数据给连接器102,本发明并不在此限。
然而,必须?#31169;?#30340;是,在其他范例实施例中,连接器102也可以是符合其他适?#31995;?#26631;准。
存储器控制器104用以执行以?#24067;?#24418;式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可?#21015;?#24335;?#19988;资?#24615;存储器模块106中进行数据的写入、读取与擦除等运作。
可?#21015;?#24335;?#19988;资?#24615;存储器模块106是电性连接至存储器控制器104,并且用以存储主机系统1000所写入的数据。可?#21015;?#24335;?#19988;资?#24615;存储器模块106具有实体擦除单元304(0)~304(R)。例如,实体擦除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体擦除单元分别具有复数个实体程序化单元,并且属于同一个实体擦除单元的实体程序化单元可被独立地写入?#20918;?#21516;时地擦除。例如,每一实体擦除单元是由128个实体程序化单元所组成。然而,必须?#31169;?#30340;是,本发明不限于此,每一实体擦除单元是可由64个实体程序化单元、256个实体程序化单元或其他?#25105;?#20010;实体程序化单元所组成。
更详细?#27492;擔?#23454;体擦除单元为擦除的最小单位。?#24067;矗?#27599;一实体擦除单 元含有最小数目的一并被擦除的单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据位区中会包含4个实体存取地址,且一个实体存取地址的大小为512?#32440;?byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,实体擦除单元为实体区块,并且实体程序化单元为实体页面或实体?#21462;?
在本范例实施例中,可?#21015;?#24335;?#19988;资?#24615;存储器模块106为多层单元(MultiLevel Cell,MLC)NAND型闪速存储器模块,即一个单元中可存储至少2个比特数据。然而,本发明不限于此,可?#21015;?#24335;?#19988;资?#24615;存储器模块106也可是单层单元(Single Level Cell,SLC)NAND型闪速存储器模块、复数层单元(Trinary Level Cell,TLC)NAND型闪速存储器模块、其他闪速存储器模块或其他具有相同特性的存储器模块。
图3是根据一范例实施例所示出的存储器控制器的概要方块图。
请同时参照图1A、图2与图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体?#27492;擔?#23384;储器管理电路202具有多个控制指令,并且在存储器存储装置100运作?#20445;?#27492;些控制指令会被执行以进行数据的写入、读取与擦除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固体形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作?#20445;?#27492;些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储在可?#21015;?#24335;?#19988;资?#24615;存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并?#19994;?#23384;储器控制器104被使能?#20445;?#24494;处理 器单元会先执行此驱动码段来将存储在可?#21015;?#24335;?#19988;资?#24615;存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运行此些控制指令以进行数据的写入、读取与擦除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一?#24067;?#24418;式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可?#21015;?#24335;?#19988;资?#24615;存储器模块106的实体区块;存储器写入单元用以对可?#21015;?#24335;?#19988;资?#24615;存储器模块106下达写入指令以将数据写入至可?#21015;?#24335;?#19988;资?#24615;存储器模块106中;存储器读取单元用以对可?#21015;?#24335;?#19988;资?#24615;存储器模块106下达读取指令?#28304;?#21487;?#21015;?#24335;?#19988;资?#24615;存储器模块106中读取数据;存储器擦除单元用以对可?#21015;?#24335;?#19988;资?#24615;存储器模块106下达擦除指令以将数据从可?#21015;?#24335;?#19988;资?#24615;存储器模块106中擦除;而数据处理单元用?#28304;?#29702;欲写入至可?#21015;?#24335;?#19988;资?#24615;存储器模块106的数据以及从可?#21015;?#24335;?#19988;资?#24615;存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于USB标准。然而,必须?#31169;?#30340;是本发明不限于此,主机接口204也可以是兼容于其他适?#31995;?#25968;据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可?#21015;?#24335;?#19988;资?#24615;存储器模块106。也就是说,欲写入至可?#21015;?#24335;?#19988;资?#24615;存储器模块106的数据会经由存储器接口206转换为可?#21015;?#24335;?#19988;资?#24615;存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以缓存来自于主机系统1000的数据与指令或来自于可?#21015;?#24335;?#19988;资?#24615;存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体?#27492;擔?#24403;存储器管理电路202从主机系统1000中接收到写入指令?#20445;?#38169;误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可?#21015;?#24335;?#19988;资?#24615;存储器模块106中。之后,当存储器管理电路202从可?#21015;?#24335;?#19988;资?#24615;存储器模块106中读取数据?#34987;?#21516;时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码?#36816;?#35835;取的数据执行错误检查与校正程序。
在此范例实施例中,主机系统1000?#31995;?#24212;用程序1105可通过HID接口传送一或多个指令及数据给存储器管理电路202(或存储器控制器104)。在HID类别的规范中,应用程序1105可使用控制管线(control pipe)与中断管线(interrupt pipe)来传送或接收一个包,并且此包可以包括完整的指令或数据或部分的指令或数据。若使用控制管线,则一个包的大小最多为64Byte。若使用中断管线,则一个包的大小最多为64Byte(在USB1.1的标准中)或是1024Byte(在USB2.0和USB3.0的标准中)。在此范例实施例中,不论是传送包或是接收包,应用程序1105与存储器管理电路202(或存储器控制器104)都是使用中断管线。然而,在其他范例实施例中,应用程序1105与存储器管理电路202(或存储器控制器104)也可使用控制管线,本发明并不在此限。
另一方面,存储器管理电路202(或存储器控制器104)会决定一个轮询间距(polling interval),其单位是微讯框(micro frame)。轮询间距是用以表示存储器存储装置100的驱动程序每隔多少时间会接收一个包。举例?#27492;擔?#33509;每一毫秒有8个微讯框会从存储器存储装置100传送至主机系统1000,则存储器存储装置100的驱动程序在一秒钟内最多可以接收8000个包。然而,本发明并不限制轮询间距的数值。
存储器管理电路202(或存储器控制器104)可以调整轮询间距与包的大小,由此提升数据传输的速度。然而,应用程序1105是通过应用程序接口来 与驱动程序(driver)沟通。若主机系统1000的?#24067;?#25928;能不足?#20445;?#24212;用程序1105无法及时地通过应用程序接口取得每一个包,因此会造成包的遗失。另一方面,应用程序1105可能会执行多个线程(thread),而每一个线程可能会下达不同的指令给存储器存储装置100。在一范例实施例中,应用程序1105与存储器管理电路202(或存储器控制器104)会处理遗失的包,并且确保每一个包会被送至对应?#21335;?#31243;。
图4是根据一范例实施例示出主机系统与存储器存储装置的传输层级示意图。
请同时参照图1A与图4,数据传输系统400包括主机系统1000与存储器存储装置100。主机系统1000与存储器存储装置100在逻辑上都可被分为实体层、传输层以及应用层,并且主机系统1000的实体层401、传输层402以及应用层403是分别对应至存储器存储装置100的实体层411、传输层412以及应用层413。实体层是负责一个包的传送与接收。传输层负责将一份数据(例如,一个档案)分割成一或多个包,或者是将多个包组合成一份数据;若有包遗失而需要被重新传送,会由传输层要求重新传送数据。另一方面,一个应用程序会属于应用层。当主机系统1000?#31995;?#24212;用程序1105要传送指令或数据给存储器存储装置100?#20445;?#24212;用程序1105会将这些指令或数据交给传输层402。传输层402会将这些指令或数据分割成一或多个包,并把这些包传?#36879;?#23454;体层401。实体层401会将这些包传?#36879;?#23384;储器存储装置100的实体层411。实体层411会将这些包交给传输层412,传输层412会将接收到的包组合成指令或数据并将指令或数据交给应用层413。存储器管理电路202(或存储器控制器104)会在应用层413执行这些指令或处理这些数据。存储器管理电路202(或存储器控制器104)执行完这些指令后会产生一或多个结果或响应,并且这些结果或响应会再经由传输层412、实体层411、实体层401、传输层402与应用层403而被传送至应用程序1105。
在此范例实施例中,主机系统1000欲对存储器存储装置100下达多个指令;应用程序1105包括了多个线程,并且每一个指令是由这些线程的其中之一所处理并传?#36879;?#23384;储器存储装置100。然而,在主机系统1000与存储器存储装置100之间传送的每一个符合HID类别的包会包括一个指令序列栏位,并且此指令序列栏位会包括一个指令序列。指令序列是用以指示一个包是对 应于哪一个指令。由此,每一个包可被传送至对应?#21335;?#31243;。
此外,在主机系统1000与存储器存储装置100之间传送的每一包还会包括一个包类型栏位、传输序列栏位与数据栏位。以下将举一范例实施例说明一个包的结构。
图5是根据一范例实施例示出一个包的示意图。
请参照图5,包500包括包类型栏位510、指令序列栏位520、传输序列栏位530与数据栏位540。
指令序列栏位520记录了包500所对应的指令。在此假设包500是对应于第一指令。
传输序列栏位530记录包500的一个传输序列。举例?#27492;擔?#33509;主机系统1000要基于第一指令传送一指令数据给存储器管理电路202(或存储器控制器104),此指令数据被分割为多个数据包,并且包500是属于这些数据包的其中之一,则传输序列是用以指示包500在这些数据包中的编号。虽然这些数据包被传送的顺序可不固定,但存储器管理电路202(或存储器控制器104)在接收到这些数据包以后,可以根据这些数据包里的传输序列将这些数据包组合而成为指令数据。
数据栏位540中会记录一数据。然而,本发明并不限制数据的内容。
包类型栏位510会记录包500的包类型,并且此包类型是用以指示包500是属于数据包、指令包、重送包、响应包、与状态包的其中之一。具体?#27492;擔币?#20010;包是从主机系统1000被传?#36879;?#23384;储器存储装置100?#20445;?#27492;包可属于数据包、指令包与重送包的其中之一。另一方面,?#24065;?#20010;包是从存储器存储装置100被传送至主机系统1000?#20445;?#27492;包可属于数据包、响应包、与状态包的其中之一。在此,从主机系统1000传?#36879;?#23384;储器存储装置100的数据包也被称为传送数据包;从存储器存储装置100回传给主机系统1000的数据包也被称为响应数据包。以下将配?#36132;?#31034;说明各种包类型的功能。
图6是根据一范例实施例示出传送包的流程示意图。
请参照图6,在此假设主机系统1000上执行了3个线程;主机系统1000欲对存储器存储装置100下达4个指令,而这4个指令所对应的指令序列为0~3;在此称指令序列0~3所对应的指令分别为第一指令、第二指令、第三指令与第四指令;第一指令与第二指令各自都会传送一指令数据给存储器存储 装置,而第三指令与第四指令则没有指令数据要传送。其中第一指令要传送的指令数据会被分为2个传送数据包;第二指令所要传送的指令数据会被分为1个传送数据包。图6中示出的每一个包601~619都符合HID类别,并且每一个包601~619中的栏位依序为包类型栏位、指令序列栏位、传输序列栏位与数据栏位。在此,包类型栏位中的包类型用C、D、S与R来表示;C表示指令包;D表示数据包;S表示状态包;R表示响应包。此外,由于主机系统1000上执行了三个线程,因此主机系统1000最多可以同时处理三个指令。并且,在指令序列栏位与传输序列栏位中的“x?#21271;?#31034;其中的数据并不会在此范例实施例中被使用到。
首先,主机系统1000会传送指令包601~603给存储器管理电路202(或存储器控制器104)。指令包601是对应于第一指令,指令包602是对应于第二指令,并且指令包603是对应于第三指令。在此假设第一指令是对应于一个第一线程;第二指令是对应于一个第二线程;第三指令是对应于一个第三线程。也就是说,指令包601是由第一线程所传送,指令包602是由第二线程所传送,并且指令包603是由第三线程所传送。若一个包属于指令包,则此包的数据栏位中的数据是记录一个指令的内容一个指令数据的长度。例如,第一指令是一个写入指令,指令包601的数据栏位中的数据会记录第一线程基于第一指令所要写入的存储器地址,并记录第一线程所要传输的指令数据是被分割为两个传送数据包。然而,本发明并不限制指令的内容。另一方面,在此范例实施例中是用传送数据包的个数来记录一个指令数据的长度,然而,在其他范例实施例中也可以用?#32440;?Byte)或其他数值来记录指令数据的长度,本发明并不在此限。
存储器管理电路202(或存储器控制器104)会建立状态包604,并将状态包604传?#36879;?#20027;机系统1000。若一个包属于状态包,则此包的数据栏位中的数据会记录存储器管理电路202(或存储器控制器104)的一个状态。例如,包604中记录了存储器管理电路202(或存储器控制器104)目前并不是处于一个忙碌状态,即存储器管理电路202(或存储器控制器104)目前可以接收新的指令。然而,?#26723;?#27880;意的是,存储器管理电路202(或存储器控制器104)可以定期或是不定期的回传一个状态包给主机系统1000,本发明并不限制传送状态包的时间点。
接下来,主机系统1000会建立传送数据包605~607并且将它们传?#36879;?#32473;存储器管理电路202(或存储器控制器104)。一个数据包(即,传送数据包或是响应数据包)的传输序列栏位所记录的传输序列会指示此数据包在多个要传输的数据包中的一个编号。传送数据包的数据栏位中的数据会属于一个指令数据。具体?#27492;擔?#31532;一线程欲传送的指令数据会被分为两个数据包(即,数据包605与607,也被称为传送数据包),数据包605的编号为“0?#20445;?#24182;且数据包607的编号为“1”。另一方面,第二指令所要传送的指令数据会被分割为数据包606,并且数据包606的编号为“0”。换句话说,数据包605与607的数据栏位中的数据会组合成第一指令所要传送的指令数据;而数据包606的数据栏位中的数据即是第二指令所要传送的指令数据。?#26723;?#27880;意的是,由于第三线程并没有指令数据要传送,因此第三线程并不会传送数据包给存储器管理电路202(或存储器控制器104)。
在接收到指令包601~603以后,存储器管理电路202(或存储器控制器104)至少会根据指令包601~603中数据栏位的数据来执行对应于第一指令、第二指令与第三指令的操作。例如,存储器管理电路202(或存储器控制器104)会根据指令包603的数据栏位里的数据执行对应于第三指令的操作。另一方面,存储器管理电路202(或存储器控制器104)至少会根据指令包601中数据栏位的数据以及数据包605与607中数据栏位的数据执行对应于第一指令的操作。存储器管理电路202(或存储器控制器104)?#19981;?#33267;少根据指令包602中数据栏位的数据以及数据包606中数据栏位的数据执行对应于第二指令的操作。?#26723;?#27880;意的是,存储器管理电路202(或存储器控制器104)可执行写入操作、读取操作或是数据搬移操作。然而,本发明并不限制这些操作的内容。
在完成对应于一个指令的操作以后,存储器管理电路202(或存储器控制器104)会产生一个响应包。此外,根据操作的结果,存储器管理电路202(或存储器控制器104)也可能会产生一个响应数据。并且,响应包的数据栏位中会记录此响应数据的长度。举例?#27492;擔?#21709;应包610是对应于第三指令,并且响应包610的数据栏位记录了一个响应数据的长度(假设为2)。因此,对应于第三指令?#21335;?#24212;数据会被分割为两个数据包(即,数据包611与613,也被称为响应数据包)。数据包611中的传输序列会指示数据包611的编号(即,“0”),而数据包613中的传输序列会指示数据包613的编号(即,“1”)。数据包611 中数据栏位的数据是属于对应于第三指令的指令数据;并且数据包613中数据栏位的数据也是属于对应于第三指令的指令数据。也就是说,数据包611与613的数据栏位中的数据可组合成对应于第三指令?#21335;?#24212;数据。存储器管理电路202(或存储器控制器104)会建立数据包611与613并将数据包611与613传?#36879;?#20027;机系统1000。
另一方面,存储器管理电路202(或存储器控制器104)执行完对应于第一指令的操作以后并不会产生响应数据,因此存储器管理电路202(或存储器控制器104)会传送响应包612给主机系统1000,但存储器管理电路202(或存储器控制器104)不会传送一个对应于第一指令的数据包给主机系统1000。?#26723;?#27880;意的是,在此范例实施例中,存储器管理电路202(或存储器控制器104)是先产生对应于第三指令?#21335;?#24212;包,再产生对应于第一指令?#21335;?#24212;包。然而,在其他范例实施例中,存储器管理电路202(或存储器控制器104)是先产生对应于第一指令?#21335;?#24212;包,再产生对应于第三指令?#21335;?#24212;包。本发明并不限制产生响应包的顺序。
在主机系统1000接收到响应包610与612,以及数据包611与613以后,主机系统1000便会知道第一指令与第三指令已被执行完毕。当第一指令已被执行完毕以后,接下来第一线程便可以再传送对应于第四指令的指令包614。在此范例实施例中,主机系统1000执行了三个线程,因此主机系统1000一次最多可处理三个指令。然而,在其他范例实施例中,主机系统1000上可执行数目更多或更少?#21335;?#31243;,由此处理数目更多或更少的指令,本发明并不在此限。
类似地,在执行完对应于第二指令与第四指令的操作以后,存储器管理电路202(或存储器控制器104)会产生响应包616与618,以及数据包617与619。在此并不再赘述包的内容。
特别的是,在接收到响应包610以后,主机系统1000便可以根据响应包610中数据栏位的数据以及数据包611与613中的传输序列判断数据包611与数据包613的其中之一是否遗失。若数据包611与数据包613的其中之一遗失了,主机系统1000便会传送一个重送包给存储器管理电路202(或存储器控制器104),由此要求存储器管理电路202(或存储器控制器104)重新传送遗失的数据包。相同地,主机系统1000也可以根据响应包616判断数据包617 是否遗失;主机系统1000也可以根据响应包618判断数据包619是否遗失。
图7是根据一范例实施例示出包遗失的流程示意图。
请参照图7,图7中示出的每一个包601~619和包701都符合HID类别,并且每一个包601~619中的栏位依序为包类型栏位、指令序列栏位、传输序列栏位与数据栏位。在此,包类型栏位中的包类型用C、D、S、R、与A来表示;C表示指令包;D表示数据包;S表示状态包;R表示响应包;而A表示重送包。在此假设数据包611(也被称为第一响应数据包)在传输的过程中遗失了。由于主机系统1000可以根据响应包610得知对应于第三指令?#21335;?#24212;数据的长度为2,并且可以得知数据包613中的传输序列为“1”。因此,主机系统1000会根据响应数据的长度(即,2)以及数据包613的传输序列判断其传输序列为“0”的数据包611遗失了。在判断数据包611遗失了以后,主机系统1000会传送一个重送包701给存储器管理电路202(或存储器控制器104)。主机系统1000会设定重送包701中的指令序列指示重送包701是对应于第三指令,并且重送包701中的传输序列指示数据包611在多个数据包中的编号(即,“0”)。在接收到重送包701以后,存储器管理电路202(或存储器控制器104)便会重新传送数据包611给主机系统1000以响应重送包701。
在此范例实施例中,应用程序1105与存储器管理电路202(或存储器控制器104)是通过一个使用者接口装置接口来传输与接收包601~619。然而,在其他范例实施例中,应用程序1105与存储器管理电路202(或存储器控制器104)可以通过多个使用者接口装置接口来传送与接收包601~619,由此让包601~619可以同时地被传送。举例?#27492;擔?#31532;一线程是使用一个第一使用者接口装置接口来传送指令包601、数据包605与数据包607;第二线程是使用一个第二使用者接口装置接口来传送指令包602与数据包606;第三线程是使用一个第三使用者接口装置接口来传送指令包603与重送包701。并且,第一使用者接口装置接口、第二使用者接口装置接口与第三使用者接口装置接口彼此并不相同。然而,本发明并不限制使用者接口装置接口的个数,也不限制每一个使用者接口装置接口要传送哪些包。
图8是根据一范例实施例示出数据传输方法的流程图。
请参照图8,在步骤S802中,由存储器控制器接收来自主机系统的指令包。此指令包的指令序列栏位记录第一指令,并且指令包的数据栏位记录第 一指令的内容。
在步骤S804中,由存储器控制器至少根据第一指令的内容执行对应第一指令的操作以产生响应数据,其中响应数据会被分割为至少一个响应数据包。
在步骤S806中,由存储器控制器传送一响应包至主机系统,并且此响应包的指令序列栏位是记录第一指令。
在步骤S808中,由存储器控制器传送响应数据包至主机系统,并且响应数据包的指令序列栏位是记录第一指令。
在步骤S810中,由主机系统至少根据响应包判断上述响应数据包的其中之一是否遗失。
若步骤S810的结果为“是?#20445;?#22312;步骤S812中,由主机系统传送一重送包至存储器控制器以要求存储器控制器重新传送遗失?#21335;?#24212;数据包。在步骤S814中,由存储器控制器重新传送遗失?#21335;?#24212;数据包至主机系统以响应重送包。
若步骤S810的结果为否,存储器控制器会重新回到步骤S802。
然而,图8中各步骤已详细说明如上,在此便不再赘述。此外,此数据传输方法可被实作为多个程序指令(program instruction),并且这些程序指令是由步骤S802中所指的存储器控制器所执行。然而,在其他范例实施例中,此存储器控制器可以被配置在鼠标、打印机、或其他使用者接口装置上。或者,图8中各步骤也可以被实作为一或多个电路,本发明并不在此限。
综上所述,在本发明范例实施例所提出的数据传输方法、存储器控制器、存储器存储装置与数据传输系统中,由于一个符合HID类别的包中还包括了上述的栏位,因此每一个包可以被传送到正确?#21335;?#31243;。如此一来,每一个线程可以独立的执行一或多个指令。再者,应用程序与存储器管理电路(或存储器控制器)可以通过多个HID接口来传送包,由此增加传输包的数量。另一方面,若一个包遗失了,应用程序也可以通过重送包来指示存储器管理电路(或存储器控制器)重新传送包,由此确保数据的完整性。
最后应说明的是:以上各实施例仅用?#36816;?#26126;本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方?#38468;?#34892;修?#27169;?#25110;者对其中部?#21482;?#32773;全部技术特征进?#26800;?#21516;替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

关于本文
本文标题:数据传输方法、存储器控制器、数据传输系统.pdf
链接地址:http://www.pqiex.tw/p-6115627.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 不思议迷宫西洋棋 大学开食堂赚钱 足球直播 12选5前三技巧稳赚 百年3肖6码资料网站 5A彩票网APP 如何破解奔驰宝马真人版 3d购买技巧 西游争霸密码打法 港彩资料6码爆庄