Data structure product and method for interface transmission
Granted 23 May 2017 · 8 office actions
Assignee: Princeton Technology Corporation
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Chieh Yung Tu, Chun-Hsiung Chen · Examiner: Midys Rojas · AU 2131 · TC 2100
Life of the application
14 dated eventsAbstract
The present invention discloses an interface transmission method including: enabling a first command string including a first sub-command to be transmitted to a storage device from a processing device during a first period; enabling a second command string including a second sub-command to be transmitted to the storage device from the processing device during a second period, wherein the first sub-command and the second sub-command constitute a command; when the command is a write command, enabling a write data string to be transmitted to the storage device from the processing device during a third period, wherein the write data string includes write data; and when the command is a read command, enabling a read data string to be transmitted to the processing device from the storage device during the third period, wherein the read data string includes read data.
Description
13 parts›CROSS REFERENCE TO RELATED APPLICATIONS
This application claims priority of Taiwan Patent Application No. 101143866, filed on Nov. 23, 2012, the entirety of which is incorporated by reference herein.
›Field of the Invention
The present invention relates to an interface transmission method, and in particular to an interface transmission method including transmitting a plurality of commands with a predetermined length.
›Description of the Related Art
Electronic devices typically use memories to store firmware and data. For example, a flash memory and other types of non-volatile memory may be used as a memory in an electronic device. Note that different memory model types may require different operating parameters. The operating parameters include, but are not limited to, the access method, the command format, and so on. Thus, the firmware of an electronic device is usually designed to be compatible with the memory model type of the memory used in the electronic device. The firmware itself contains parameter information about the memory in operation, thus the firmware can properly access or read/write the memory.
However, the design flexibility of electronic devices is limited by the aforementioned conventional technique. For example, the electronic device may not be read or written by the original reading and writing rule after the memory of the electronic device is implemented by another memory model type, or after the electronic device is upgraded. Therefore, the user needs to update the new program code corresponding to the new version. It is difficult for the manufacturer to manage and maintain the various firmware versions.
›BRIEF SUMMARY OF THE INVENTION
A detailed description is given in the following embodiments with reference to the accompanying drawings.
The present invention discloses an interface transmission method applied to a processing device and a storage device. The interface transmission method includes: enabling a first command string to be transmitted to the storage device from the processing device during a first period, wherein the first command string includes a first sub-command having a first predetermined number of bits; enabling a second command string to be transmitted to the storage device from the processing device during a second period, wherein the second command string includes a second sub-command having the first predetermined number of bits, wherein the first sub-command and the second sub-command constitute a command; when the command is a write command, enabling a write data string to be transmitted to the storage device from the processing device during a third period, wherein the write data string includes write data having a second predetermined number of bits, and the third period is scheduled after the first period and the second period; and when the command is a read command, enabling a read data string to be transmitted to the processing device from the storage device during the third period, wherein the read data string includes read data having the second predetermined number of bits.
Additionally, the present invention further discloses a data structure product arranged to be transmitted to a storage device from a processing device for reading data from or writing data to the storage device. The data structure product includes a first command string, a second command string, a write data string and a read data string. The first command string is arranged to be transmitted to the storage device from the processing device during a first period, wherein the first command string includes a first sub-command having a first predetermined number of bits. The second command string is arranged to be transmitted to the storage device from the processing device during a second period, wherein the second command string includes a second sub-command having the first predetermined number of bits, wherein the first sub-command and the second sub-command constitute a command. The write data string is arranged to be transmitted to the storage device from the processing device during a third period, wherein the write data string includes write data having a second predetermined number of bits, and the third period is scheduled after the first period and the second period. The read data string is arranged to be transmitted to the processing device from the storage device during the third period, wherein the read data string includes read data having the second predetermined number of bits.
›BRIEF DESCRIPTION OF THE DRAWINGS
The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
FIG. 1 is a schematic diagram illustrating an embodiment of a data transmission system of the present invention;
FIG. 2 is a signal diagram illustrating an embodiment of a read mode of the present invention;
FIG. 3 is a signal diagram illustrating an embodiment of a write mode of the present invention;
FIG. 4 is a signal diagram illustrating an embodiment of a read-write mode of the present invention;
FIG. 5 is a signal diagram illustrating an embodiment of a command mode of the present invention;
FIG. 6 is a flowchart of an interface transmission method according to an embodiment of the present invention;
FIG. 7 is a flowchart of an interface transmission method according to another embodiment of the present invention;
FIG. 8 is a flowchart of an interface transmission method according to another embodiment of the present invention; and
FIG. 9 is a flowchart of an interface transmission method according to another embodiment of the present invention.
›DETAILED DESCRIPTION OF THE INVENTION · 1 of 7
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
FIG. 1 is a schematic diagram illustrating an embodiment of a data transmission system of the present invention. The data transmission system 100 can operate in four operation modes, and the four operation modes include a write mode, a read mode, a read-write mode, and a command mode. The data transmission system 100 includes a processing device 102 , a storage device 104 , and a transmission interface 106 . The processing device 102 includes a first sub-program 108 and a second sub-program 110 . The first sub-program 108 and the second sub-program 110 are arranged to drive the transmission interface 106 in different periods, respectively, to transmit the commands corresponding to the four operation modes to the storage device 104 , and read data from or write data to the storage device 104 according to the operation modes. In one of the embodiments of the present invention, the processing device 102 can be a micro-processing device. In another embodiment of the present invention, the processing device 102 can be a processing unit including an embedded controller, a chipset, a central-processing unit (CPU) or a plurality of processing devices related to the parallel processing environment (not shown). The storage device 104 can be a read-only memory (ROM) or a buffer arranged to store data or program codes. Furthermore, the storage device 104 can be also arranged to determine the operation modes according to a command produced by the processing device 102 , and transmit and/or receive data according to the operation mode determined by the command. In one of the embodiments of the present invention, the storage device 104 can be applied to a driving controller (not shown) of a display device (not shown), and arranged to store program codes and/or image data, but it is not limited thereto. In other embodiments, the storage device 104 can be implemented in other controllers which are able to calculate data.
The transmission interface 106 includes a write clock WRB, a read clock RDB and a data line DATA, wherein the data line DATA is arranged to transmit data according to the rule of the data structure product provided by the present invention. In another embodiment of the present invention, the transmission interface 106 further includes a chip select line (not shown) arranged to enable the storage device 104 , but it is not limited thereto. The write clock WRB and the read clock RDB are arranged to be provided to the storage device 104 . The data line DATA is arranged to transmit data between the processing device 102 and the storage device 104 .
FIG. 2 is a signal diagram illustrating an embodiment of a read mode of the present invention. When the data transmission system 100 operates in the read mode, the first sub-program 108 of the processing device 102 is arranged to divide a read command into at least one command string M 1 ˜MN. The first sub-program 108 of the processing device 102 is further arranged to enable the command strings M 1 ˜MN to be transmitted to the storage device 104 according to the write clock WRB. It should be noted that each of command strings M 1 ˜MN includes a sub-command having a first predetermined number of bits, wherein the first predetermined number of bits is X. Moreover, the second sub-program 110 of the processing device 102 is further arranged to enable the storage device 104 to transmit at least one undefined data string U 1 ˜UN- 1 and at least one read data string DR 1 ˜DRN to the processing device 102 and receive the undefined data strings U 1 ˜UN- 1 and the read data strings DR 1 ˜DRN according to the read clock RDB. It should be noted that each of the undefined data strings U 1 ˜UN- 1 has undefined data having a second predetermined number of bits, and each of the read data strings DR 1 ˜DRN has read data having the second predetermined number of bits, respectively, wherein the second predetermined number of bits is Y. Moreover, in one of the embodiments of the present invention, the undefined data is invalid data. FIG. 2 includes at least one period P 11 ˜P 1 N, at least one period P 21 ˜P 2 N- 1 and at least one period P 31 ˜P 3 N, wherein each of the periods P 21 ˜P 2 N- 1 are scheduled between two of the periods P 11 ˜P 1 N, and the periods P 31 ˜P 3 N are scheduled after the periods P 11 ˜P 1 N and the periods P 21 ˜P 2 N- 1 .
As shown in FIG. 2 , the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, respectively, and keep at a predetermined voltage level during the periods P 21 ˜P 2 N- 1 and the periods P 31 ˜P 3 N, wherein the first predetermined number of times is X, which is the same as the first predetermined number of bits, and the X is greater than 2. It should be noted that the predetermined voltage level can be a high voltage level or a low voltage level, but it is not limited thereto. The read clock RDB is arranged to toggle for a second predetermined number of times during the periods P 21 ˜P 2 N- 1 and the periods P 31 ˜P 3 N, and keep at a predetermined voltage level during the period(s) P 11 ˜P 1 N, wherein the second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. It should be noted that, in the present invention, X can be either equal to Y or different with Y, but it is not limited thereto.
For example, when the data transmission system 100 operates in the read mode, the first sub-program 108 of the processing device 102 is arranged to divide a read command into the command strings M 1 ˜M 2 according to the length of the read command. The command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 , wherein the period P 21 is scheduled between the period P 11 and the period P 12 . The read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 31 . In other embodiments, the first sub-program 108 of the processing device 102 is arranged to divide a read command into three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 according to the length of the read command. Moreover, when the quantity of the data required by the processing device 102 is greater than Y, which is the second predetermined number of bits, the storage device 104 can divide the data into a plurality of read data strings DR 1 ˜DRN, and transmit the read data strings DR 1 ˜DRN to the processing device 102 in the periods P 31 ˜P 3 N, respectively. It should be noted that, in another embodiment of the present invention, the second sub-program 110 can disable the undefined data strings U 1 ˜UN- 1 to be transmitted to the processing device 102 . Namely, in another embodiment, FIG. 2 does not include the periods P 21 ˜P 2 N- 1 .
›DETAILED DESCRIPTION OF THE INVENTION · 2 of 7
FIG. 3 is a signal diagram illustrating an embodiment of a write mode of the present invention. When the data transmission system 100 operates in the write mode, the first sub-program 108 of the processing device 102 is arranged to divide a write command into at least one command string M 1 ˜MN, and enable the command strings M 1 ˜MN to be transmitted to the storage device 104 according to the write clock WRB. Next, the first sub-program 108 is further arranged to transmit at least one write data string DW 1 ˜DWN to the storage device 104 according to the write clock WRB. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, and each of the write data strings DW 1 ˜DWN includes write data having the second predetermined number of bits, wherein the first predetermined number of bits is X, and the second predetermined number of bits is Y. Moreover, the second sub-program 110 of the processing device 102 is further arranged to enable the storage device 104 to transmit the undefined data string(s) U 1 ˜UN- 1 to the processing device 102 and receive the undefined data strings U 1 ˜UN- 1 according to the read clock RDB. It should be noted that each of the undefined data strings U 1 ˜UN- 1 includes the undefined data having the second predetermined number of bits. Moreover, in one of the embodiments of the present invention, the undefined data is invalid data. FIG. 3 includes at least one period P 11 ˜P 1 N, at least one period P 21 ˜P 2 N- 1 , and at least one period P 31 ˜P 3 N, wherein each of the periods P 21 ˜P 2 N- 1 are scheduled between two of the periods P 11 ˜P 1 N and the periods P 31 ˜P 3 N are scheduled after the periods P 11 ˜P 1 N and the periods P 21 ˜P 2 N- 1 .
As FIG. 3 shows, the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, respectively, and toggle for a second predetermined number of times during the periods P 31 ˜P 3 N, respectively, and keep at a predetermined voltage level during the periods P 21 ˜P 2 N- 1 . The first number of times is X, which is the same as the first predetermined number of bits, and X is greater than 2. The second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. It should be noted that the predetermined voltage level can be a high voltage level or a low voltage level, but it is not limited thereto. The read clock RDB is arranged to toggle for the second predetermined number of times during the periods P 21 ˜P 2 N- 1 , and keep at a predetermined voltage level during the periods P 11 ˜P 1 N and the periods P 31 ˜P 3 N. It should be noted that, in the present invention, X can be either equal to Y or different with Y, but it is not limited thereto.
For example, when the data transmission system 100 operates in the write mode, the first sub-program 108 of the processing device 102 is arranged to divide a write command into the command strings M 1 ˜M 2 according to the length of the write command. The command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 , wherein the period P 21 is scheduled between the period P 11 and the period P 12 . The write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 during the period P 31 . In other embodiments, the first sub-program 108 of the processing device 102 is arranged to divide a write command into three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 according to the length of the write command. Moreover, when the quantity of the data arranged to be n into the storage device 104 required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the processing device 102 can divide the data into a plurality of write data strings DW 1 ˜DWN, and transmit the write data strings DW 1 ˜DWN to the storage device 104 in periods P 41 ˜P 4 N. It should be noted that, in another embodiment, the second sub-program 110 can disable the undefined data strings U 1 ˜UN- 1 to be transmitted to the processing device 102 . Namely, in another embodiment, FIG. 3 does not include the periods P 21 ˜P 2 N- 1 .
FIG. 4 is a signal diagram illustrating an embodiment of a read-write mode of the present invention. When the data transmission system 100 operates in the read-write mode, the first sub-program 108 of the processing device 102 is arranged to divide a read-write command into at least one command string M 1 ˜MN, and enable the command strings M 1 ˜MN to be transmitted to the storage device 104 according to the write clock WRB. Next, the first sub-program 108 is further arranged to transmit t least one write data string DW 1 ˜DWN to the storage device 104 according to the write clock WRB. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, and each of the write data strings DW 1 ˜DWN includes write data having the second predetermined number of bits, wherein the first predetermined number of bits is X, and the second predetermined number of bits is Y. Moreover, the second sub-program 110 of the processing device 102 is further arranged to enable the storage device 104 to transmit the undefined data string(s) U 1 ˜UN- 1 and the read data string(s) DR 1 ˜DRN to the processing device 102 and receive the undefined data strings U 1 ˜UN- 1 and the read data strings DR 1 ˜DRN according to the read clock RDB. It should be noted that each of the undefined data strings U 1 ˜UN- 1 includes undefined data having the second predetermined number of bits, and each of the read data strings DR 1 ˜DRN includes read data having the second predetermined number of bits, respectively. Moreover, in one of the embodiments of the present invention, the undefined data is invalid data. FIG. 4 includes at least one period P 11 ˜P 1 N, at least one period P 21 ˜P 2 N- 1 , at least one period P 31 ˜P 3 N and at least one period P 41 ˜P 4 N, wherein each of the periods P 21 ˜P 2 N- 1 are scheduled between two of the periods P 11 ˜P 1 N, and the periods P 31 ˜P 3 N are scheduled after the periods P 11 ˜P 1 N and the periods P 21 ˜P 2 N- 1 . Moreover, each of the periods P 41 ˜P 4 N are scheduled between two of the periods P 31 ˜P 3 N.
›DETAILED DESCRIPTION OF THE INVENTION · 3 of 7
As shown in FIG. 4 , the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, respectively, and toggle for a second predetermined number of times during the periods P 41 ˜P 4 N, respectively, and keep at a predetermined voltage level during the periods P 21 ˜P 2 N- 1 and the periods P 31 ˜P 3 N. The first predetermined number of times is X, which is the same as the first predetermined number of bits, and X is greater than 2. The second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. It should be noted that the predetermined voltage level can be a high voltage level or a low voltage level, but it is not limited thereto. The read clock RDB is arranged to toggle for the second predetermined number of times during the periods P 21 ˜P 2 N- 1 and the periods P 31 ˜P 3 N, and keep at a predetermined voltage level during the periods P 11 ˜P 1 N and the periods P 41 ˜P 4 N. It should be noted that, in the present invention, X can be either equal to Y or different with Y, but it is not limited thereto.
For example, when the data transmission system 100 operates in read-write mode, the first sub-program 108 of the processing device 102 is arranged to divide a read-write command into the command strings M 1 ˜M 2 according to the length of the read-write command. The command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 , wherein the period P 21 is scheduled between the period P 11 and the period P 12 . The read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 31 . The write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 during the period P 41 . In other embodiments, the first sub-program 108 of the processing device 102 is arranged to divide a read-write command into three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 according to the length of the read-write command. Moreover, when the quantity of the data required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the storage device 104 can divide the data into a plurality of read data strings DR 1 ˜DRN, and transmit the read data strings DR 1 ˜DRN to the processing device 102 in the periods P 31 ˜P 3 N, respectively. When the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the processing device 102 can divide the data into a plurality of write data strings DW 1 ˜DWN, and transmit the write data strings DW 1 ˜DWN to the storage device 104 in periods P 41 ˜P 4 N, respectively. It should be noted that, in another embodiment, the second sub-program 110 can disable the undefined data strings U 1 ˜UN- 1 to be transmitted to the processing device 102 . Namely, in another embodiment, FIG. 5 does not include the periods P 21 ˜P 2 N- 1 .
In another embodiment of the present invention (not shown), when the data transmission system 100 operates in read-write mode, the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, respectively, and toggle for a second predetermined number of times during the periods P 31 ˜P 3 N, respectively, and keep at a predetermined voltage level during the periods P 21 ˜P 2 N- 1 and the periods P 41 ˜P 4 N. The read clock RDB is arranged to toggle for the second predetermined number of times during the periods P 21 ˜P 2 N- 1 and the periods P 41 ˜P 4 N, respectively, and keep at a predetermined voltage level during the periods P 11 ˜P 1 N and the periods P 31 ˜P 3 N.
For example, when the data transmission system 100 operates in read-write mode, the first sub-program 108 of the processing device 102 is arranged to divide a read-write command into the command strings M 1 ˜M 2 according to the length of the read-write command. The command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 . The read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 41 . The write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 during the period P 31 .
FIG. 5 is a signal diagram illustrating an embodiment of a command mode of the present invention. When the data transmission system 100 operates in the command mode, the first sub-program 108 of the processing device 102 is arranged to divide a into at least one command string M 1 ˜MN, and enable the command strings M 1 ˜MN to be transmitted to the storage device 104 according to the write clock WRB. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, wherein the first predetermined number of bits is X. Moreover, the second sub-program 110 of the processing device 102 is further arranged to enable the storage device 104 to transmit the undefined data string(s) U 1 ˜UN- 1 to the processing device 102 and receive the undefined data strings U 1 ˜UN- 1 according to the read clock RDB. It should be noted that each of the undefined data strings U 1 ˜UN- 1 includes the undefined data having the second predetermined number of bits. Moreover, in one of the embodiments of the present invention, the undefined data is invalid data. FIG. 5 includes at least one period P 11 ˜P 1 N and at least one period P 21 ˜P 2 N- 1 , wherein each of the periods P 21 ˜P 2 N- 1 are scheduled between two of the periods P 11 ˜P 1 N.
›DETAILED DESCRIPTION OF THE INVENTION · 4 of 7
As shown in FIG. 5 , the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, and keep at a predetermined voltage level during the periods P 21 ˜P 2 N- 1 . The first predetermined number of times is X, which is the same as the first predetermined number of bits, and X is greater than 2. It should be noted that the predetermined voltage level can be a high voltage level or a low voltage level, but it is not limited thereto. The read clock RDB is arranged to toggle for the second predetermined number of times during the periods P 21 ˜P 2 N- 1 , and keep at a predetermined voltage level during the periods P 11 ˜P 1 N. The second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. It should be noted that, in the present invention, X can be either equal to Y or different with Y, but it is not limited thereto.
For example, when the data transmission system 100 operates in the command mode, the first sub-program 108 of the processing device 102 is arranged to divide a command into the command strings M 1 ˜M 2 according to the length of the command. The command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 , wherein the period P 21 is scheduled between the period P 11 and the period P 12 . In other embodiments, the first sub-program 108 of the processing device 102 is arranged to divide a command into three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 according to the length of the command, etc. It should be noted that, in another embodiment, the second sub-program 110 can disable the undefined data strings U 1 ˜UN- 1 to be transmitted to the processing device 102 . Namely, in another embodiment, FIG. 5 does not include the periods P 21 ˜P 2 N- 1 .
FIG. 6 is a flowchart of an interface transmission method according to an embodiment of the present invention. The interface transmission method is applied to a processing device 102 and a storage device 104 of a data transmission system 100 , wherein the data transmission system operates in a read mode. The process starts at step S 600 .
In step S 600 , the first sub-program 108 of the processing device 102 is arranged to divide a read command into at least one command string M 1 ˜MN. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having a first predetermined number of bits, wherein the first predetermined number of bits is X.
Next, in step S 602 , the first sub-program 108 of the processing device 102 is arranged to enable the command strings M 1 ˜MN to be transmitted to the storage device 104 during the periods P 11 ˜P 1 N, respectively, according to the write clock WRB. Moreover, the second sub-program 110 of the processing device 102 is further arranged to enable the storage device 104 to transmit at least one undefined data string U 1 ˜UN- 1 to the processing device 102 from the storage device 104 and receive the undefined data strings U 1 ˜UN- 1 during at least one period P 21 ˜P 2 N- 1 , respectively, according to the read clock RDB, wherein each of the periods P 21 ˜P 2 N- 1 are scheduled between two of the periods P 11 ˜P 1 N. It should be noted that each of the defined data strings U 1 ˜UN- 1 has an undefined data having a second predetermined number of bits, wherein the second predetermined number of bits is Y.
For example, in FIG. 2 , the write clock WRB is arranged to toggle for a first predetermined number of times during the periods P 11 ˜P 1 N, respectively, wherein the first predetermined number of times is X, which is the same as the first predetermined number of bits, and the X is greater than 2. The read clock RDB is arranged to toggle for a second predetermined number of times during the periods P 21 ˜P 2 N- 1 , wherein the second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. It should be noted that, in the present invention, X can be either equal to Y or different with Y, but it is not limited thereto.
When the first sub-program 108 of the processing device 102 is arranged to divide the read command into the command strings M 1 ˜M 2 , the command string M 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 11 . The command string M 2 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 12 . The undefined data string U 1 is arranged to be transmitted to the processing device 102 from the storage device 104 according to the read clock RDB during the period P 21 , wherein the period P 21 is scheduled between the period P 11 and the period P 12 . In other embodiments, the first sub-program 108 of the processing device 102 is arranged to divide a read command into three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 according to the length of the read command. Moreover, in one embodiment of the present invention, the undefined data is invalid data. Namely, the processing device 102 can ignore the received undefined data. It should be noted that, in another embodiment of the present invention, the second sub-program 110 can disable the undefined data strings U 1 ˜UN- 1 to be transmitted to the processing device 102 . Namely, in another embodiment, periods P 21 ˜P 2 N- 1 do not exist.
Next, in step S 604 , the storage device 104 is arranged to combine the received sub-command(s) to obtain the read command. For example, when the storage device 104 receives two command strings M 1 ˜M 2 , the storage device 104 combines the sub-commands of the received command strings M 1 ˜M 2 to obtain the read command. In other embodiments, the storage device 104 is further arranged to receive three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 , and combine the sub-commands of the received command string, but it is not limited thereto.
›DETAILED DESCRIPTION OF THE INVENTION · 5 of 7
Next, in step S 606 , the storage device 104 transmits the read data string(s) DR 1 ˜DRN to the processing device 102 according to the read command and the read clock RDB provided by the processing device 102 in the period(s) P 31 ˜P 3 N. The process ends at step S 606 . It should be noted that each of the read data strings DR 1 ˜DRN has read data having the second predetermined number of bits, respectively, wherein the second predetermined number of bits is Y.
For example, in FIG. 2 , the read clock RDB is arranged to toggle for a second predetermined number of times during the periods P 31 ˜P 3 N, respectively, wherein the second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. For example, when the quantity of the data required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 31 according to the read clock RDB. Moreover, when the quantity of the data required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the storage device 104 is arranged to divide the data into a plurality of read data strings DR 1 ˜DRN, and transmit the read data strings DR 1 ˜DRN during the periods P 31 ˜P 3 N, respectively.
FIG. 7 is a flowchart of an interface transmission method according to another embodiment of the present invention. The interface transmission method is applied to a processing device 102 and a storage device 104 of a data transmission system 100 , wherein the data transmission system operates in a write mode. The process starts at step S 700 . It should be noted that step S 702 is similar to step S 602 of FIG. 6 . Reference may be made to FIG. 6 for the description of the features of step S 702 .
In step S 700 , the first sub-program 108 of the processing device 102 is arranged to divide a write command into at least one command string M 1 ˜MN. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, wherein the first predetermined number of bits is X.
In step S 704 , the storage device 104 is arranged to combine the received sub-command(s) to obtain the write command. For example, when the storage device 104 receives two command strings M 1 ˜M 2 , the storage device 104 combines the sub-commands of the received command strings M 1 ˜M 2 to obtain the write command. In other embodiments, the storage device 104 is further arranged to receive three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 , and combine the sub-commands of the received command string, but it is not limited thereto.
Next, in step S 706 , the first sub-program 108 of the processing device 102 is arranged to transmit the write data string(s) DW 1 ˜DWN to the storage device 104 during the period(s) P 31 ˜P 3 N according to the write clock WRB. The process ends at step S 706 . It should be noted that each of the write data strings DW 1 ˜DWN includes write data having the second predetermined number of bits, wherein the second predetermined number of bits is Y.
For example, in FIG. 3 , the write clock WRB is arranged to toggle for a second predetermined number of times during the periods P 31 ˜P 3 N, respectively, wherein the second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. For example, when the quantity of the data arranged to be written the storage device 104 required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 31 . Moreover, when the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the processing device 102 is arranged to divide the data into a plurality of write data strings DW 1 ˜DWN, and transmit the write data strings DW 1 ˜DWN to the storage device 104 during the periods P 31 ˜P 3 N, respectively.
FIG. 8 is a flowchart of an interface transmission method according to another embodiment of the present invention. The interface transmission method is applied to a processing device 102 and a storage device 104 of a data transmission system 100 , wherein the data transmission system operates in a read-write mode. The process starts at step S 800 . It should be noted that step S 802 is similar to step S 602 of FIG. 6 . Reference may be made to FIG. 6 for the description of the features of step S 802 .
In step S 800 , the first sub-program 108 of the processing device 102 is arranged to divide a read-write command into at least one command string M 1 ˜MN. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, wherein the first predetermined number of bits is X.
In step S 804 , the storage device 104 is arranged to combine the received sub-command(s) to obtain the read-write command. For example, when the storage device 104 receives two command strings M 1 ˜M 2 , the storage device 104 combines the sub-commands of the received command strings M 1 ˜M 2 to obtain the read-write command. In other embodiments, the storage device 104 is further arranged to receive three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 , and combine the sub-commands of the received command string, but it is not limited thereto.
Next, in step S 806 , the storage device 104 transmits the read data string(s) DR 1 ˜DRN to the processing device 102 during the period(s) P 31 ˜P 3 N according to the read command and the read clock RDB provided by the processing device 102 . Moreover, the first sub-program 108 of the processing device 102 is arranged to transmit the write data string(s) DW 1 ˜DWN to the storage device 104 during the period(s) P 41 ˜P 4 N. The process ends at step S 806 . It should be noted that each of the write data strings DW 1 ˜DWN includes write data having the second predetermined number of bits, wherein the second predetermined number of bits is Y.
›DETAILED DESCRIPTION OF THE INVENTION · 6 of 7
For example, in FIG. 7 , the read clock RDB is arranged to toggle for a second predetermined number of times during the periods P 31 ˜P 3 N, wherein the second predetermined number of times is Y, which is the same as the second predetermined number of bits, and Y is greater than 2. The write clock WRB is arranged to toggle for a second predetermined number of times during the periods P 41 ˜P 4 N, respectively. For example, when the quantity of the data required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 31 according to the read clock RDB. Moreover, when the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 according to the write clock WRB during the period P 41 . In another embodiment, when the quantity of the data required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the storage device 104 is arranged to divide the data into a plurality of read data strings DR 1 ˜DRN, and transmit the read data strings DR 1 ˜DRN to the processing device 102 during the periods P 31 ˜P 3 N, respectively. When the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the processing device 102 is arranged to divide the data into a plurality of write data strings DW 1 ˜DWN, and transmit the write data strings DW 1 ˜DWN to the storage device 104 during the periods P 41 ˜P 4 N, respectively.
In another embodiment of the present invention, the storage device 104 is arranged to transmit the read data string(s) DR 1 ˜DRN to the processing device 102 according to the read command and the read clock RDB provided by the processing device 102 during the period(s) P 41 ˜P 4 N. Moreover, the first sub-program 108 of the processing device 102 is arranged to transmit the write data string(s) DW 1 ˜DWN to the storage device 104 during the period(s) P 31 ˜P 3 N according to the write clock WRB. For example, the read clock RDB is arranged to toggle for the second predetermined number of times during the periods P 41 ˜P 4 N. The write clock WRB is arranged to toggle for the second predetermined number of times during the periods P 31 ˜P 3 N, respectively. When the quantity of the data required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the read data string DR 1 is arranged to be transmitted to the processing device 102 from the storage device 104 during the period P 41 according to the read clock RDB. When the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is less than Y, which is the same as the second predetermined number of bits, the write data string DW 1 is arranged to be transmitted to the storage device 104 from the processing device 102 during the period P 31 according to the write clock WRB. In other embodiments of the present invention, when the quantity of the data required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the storage device 104 is arranged to divide the data into a plurality of read data strings DR 1 ˜DRN, and transmit the read data strings DR 1 ˜DRN to the processing device 102 during the periods P 41 ˜P 4 N, respectively. When the quantity of the data arranged to be written into the storage device 104 required by the processing device 102 is greater than Y, which is the same as the second predetermined number of bits, the processing device 102 is arranged to divide the data into a plurality of write data strings DW 1 ˜DWN, and transmit the write data strings DW 1 ˜DWN to the storage device 104 during the periods P 31 ˜P 3 N, respectively.
FIG. 9 is a flowchart of an interface transmission method according to another embodiment of the present invention. The interface transmission method is applied to a processing device 102 and a storage device 104 of a data transmission system 100 , wherein the data transmission system operates in a command mode. The process starts at step S 900 . It should be noted that step S 902 is similar to step S 602 of FIG. 6 . Reference may be made to FIG. 6 for the description of the features of step S 902 .
In step S 900 , the first sub-program 108 of the processing device 102 is arranged to divide a command into at least one command string M 1 ˜MN. It should be noted that each of the command strings M 1 ˜MN includes a sub-command having the first predetermined number of bits, wherein the first predetermined number of bits is X.
In step S 904 , the storage device 104 is arranged to combine the received sub-command(s) to obtain the command. Next, the storage device 104 executes the combined command. For example, when the storage device 104 receives two command strings M 1 ˜M 2 , the storage device 104 combines the sub-commands of the received command strings M 1 ˜M 2 to obtain the command. In other embodiments, the storage device 104 is further arranged to receive three command strings M 1 ˜M 3 or four command strings M 1 ˜M 4 , and combine the sub-commands of the received command string. The process ends at step S 904 .
The interface transmission method and the data structure product provided by the present invention provide a plurality of command strings M 1 ˜MN having a predetermined length. Therefore, when the length of the data which is required to be provided to the storage device 104 by the user is greater than the predetermined length, the user just has to call the first sub-program 108 of the processing device 102 again, such that the rest of the command can be transmitted to the storage device 104 by the next command string. Furthermore, the user does not need to re-write the program code when the length of the new command is greater than the original predetermined length.
›DETAILED DESCRIPTION OF THE INVENTION · 7 of 7
Data transmission methods, or certain aspects or portions thereof, may take the form of a program code (i.e., executable instructions) embodied in tangible media, such as floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine thereby becomes an apparatus for practicing the methods. The methods may also be embodied in the form of a program code transmitted over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the disclosed methods. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application-specific logic circuits.
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims as granted
6 claimsLog in to read the claims of this application.
Log in to unlockClassifications
3 codes- G06F13/42
- G06F12/00
- G06F12/0879
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock