TWI587142B - 介面傳輸方法以及資料結構產品 - Google Patents
介面傳輸方法以及資料結構產品 Download PDFInfo
- Publication number
- TWI587142B TWI587142B TW101143866A TW101143866A TWI587142B TW I587142 B TWI587142 B TW I587142B TW 101143866 A TW101143866 A TW 101143866A TW 101143866 A TW101143866 A TW 101143866A TW I587142 B TWI587142 B TW I587142B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- period
- storage device
- processor
- read
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims description 49
- 238000000034 method Methods 0.000 title claims description 22
- 239000013013 elastic material Substances 0.000 claims description 5
- 239000000463 material Substances 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/423—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3802—Harddisk connected to a computer port
Description
本發明係有關於介面傳輸方法,且特別是有關於具有複數既定長度之命令的介面傳輸方法。
電子產品通常使用記憶體儲存韌體和資料,舉例而言,記憶體可以是快取記憶體(FLASH)或其他非揮發性記憶體。然而,不同型號的記憶體可能對應不同的操作參數,舉例而言,操作參數包括該記憶體的訪問方式、命令格式等參數。因此,電子產品的讀寫方式一般具有固定的格式,以對該記憶體進行訪問或者讀寫。
以上傳統技術顯然限制了電子產品的設計彈性。舉例來說,若電子產品內的記憶體型號有變動,或者電子產品的版本更新時。因此原版本的讀寫方式無法支持該新型號的記憶體或者更新版本後之電子產品進行讀取。使用者必需重新,載入相應於新的讀寫方式之程式碼。如此一來,使得使用者難於管理與維護。
有鑑於此,本發明提供一種介面傳輸方法及資料結構產品,使得使用者無需為了傳送大於既定長度之命令而重新改寫程式碼。
本發明提供一種介面傳輸方法,其適用於一處理器以
及一儲存裝置之間。介面傳輸方法包括在一第一週期,致使一第一命令串列自處理器傳送至儲存裝置,其中第一命令串列包括具有一第一既定位元數的一第一子命令;在一第二週期,致使一第二命令串列自處理器傳送至儲存裝置,其中第二命令串列包括具有第一既定位元數的一第二子命令,其中第一子命令以及第二子命令用以構成一命令;當命令為一寫入命令時,在一第三週期,致使一寫入資料串列自處理器傳送至儲存裝置,其中寫入資料串列包括具有一第二既定位元數的一寫入資料,並且第三週期係位於第一週期以及第二週期之後;以及當命令為一讀取命令時,在第三週期,致使一讀取資料串列自儲存裝置傳送至處理器,其中讀取資料串列包括具有第二既定位元數的一讀取資料。
本發明亦提供一種資料結構產品,經由一處理器傳送至一儲存裝置,用以對儲存裝置進行讀取或者寫入。資料結構產品包括一第一命令串列,用以在一第一週期,自處理器傳送至儲存裝置,其中第一命令串列包括具有一第一既定位元數的一第一子命令;一第二命令串列,用以在一第二週期,自處理器傳送至儲存裝置,其中第二命令串列包括具有第一既定位元數的一第二子命令,並且第一子命令以及第二子命令構成一命令;一寫入資料串列,用以當命令為一寫入命令時,在一第三週期自處理器傳送至儲存裝置,其中寫入資料串列包括具有一第二既定位元數的一寫入資料,並且第三週期係位於第一週期以及第二週期之後;以及一讀取資料串列,用以當命令為一讀取命令時,
在第三週期自儲存裝置傳送至處理器,其中讀取資料串列包括具有第二既定位元數的一讀取資料。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明所揭露之資料傳輸系統之方塊圖。資料傳輸系統100具有四種操作模式,分別為一寫入模式、一讀取模式、一讀寫模式以及一命令模式。資料傳輸系統100包括一處理器102、一儲存裝置104以及一傳輸介面106。處理器102包括一第一子程序108以及一第二子程序110。第一子程序108以及第二子程序110用以在不同之週期下輪流驅動傳輸介面106,以傳送相應於上述四種操作模式之一命令至儲存裝置104,並且根據操作模式對儲存裝置104進行讀取以及寫入。在本發明之一實施例中,處理器102可為一微處理器。在本發明之另一實施例中,處理器102可為一處理單元,包括一嵌入式控制器、一晶片組以及一單一中央處理器(central-processing unit,CPU)或者是關連於平行運算環境(parallel processing environment)之複數平行中央處理器(未圖示)。儲存裝置104可為一唯讀記憶體或者一緩衝器,用以儲存資料及/或軟體程式碼,
以及根據處理器102所產生之一命令判斷操作模式,並根據相應於命令之判斷模式傳送以及接收資料。在本發明之一實施例中,儲存裝置104可設置於一顯示器(未圖示)之驅動控制器(未圖示)中,用以儲存程式碼及/或影像資料,但本發明不限於此。在其他實施例中,儲存裝置104亦可設置於其他具有計算能力之控制器中。
傳輸介面106包括一寫入時脈WRB、一讀取時脈RDB以及一資料線DATA,其中資料線DATA傳送資料的方式為本發明所提供之資料結構產品。在本發明之另一實施例中,傳輸介面106更包括一晶片選擇線(未圖示),用以致能儲存裝置104,但本發明不限於此。寫入時脈WRB以及讀取時脈RDB用以提供至儲存裝置104。資料線DATA用以在處理器102以及儲存裝置104之間傳送資料。
第2圖係本發明所揭露之讀取模式的訊號圖。當資料傳輸系統100處於讀取模式時,處理器102中之第一子程序108用以將一讀取命令分割為至少一命令串列M1~MN,並且致使命令串列M1~MN根據寫入時脈WRB傳送至儲存裝置104。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。另外,處理器102中之第二子程序110更用以致使儲存裝置104根據讀取時脈RDB將至少一彈性資料串列U1~UN-1以及至少一讀取資料串列DR1~DRN傳送至處理器102,並且接收彈性資料串列U1~UN-1以及讀取資料串列DR1~DRN。值得注意的是,每一彈性資料串列U1~UN-1以及每一讀取資料串列DR1~DRN分別包括具有
一第二既定位元數之彈性資料以及讀取資料,其中第二既定位元數為Y。另外,在本發明之一實施例中,彈性資料係無效之資料。第2圖包括至少一週期P11~P1N、至少一週期P21~P2N-1以及至少一週期P31~P3N,其中週期P21~P2N-1分別位於週期P11~P1N中之兩者之間,並且週期P31~P3N位於週期P11~P1N以及週期P21~P2N-1之後。
如第2圖所示,寫入時脈WRB用以在週期P11~P1N中,分別以一第一既定次數進行切換(toggle),並且在週期P21~P2N-1與週期P31~P3N中,維持在一既定電壓,其中第一既定次數係為與第一既定位元數相同之X,並且X大於2。值得注意的是,既定電壓可為一高位準或者一低位準,本發明不加以限制。讀取時脈RDB用以在週期P21~P2N-1與週期P31~P3N中,分別以一第二既定次數進行切換,並且在至少一週期P11~P1N中,維持在一既定電壓,其中第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。值得注意的是,在本發明中,X可以等於Y,亦可以不等於Y,本發明不加以限制。
舉例而言,當資料傳輸系統100處於讀取模式時,處理器102中之第一子程序108根據一讀取命令之長度,將讀取命令分割為命令串列M1~M2。命令串列M1,用以在週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104傳送至處理器102,其中週期P21位於週期P11以及週期
P12之間。讀取資料串列DR1,用以在週期P31自儲存裝置104傳送至處理器102。在其他實施例中,處理器102中之第一子程序108亦可根據一讀取命令之長度,將讀取命令分割為三個命令串列M1~M3或者四個命令串列M1~M4等等,在此不再贅述。另外,當處理器102所要求之資料大於第二既定位元數Y時,儲存裝置104亦可將資料切割為複數個讀取資料串列DR1~DRN,在複數週期P31~P3N傳送至處理器102。值得注意的是,在本發明之另一實施例中,第二子程序110可不致使彈性資料串列U1~UN-1傳送至處理器102。換言之,在另一實施例中,第2圖可不包括週期P21~P2N-1。
第3圖係本發明所揭露之寫入模式的訊號圖。當資料傳輸系統100處於寫入模式時,處理器102中之第一子程序108用以將一寫入命令分割為至少一命令串列M1~MN,並且致使命令串列M1~MN根據寫入時脈WRB傳送至儲存裝置104。接著,第一子程序108更用以將至少一寫入資料串列DW1~DWN根據寫入時脈WRB傳送至儲存裝置104。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,並且每一寫入資料串列DW1~DWN包括具有一第二既定位元數之寫入資料,其中第一既定位元數為X,並且第二既定位元數為Y。另外,處理器102中之第二子程序110更用以致使儲存裝置104根據讀取時脈RDB將至少一彈性資料串列U1~UN-1傳送至處理器102,並且接收彈性資料串列U1~UN-1。值得注意的是,每一彈性資料串列U1~UN-1包括具有第二既定
位元數之彈性資料。另外,在本發明之一實施例中,彈性資料係無效之資料。第3圖包括至少一週期P11~P1N、至少一週期P21~P2N-1以及至少一週期P31~P3N,其中週期P21~P2N-1分別位於週期P11~P1N中之兩者之間,並且週期P31~P3N位於週期P11~P1N以及週期P21~P2N-1之後。
如第3圖所示,寫入時脈WRB用以在週期P11~P1N中,分別以一第一既定次數進行切換,在週期P31~P3N中,分別以一第二既定次數進行切換,並且在週期P21~P2N-1中,維持在一既定電壓。第一既定次數係為與第一既定位元數相同之X,並且X大於2。第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。值得注意的是,既定電壓可為一高位準或者一低位準,本發明不加以限制。讀取時脈RDB用以在週期P21~P2N-1中,分別以第二既定次數進行切換,並且在週期P11~P1N以及週期P31~P3N中,維持在一既定電壓。值得注意的是,在本發明中,X可以等於Y,亦可以不等於Y,本發明不加以限制。
舉例而言,當資料傳輸系統100處於寫入模式時,處理器102中之第一子程序108根據一寫入命令之長度,將寫入命令分割為命令串列M1~M2。命令串列M1,用以在週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104
傳送至處理器102,其中週期P21位於週期P11以及週期P12之間。寫入資料串列DW1,用以在週期P31自處理器102傳送至儲存裝置104。在其他實施例中,處理器102中之第一子程序108亦可根據一寫入命令之長度,將寫入命令分割為三個命令串列M1~M3或者四個命令串列M1~M4等等,在此不再贅述。另外,當處理器102要求寫入儲存裝置104之資料大於第二既定位元數Y時,處理器102亦可將資料切割為複數個寫入資料串列DW1~DWN,在複數週期P41~P4N傳送至儲存裝置104。值得注意的是,在本發明之另一實施例中,第二子程序110可不致使彈性資料串列U1~UN-1傳送至處理器102。換言之,在另一實施例中,第3圖可不包括週期P21~P2N-1。
第4圖係本發明所揭露之讀寫模式的訊號圖。當資料傳輸系統100處於讀寫模式時,處理器102中之第一子程序108用以將一讀寫命令分割為至少一命令串列M1~MN,並且致使命令串列M1~MN根據寫入時脈WRB傳送至儲存裝置104。接著,第一子程序108更用以將至少一寫入資料串列DW1~DWN根據寫入時脈WRB傳送至儲存裝置104。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,並且每一寫入資料串列DW1~DWN包括具有一第二既定位元數寫入資料,其中第一既定位元數為X,並且第二既定位元數為Y。另外,處理器102中之第二子程序110更用以致使儲存裝置104根據讀取時脈RDB將至少一彈性資料串列U1~UN-1以及至少一讀取資料串列DR1~DRN傳送至處理器102,並且接
收彈性資料串列U1~UN-1以及讀取資料串列DR1~DRN。值得注意的是,每一彈性資料串列U1~UN-1以及每一讀取資料串列DR1~DRN,分別包括具有第二既定位元數之彈性資料以及讀取資料。另外,在本發明之一實施例中,彈性資料係無效之資料。第4圖包括至少一週期P11~P1N、至少一週期P21~P2N-1、至少一週期P31~P3N以及至少一週期P41~P4N,其中週期P21~P2N-1分別位於週期P11~P1N中之兩者之間,並且週期P31~P3N位於週期P11~P1N以及週期P21~P2N-1之後。另外,週期P41~P4N分別位於週期P31~P3N中之兩者之間。
如第4圖所示,寫入時脈WRB用以在週期P11~P1N中,分別以一第一既定次數進行切換,在週期P41~P4N中,分別以一第二既定次數進行切換,並且在週期P21~P2N-1以及週期P31~P3N中,維持在一既定電壓。第一既定次數係為與第一既定位元數相同之X,並且X大於2。第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。值得注意的是,既定電壓可為一高位準或者一低位準,本發明不加以限制。讀取時脈RDB用以在週期P21~P2N-1與週期P31~P3N中,分別以第二既定次數進行切換,並且在週期P11~P1N以及週期P41~P4N中,維持在一既定電壓。值得注意的是,在本發明中,X可以等於Y,亦可以不等於Y,本發明不加以限制。
舉例而言,當資料傳輸系統100處於讀寫模式時,處理器102中之第一子程序108根據一讀寫命令之長度,將讀寫命令分割為命令串列M1~M2。命令串列M1,用以在
週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104傳送至處理器102,其中週期P21位於週期P11以及週期P12之間。讀取資料串列DR1,用以在週期P31自儲存裝置104傳送至處理器102。寫入資料串列DW1,用以在週期P41自處理器102傳送至儲存裝置104。在其他實施例中,處理器102中之第一子程序108亦可根據一讀寫命令之長度,將讀寫命令分割為三個命令串列M1~M3或者四個命令串列M1~M4等等,在此不再贅述。另外,當處理器102所要求之資料大於第二既定位元數Y時,儲存裝置104亦可將資料切割為複數個讀取資料串列DR1~DRN,在複數週期P31~P3N傳送至處理器102。當處理器102要求寫入儲存裝置104之資料大於第二既定位元數Y時,處理器102亦可將資料切割為複數個寫入資料串列DW1~DWN,在複數週期P41~P4N傳送至儲存裝置104。值得注意的是,在本發明之另一實施例中,第二子程序110可不致使彈性資料串列U1~UN-1傳送至處理器102。換言之,在另一實施例中,第4圖可不包括週期P21~P2N-1。
在本發明之另一實施例中(未圖示),當資料傳輸系統100處於讀寫模式時,寫入時脈WRB亦可用以在週期P11~P1N中,分別以一第一既定次數進行切換,在週期P31~P3N中,分別以一第二既定次數進行切換,並且在週期P21~P2N-1以及週期P41~P4N中,維持在一既定電壓。
讀取時脈RDB亦可用以在週期P21~P2N-1與週期P41~P4N中,分別以第二既定次數進行切換,並且在週期P11~P1N以及週期P31~P3N中,維持在一既定電壓。
舉例而言,當資料傳輸系統100處於讀寫模式時,處理器102中之第一子程序108根據一讀寫命令之長度,將讀寫命令分割為命令串列M1~M2。命令串列M1,用以在週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104傳送至處理器102。讀取資料串列DR1,用以在週期P41自儲存裝置104傳送至處理器102。寫入資料串列DW1,用以在週期P31自處理器102傳送至儲存裝置104。
第5圖係本發明所揭露之命令模式的訊號圖。當資料傳輸系統100處於命令模式時,處理器102中之第一子程序108用以將一命令分割為至少一命令串列M1~MN,並且致使命令串列M1~MN根據寫入時脈WRB傳送至儲存裝置104。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。另外,處理器102中之第二子程序110更用以致使儲存裝置104根據讀取時脈RDB將至少一彈性資料串列U1~UN-1傳送至處理器102,並且接收彈性資料串列U1~UN-1。值得注意的是,每一彈性資料串列U1~UN-1,分別包括具有一第二既定位元數之彈性資料。另外,在本發明之一實施例中,彈性資料係無效之資料。第5圖包括至
少一週期P11~P1N以及至少一週期P21~P2N-1,其中週期P21~P2N-1分別位於週期P11~P1N中之兩者之間。
如第5圖所示,寫入時脈WRB用以在週期P11~P1N中,分別以一第一既定次數進行切換,並且在週期P21~P2N-1中,維持在一既定電壓。第一既定次數係為與第一既定位元數相同之X,並且X大於2。值得注意的是,既定電壓可為一高位準或者一低位準,本發明不加以限制。讀取時脈RDB用以在週期P21~P2N-1中,分別以第二既定次數進行切換,並且在週期P11~P1N中,維持在一既定電壓。第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。值得注意的是,在本發明中X可以等於Y,亦可以不等於Y,本發明不加以限制。
舉例而言,當資料傳輸系統100處於命令模式時,處理器102中之第一子程序108根據一命令之長度,將命令分割為命令串列M1~M2。命令串列M1,用以在週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104傳送至處理器102,其中週期P21位於週期P11以及週期P12之間。在其他實施例中,處理器102中之第一子程序108亦可根據一命令之長度,將命令分割為三個命令串列M1~M3或者四個命令串列M1~M4等等,在此不再贅述。值得注意的是,在本發明之另一實施例中,第二子程序110可不致使彈性資料串列U1~UN-1傳送至處理器102。換言之,在另一實
施例中,第5圖可不包括週期P21~P2N-1。
第6圖為本發明所提供介面傳輸方法的流程圖,其適用於資料傳輸系統100之一處理器102以及一儲存裝置104之間,其中資料傳輸系統100處於一讀取模式。流程開始於步驟S600。
在步驟S600中,處理器102中之第一子程序108用以將一讀取命令分割為至少一命令串列M1~MN。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。
接著,在步驟S602中,處理器102中之第一子程序108用以致使命令串列M1~MN根據寫入時脈WRB,在至少一週期P11~P1N依序傳送至儲存裝置104。另外,處理器102中之第二子程序110更用以致使儲存裝置104根據讀取時脈RDB,在至少一週期P21~P2N-1依序將至少一彈性資料串列U1~UN-1自儲存裝置104傳送至處理器102,並且接收彈性資料串列U1~UN-1,其中週期P21~P2N-1分別位於週期P11~P1N中之兩者之間。值得注意的是,每一彈性資料串列U1~UN-1分別包括具有一第二既定位元數之彈性資料,其中第二既定位元數為Y。
舉例而言,如第2圖所示,寫入時脈WRB用以在週期P11~P1N中,分別以一第一既定次數進行切換,其中第一既定次數係為與第一既定位元數相同之X,並且X大於2。讀取時脈RDB用以在週期P21~P2N-1中,分別以一第二既定次數進行切換,其中第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。值得注意的是,在本發明
中X可以等於Y,亦可以不等於Y,本發明不加以限制。
當處理器102中之第一子程序108將讀取命令分割為命令串列M1~M2時,命令串列M1,用以在週期P11,根據寫入時脈WRB自處理器102傳送至儲存裝置104。命令串列M2,用以在週期P12,根據寫入時脈WRB自處理器102傳送至儲存裝置104。彈性資料串列U1,用以在週期P21,根據讀取時脈RDB自儲存裝置104傳送至處理器102,其中週期P21位於週期P11以及週期P12之間。在其他實施例中,處理器102中之第一子程序108亦可根據一讀取命令之長度,將讀取命令分割為三個命令串列M1~M3或者四個命令串列M1~M4等等,在此不再贅述。另外,在本發明之一實施例中,彈性資料係無效之資料。換言之,處理器102可忽略所接收之彈性資料。值得注意的是,在本發明之另一實施例中,第二子程序110亦可不致使彈性資料串列U1~UN-1傳送至處理器102。換言之,週期P21~P2N-1不存在。
接著,在步驟S604中,儲存裝置104將所接收之至少一子命令進行合併,以獲得讀取命令。舉例而言,當儲存裝置104接收到兩個命令串列M1~M2時,儲存裝置104將相應於命令串列M1~M2之子命令進行合併,得到讀取命令。在其他實施例中,儲存裝置104亦可接收到三個命令串列M1~M3或者四個命令串列M1~M4,並將所接收之命令串列中之子命令進行合併,在此不再贅述。
接著,在步驟S606中,儲存裝置104根據讀取命令以及處理器102所提供之讀取時脈RDB,在至少一週期P31
~P3N將至少一讀取資料串列DR1~DRN傳送至處理器102。流程結束於步驟S606。值得注意的是,每一讀取資料串列DR1~DRN分別包括具有第二既定位元數之讀取資料,其中第二既定位元數為Y。
舉例而言,如第2圖所示,讀取時脈RDB用以在週期P31~P3N中,分別以第二既定次數進行切換,其中第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。舉例而言,當處理器102所要求之資料小於第二既定位元數Y時,讀取資料串列DR1根據讀取時脈RDB,在週期P31自儲存裝置104傳送至處理器102。另外,當處理器102所要求之資料大於第二既定位元數Y時,儲存裝置104亦可將資料切割為複數個讀取資料串列DR1~DRN,在複數週期P31~P3N傳送至處理器102,在此不再贅述。
第7圖為本發明所提供介面傳輸方法的流程圖,其適用於資料傳輸系統100之一處理器102以及一儲存裝置104之間,其中資料傳輸系統100處於一寫入模式。流程開始於步驟S700。值得注意的是,步驟S702與第6圖之步驟S602相同,請參考第6圖之說明,在此不再贅述。
在步驟S700中,處理器102中之第一子程序108用以將一寫入命令分割為至少一命令串列M1~MN。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。
在步驟S704中,儲存裝置104將所接收之至少一子命令進行合併,以獲得寫入命令。舉例而言,當儲存裝置104接收到兩個命令串列M1~M2時,儲存裝置104將相應於
命令串列M1~M2之子命令進行合併,得到寫入命令。在其他實施例中,儲存裝置104亦可接收到三個命令串列M1~M3或者四個命令串列M1~M4,並將所接收之命令串列中之子命令進行合併,在此不再贅述。
接著,在步驟S706中,處理器102中之第一子程序108用以將至少一寫入資料串列DW1~DWN根據寫入時脈WRB,在至少一週期P31~P3N傳送至儲存裝置104。流程結束於步驟S706。值得注意的是,每一寫入資料串列DW1~DWN分別包括具有第二既定位元數之讀取資料,其中第二既定位元數為Y。
舉例而言,如第7圖所示,寫入時脈WRB用以在週期P31~P3N中,分別以第二既定次數進行切換,其中第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。舉例而言,當處理器102要求寫入儲存裝置104之資料小於第二既定位元數Y時,寫入資料串列DW1根據寫入時脈WRB,在週期P31自處理器102傳送至儲存裝置104。另外,當處理器102要求寫入儲存裝置104之資料大於第二既定位元數Y時,處理器102亦可將資料切割為複數個寫入資料串列DW1~DWN,在複數週期P31~P3N傳送至儲存裝置104,在此不再贅述。
第8圖為本發明所提供介面傳輸方法的流程圖,其適用於資料傳輸系統100之一處理器102以及一儲存裝置104之間,其中資料傳輸系統100處於一讀寫模式。流程開始於步驟S800。值得注意的是,步驟S802與第6圖之步驟S602相同,請參考第6圖之說明,在此不再贅述。
在步驟S800中,處理器102中之第一子程序108用以將一讀寫命令分割為至少一命令串列M1~MN。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。
在步驟S804中,儲存裝置104將所接收之至少一子命令進行合併,以獲得讀寫命令。舉例而言,當儲存裝置104接收到兩個命令串列M1~M2時,儲存裝置104將相應於命令串列M1~M2之子命令進行合併,得到讀寫命令。在其他實施例中,儲存裝置104亦可接收到三個命令串列M1~M3或者四個命令串列M1~M4,並將所接收之命令串列中之子命令進行合併,在此不再贅述。
接著,在步驟S806中,儲存裝置104根據讀取命令以及處理器102所提供之讀取時脈RDB,在至少一週期P31~P3N將至少一讀取資料串列DR1~DRN傳送至處理器102。另外,處理器102中之第一子程序108用以將至少一寫入資料串列DW1~DWN根據寫入時脈WRB,在至少一週期P41~P4N傳送至儲存裝置104。流程結束於步驟S806。值得注意的是,每一寫入資料串列DW1~DWN分別包括具有第二既定位元數之讀取資料,其中第二既定位元數為Y。
舉例而言,如第7圖所示,讀取時脈RDB用以在週期P31~P3N中,分別以第二既定次數進行切換,其中第二既定次數係為與第二既定位元數相同之Y,並且Y大於2。寫入時脈WRB用以在週期P41~P4N中,分別以第二既定次數進行切換。舉例而言,當處理器102所要求之資料小
於第二既定位元數Y時,讀取資料串列DR1根據讀取時脈RDB,在週期P31自儲存裝置104傳送至處理器102。另外,當處理器102要求寫入儲存裝置104之資料小於第二既定位元數Y時,寫入資料串列DW1根據寫入時脈WRB,在週期P41自處理器102傳送至儲存裝置104。在本發明之其它實施例中,當處理器102所要求之資料大於第二既定位元數Y時,儲存裝置104亦可將資料切割為複數個讀取資料串列DR1~DRN,在複數週期P31~P3N傳送至處理器102,在此不再贅述。當處理器102要求寫入儲存裝置104之資料大於第二既定位元數Y時,處理器102亦可將資料切割為複數個寫入資料串列DW1~DWN,在複數週期P41~P4N傳送至儲存裝置104,在此不再贅述。
在本發明之另一實施例中,儲存裝置104亦可根據讀取命令以及處理器102所提供之讀取時脈RDB,在至少一週期P41~P4N將至少一讀取資料串列DR1~DRN傳送至處理器102。另外,處理器102中之第一子程序108用以將至少一寫入資料串列DW1~DWN根據寫入時脈WRB,在至少一週期P31~P3N傳送至儲存裝置104。舉例而言,讀取時脈RDB可用以在週期P41~P4N中,分別以第二既定次數進行切換。寫入時脈WRB用以在週期P31~P3N中,分別以第二既定次數進行切換。當處理器102所要求之資料小於第二既定位元數Y時,讀取資料串列DR1根據讀取時脈RDB,在週期P41自儲存裝置104傳送至處理器102。當處理器102要求寫入儲存裝置104之資料小於第二既定位元數Y時,寫入資料串列DW1根據寫入時脈WRB,
在週期P31自處理器102傳送至儲存裝置104。在本發明之其它實施例中,當處理器102所要求之資料大於第二既定位元數Y時,儲存裝置104亦可將資料切割為複數個讀取資料串列DR1~DRN,在複數週期P41~P4N傳送至處理器102,在此不再贅述。當處理器102要求寫入儲存裝置104之資料大於第二既定位元數Y時,處理器102亦可將資料切割為複數個寫入資料串列DW1~DWN,在複數週期P31~P3N傳送至儲存裝置104,在此不再贅述。
第9圖為本發明所提供介面傳輸方法的流程圖,其適用於資料傳輸系統100之一處理器102以及一儲存裝置104之間,其中資料傳輸系統100處於一命令模式。流程開始於步驟S900。值得注意的是,步驟S902與第6圖之步驟S602相同,請參考第6圖之說明,在此不再贅述。
在步驟S900中,處理器102中之第一子程序108用以將一命令分割為至少一命令串列M1~MN。值得注意的是,每一命令串列M1~MN包括具有一第一既定位元數的子命令,其中第一既定位元數為X。
在步驟S904中,儲存裝置104將所接收之至少一子命令進行合併,以獲得命令。接著,儲存裝置104根據所合併之命令執行動作。舉例而言,當儲存裝置104接收到兩個命令串列M1~M2時,儲存裝置104將相應於命令串列M1~M2之子命令進行合併,得到命令。在其他實施例中,儲存裝置104亦可接收到三個命令串列M1~M3或者四個命令串列M1~M4,並將所接收之命令串列中之子命令進行合併,在此不再贅述。流程結束於步驟S904。
本發明所提供之介面傳輸方法及資料結構產品,提供複數個具有既定長度之命令串列M1~MN。因此,當使用者希望提供至儲存裝置104之命令的長度大於既定長度時,使用者僅需再呼叫(Call)一次處理器102中之第一子程序108,使得其餘的命令可在下一個命令串列中傳送至儲存裝置104。藉由本發明所提供之介面傳輸方法及資料結構產品,使用者無需在命令的長度大於既定長度時,為了傳送命令而重新改寫程式碼。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理器實作時,程式碼結合處理器提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋
之用,並非用來限制本發明之權利範圍。
100‧‧‧資料傳輸系統
102‧‧‧處理器
104‧‧‧儲存裝置
106‧‧‧傳輸介面
108‧‧‧第一子程序
110‧‧‧第二子程序
WRB‧‧‧寫入時脈
RDB‧‧‧讀取時脈
DATA‧‧‧資料線
M1~MN‧‧‧命令串列
U1~UN-1‧‧‧彈性資料串列
DR1~DRN‧‧‧讀取資料串列
DW1~DWN‧‧‧寫入資料串列
P11~P1N、P21~P2N、P31~P3N、P41~P4N‧‧‧週期
第1圖係本發明所揭露之資料傳輸系統之方塊圖;第2圖係本發明所揭露之讀取模式的訊號圖;第3圖係本發明所揭露之寫入模式的訊號圖;第4圖係本發明所揭露之讀寫模式的訊號圖;第5圖係本發明所揭露之命令模式的訊號圖;第6~9圖為本發明所提供介面傳輸方法的流程圖。
100‧‧‧資料傳輸系統
102‧‧‧處理器
104‧‧‧儲存裝置
106‧‧‧傳輸介面
108‧‧‧第一子程序
110‧‧‧第二子程序
WRB‧‧‧寫入時脈
RDB‧‧‧讀取時脈
DATA‧‧‧資料線
Claims (10)
- 一種介面傳輸方法,其適用於一處理器以及一儲存裝置之間,該方法包括:在一第一週期,致使一第一命令串列根據一寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第一命令串列包括具有一第一既定位元數的一第一子命令;在一第二週期,致使一第二命令串列根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第二命令串列包括具有上述第一既定位元數的一第二子命令,其中上述第一子命令以及上述第二子命令用以構成一命令;致使上述儲存裝置將所接收之上述第一子命令以及上述第二子命令進行合併,以獲得上述命令;當所合併之上述命令為一寫入命令時,在一第三週期,致使一寫入資料串列根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述寫入資料串列包括具有一第二既定位元數的一寫入資料,並且上述第三週期係位於上述第一週期以及上述第二週期之後;當所合併之上述命令為一讀取命令時,在上述第三週期,致使一讀取資料串列根據一讀取時脈自上述儲存裝置傳送至上述處理器,其中上述讀取資料串列包括具有上述第二既定位元數的一讀取資料;以及在一第四週期,致使一第一彈性資料串列根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第一彈性資料串列包括具有上述第二既定位元數的一第一彈性 資料,其中上述第四週期係位於上述第一週期以及上述第二週期之間。
- 如申請專利範圍第1項所述之介面傳輸方法,更包括當所合併之上述命令為一讀寫命令時,在上述第三週期,致使上述寫入資料串列根據上述寫入時脈自上述處理器傳送至上述儲存裝置,並且在一第四週期時,致使上述讀取資料串列根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第四週期位於上述第三週期之後。
- 如申請專利範圍第1項所述之介面傳輸方法,更包括當所合併之上述命令為一讀寫命令時,在上述第三週期,致使上述讀取資料串列根據上述讀取時脈自上述儲存裝置傳送至上述處理器,並且在一第四週期時,致使上述寫入資料串列根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第四週期位於上述第三週期之後。
- 如申請專利範圍第1項所述之介面傳輸方法,更包括:在一第五週期,致使一第三命令串列根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第三命令串列包括具有上述第一既定位元數的一第三子命令,並且上述第五週期位於上述第二週期以及上述第三週期之間;在一第六週期,致使一第二彈性資料串列根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第二彈性資料串列包括具有上述第二既定位元數的一第二彈性資料,並且上述第六週期係為於上述第五週期以及上述第二週期之間;以及 將上述第一子命令、上述第二子命令以及上述第三命令進行合併,以獲得所合併之上述命令。
- 如申請專利範圍第4項所述之介面傳輸方法,其中上述第一彈性資料以及上述第二彈性資料係無效之資料。
- 一種資料結構產品,經由一處理器傳送至一儲存裝置,用以對上述儲存裝置進行讀取或者寫入,包括:一第一命令串列,用以在一第一週期,自上述處理器根據一寫入時脈傳送至上述儲存裝置,其中上述第一命令串列包括具有一第一既定位元數的一第一子命令;一第二命令串列,用以在一第二週期,根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第二命令串列包括具有上述第一既定位元數的一第二子命令;一命令,由合併上述第一子命令以及上述第二子命令所獲得;一寫入資料串列,用以當所合併之上述命令為一寫入命令時,在一第三週期根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述寫入資料串列包括具有一第二既定位元數的一寫入資料,並且上述第三週期係位於上述第一週期以及上述第二週期之後;一讀取資料串列,用以當所合併之上述命令為一讀取命令時,在上述第三週期根據一讀取時脈自上述儲存裝置傳送至上述處理器,其中上述讀取資料串列包括具有上述第二既定位元數的一讀取資料;以及一第一彈性資料串列,用以在一第四週期根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第一 彈性資料串列包括具有上述第二既定位元數的一第一彈性資料,其中上述第四週期位於上述第一週期以及上述第二週期之間。
- 如申請專利範圍第6項所述之資料結構產品,其中上述寫入資料串列,更用以當所合併之上述命令為一讀寫命令時,在上述第三週期根據上述寫入時脈自上述處理器傳送至上述儲存裝置,並且上述讀取資料串列,更用以當所合併之上述命令為上述讀寫命令時,在一第四週期根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第四週期位於上述第三週期之後。
- 如申請專利範圍第6項所述之資料結構產品,其中上述讀取資料串列,更用以當所合併之上述命令為一讀寫命令時,在上述第三週期根據上述寫入時脈自上述儲存裝置傳送至上述處理器,並且上述寫入資料串列,更用以當所合併之上述命令為上述讀寫命令時,在一第四週期根據上述讀取時脈自上述處理器傳送至上述儲存裝置,其中上述第四週期位於上述第三週期之後。
- 如申請專利範圍第6項所述之資料結構產品,更包括:一第三命令串列,用以在一第五週期根據上述寫入時脈自上述處理器傳送至上述儲存裝置,其中上述第三命令串列包括具有上述第一既定位元數的一第三子命令,並且上述第五週期位於上述第二週期以及上述第三週期之間;一第二彈性資料串列,用以在一第六週期根據上述讀取時脈自上述儲存裝置傳送至上述處理器,其中上述第二 彈性資料串列包括具有上述第二既定位元數的一第二彈性資料,上述第六週期位於上述第五週期以及上述第二週期之間,並且上述第一子命令、上述第二子命令以及上述第三命令構成所合併之上述命令。
- 如申請專利範圍第9項所述之資料結構產品,其中上述第一彈性資料以及上述第二彈性資料係無效之資料。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101143866A TWI587142B (zh) | 2012-11-23 | 2012-11-23 | 介面傳輸方法以及資料結構產品 |
US13/839,897 US9658982B2 (en) | 2012-11-23 | 2013-03-15 | Data structure product and method for interface transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101143866A TWI587142B (zh) | 2012-11-23 | 2012-11-23 | 介面傳輸方法以及資料結構產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201421247A TW201421247A (zh) | 2014-06-01 |
TWI587142B true TWI587142B (zh) | 2017-06-11 |
Family
ID=50774360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101143866A TWI587142B (zh) | 2012-11-23 | 2012-11-23 | 介面傳輸方法以及資料結構產品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9658982B2 (zh) |
TW (1) | TWI587142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110554833B (zh) * | 2018-05-31 | 2023-09-19 | 北京忆芯科技有限公司 | 存储设备中并行处理io命令 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732017A (en) * | 1997-03-31 | 1998-03-24 | Atmel Corporation | Combined program and data nonvolatile memory with concurrent program-read/data write capability |
TW200702988A (en) * | 2005-07-11 | 2007-01-16 | Via Tech Inc | Command process method for RAID |
US7680969B1 (en) * | 2004-05-17 | 2010-03-16 | Nvidia Corporation | Method and system for implementing disk IO command splitting |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US7290066B2 (en) * | 2004-03-18 | 2007-10-30 | Lsi Corporation | Methods and structure for improved transfer rate performance in a SAS wide port environment |
US7308526B2 (en) * | 2004-06-02 | 2007-12-11 | Intel Corporation | Memory controller module having independent memory controllers for different memory types |
US7383360B2 (en) * | 2004-11-16 | 2008-06-03 | Mediatek, Inc. | Electronic data storage system divides command requiring data transfer into subcommands, in accordance with performance of devices |
US7917659B2 (en) * | 2005-03-02 | 2011-03-29 | Lsi Corporation | Variable length command pull with contiguous sequential layout |
WO2010119478A1 (en) * | 2009-04-14 | 2010-10-21 | Hitachi, Ltd. | Storage system and control method therefor |
US8473695B2 (en) * | 2011-03-31 | 2013-06-25 | Mosys, Inc. | Memory system including variable write command scheduling |
-
2012
- 2012-11-23 TW TW101143866A patent/TWI587142B/zh not_active IP Right Cessation
-
2013
- 2013-03-15 US US13/839,897 patent/US9658982B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732017A (en) * | 1997-03-31 | 1998-03-24 | Atmel Corporation | Combined program and data nonvolatile memory with concurrent program-read/data write capability |
US7680969B1 (en) * | 2004-05-17 | 2010-03-16 | Nvidia Corporation | Method and system for implementing disk IO command splitting |
TW200702988A (en) * | 2005-07-11 | 2007-01-16 | Via Tech Inc | Command process method for RAID |
Also Published As
Publication number | Publication date |
---|---|
TW201421247A (zh) | 2014-06-01 |
US20140149708A1 (en) | 2014-05-29 |
US9658982B2 (en) | 2017-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180300602A1 (en) | Minimizing memory reads and increasing performance of a neural network environment using a directed line buffer | |
TWI501235B (zh) | 串列介面記憶體中之並行讀取及寫入記憶體操作 | |
JP2004280752A (ja) | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム | |
CN102682841A (zh) | 具有存储设备的温度传感器的使用 | |
BR112017003270B1 (pt) | Método, sistema e meio legível por computador para inércia paramétrica e apis | |
KR20150038490A (ko) | Ssd에 데이터 기록 | |
US8855428B2 (en) | Computing device and boundary line graph checking method | |
US10795606B2 (en) | Buffer-based update of state data | |
CN104699408A (zh) | 触摸屏的操作方法、装置及触摸设备 | |
CN102866883A (zh) | 确定图形状之间的相等间隔向导的显示 | |
US9019292B2 (en) | Reordering graph execution for processing optimization | |
WO2016155387A1 (zh) | 基于移动终端的插件管理方法及装置 | |
TWI587142B (zh) | 介面傳輸方法以及資料結構產品 | |
US9841979B2 (en) | Method and apparatus for shuffling data using hierarchical shuffle units | |
JP6234639B2 (ja) | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム | |
US20190079962A1 (en) | Providing a compact representation of tree structures | |
KR102330394B1 (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
US9329627B2 (en) | Method of recognizing a control command based on finger motion on a touch input device | |
KR20170065696A (ko) | 디스플레이 장치의 터치 감지 방법 및 디스플레이 장치 | |
CN114138292A (zh) | 一种系统升级方法、存储介质及终端设备 | |
JP2012256270A5 (zh) | ||
JP6545417B2 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
CN103853312A (zh) | 来自与数据处理设备的处理器关联的存储器的静态帧显示 | |
JP2011081695A (ja) | データ演算装置の制御回路及びデータ演算装置 | |
JP2015129998A (ja) | ミラーリング装置及びその制御方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |