A method for reading non-standard register of Serial Advanced Technology Attachment (sata) devices discloses an unused input parameter of standard command setting up as an executive parameter. While receiving the standard command, a sata host controller converts the executive parameter and the standard command into input frame information structure (FIS) that is sent to the sata devices for the sata devices to detect the executive parameter for reading corresponding value of non-standard register and saving the value into an output register of the sata devices. The value of the non-standard register is converted into output frame information structure for being sent to the sata host controller and the value of the non-standard register is saved to the output register of the sata host controller. Then by reading the value of the output register of the sata host controller, the value of the non-standard register is learned.
|
13. A method for writing non-standard register of Serial Advanced Technology Attachment (sata) devices by a standard command having a plurality of unused input parameters, comprising the steps of:
setting up at least a pair of unused input parameters of the standard command as an executive parameter and a data parameter respectively;
sending the standard command with the executive parameter and the data parameter into a sata host controller for converting the standard command, the executive parameter and the data parameter into an input frame information structure;
transmitting the input frame information structure to a sata device for detecting the executive parameter to read the data parameter; and
writing the data parameter into the non-standard register.
1. A method for reading non-standard register of Serial Advanced Technology Attachment (sata) devices by using an unused input parameter of a standard command to drive a sata device to read a value of the non-standard register, and saving the value into an output register of the sata device corresponding to an unused output parameter in response to the standard command, comprising the steps of:
setting up the unused input parameter as an executive parameter;
sending the standard command with the executive parameter into a sata host controller for converting the standard command and the executive parameter to an input frame information structure;
transmitting the input frame information structure to the sata device for detecting the executive parameter by the sata device to read the value of the non-standard register; and
saving the value of the non-standard register into the output register of the sata device.
2. The method as claimed in
converting the value of the non-standard register into an output frame information structure;
sending the output frame information structure to the sata host controller;
saving the value of the non-standard register into the output register of the sata host controller; and
reading the value of the output register of the sata host controller.
3. The method as claimed in
setting up at least one unused input parameter of another standard command as a confirmation parameter;
sending the standard command with the confirmation parameter into the sata host controller for converting the standard command and the confirmation parameter into the input frame information structure; and
transmitting the input frame information structure having the standard command and the confirmation parameter into the sata device for the sata device to detect the confirmation parameter and confirm the value of the non-standard register intended to read.
4. The method as claimed in
saving the confirmation parameter into a corresponding input register of the sata host controller.
5. The method as claimed in
saving the standard command with the confirmation parameter into a command register of the sata host controller.
6. The method as claimed in
setting up another unused input parameter of the standard command as a confirmation parameter; and
converting the confirmation parameter into the input frame information structure for the sata device to detect the confirmation parameter and to confirm the value of the non-standard register intended to read.
7. The method as claimed in
saving the confirmation parameter into a corresponding input register of the sata host controller.
8. The method as claimed in
saving the executive parameter into a corresponding input register of the sata host controller.
9. The method as claimed in
setting up another unused input parameter of the standard command as an index parameter into the sata host controller; and
converting the index parameter into the input frame information structure for the sata device to detect the index parameter and to read the value of the non-standard register corresponding to the index parameter.
10. The method as claimed in
saving the index parameter into a corresponding input register of the sata host controller.
11. The method as claimed in
saving the standard command into a command register of the sata host controller.
12. The method as claimed in
14. The method as claimed in
setting up at least one unused input parameter of another standard command as a confirmation parameter;
sending the standard command with the confirmation parameter into the sata host controller for converting the standard command and the confirmation parameter into the input frame information structure; and
transmitting the input frame information structure having the standard command and the confirmation parameter into the sata device for the sata device to detect the confirmation parameter and confirm the data parameter intended to write into the non-standard register.
15. The method as claimed in
saving the confirmation parameter into a corresponding input register of the sata host controller.
16. The method as claimed in
saving the standard command with the confirmation parameter into a command register of the sata host controller.
17. The method as claimed in
setting up another unused input parameter of the standard command as a confirmation parameter into the sata host controller; and
converting the confirmation parameter into the input frame information structure for the sata device to detect the confirmation parameter and to confirm the data parameter intended to write into the non-standard register.
18. The method as claimed in
saving the confirmation parameter into a corresponding input register of the sata host controller.
19. The method as claimed in
saving the executive parameter into a corresponding input register of the sata host controller; and
saving the data parameter into a corresponding input register of the sata host controller.
20. The method as claimed in
setting up another unused input parameter of said standard command as an index parameter; and
converting the index parameter into the input frame information structure for the sata device to detect the index parameter and to write the data parameter into the non-standard register corresponding to the index parameter.
21. The method as claimed in
saving the index parameter into a corresponding input register of the sata host controller.
22. The method as claimed in
saving the standard command into a command register of the sata host controller.
23. The method as claimed in
|
The present application is a continuation of U.S. patent application No. 11/287,274, filed Nov. 28, 2005, now U.S. Pat. No. 7,934,024, which claims priority to Taiwan application number 094121228, filed Jun. 24, 2005. The contents of these applications are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a non-standard register of Serial Advanced Technology Attachment (SATA) devices, especially to use a standard command with an unused input parameter to drive the SATA device to read value of the non-standard register or write data into the non-standard register.
2. Description of the Related Art
Due to progress of information technology and prosperous development of the computer system, users have higher requirements for transmission and heat dissipation efficiency of computer peripherals. Thus the SATA (Serial Advanced Technology Attachment) specification is developed in order to meet users' requirements of computer peripherals.
The SATA standard interface dramatically improves the transmission and heat dissipation efficiency of computer peripherals. However, in order to assure stability and extension of computer peripherals, during development process of computer peripherals, error detection and efficiency analysis of computer peripherals are getting more important. Thus research and development staff arranges non-standard registers inside the computer peripherals so as to detect the status of peripherals or turn on/off the peripherals. By reading or changing values of these non-standard registers, analyzing process is executed.
These non-standard registers are hidden inside computer peripherals and main computer unit provides a standard interface that is only applied to registers defined by that standard interface. Thus for saving these non-standard registers of computer peripherals, a Universal Asynchronous Receiver/Transmitter (UART) or Inter Integrated Circuit (I2C) is used. A system chip of computer peripherals only needs two pins to read and write non-standard registers. Thus receiving pins are used to receive values of non-standard registers being intended to be read and write and then transmitting pins are used to transmit contents of non-standard registers. However, such kind of method can only be applied to computer systems with Universal Asynchronous Receiver/Transmitter (UART) or Inter Integrated Circuit (I2C) for retrieving values of non-standard registers. Therefore, it's less flexible on applications.
Furthermore, some manufactures use Vender specific commands to write into non-standard registers inside the standard interface device. Yet in standard specification of SATA, only part of Vender specific commands are set for use. Once most of the Vender specific commands is set to have specific function, there is not enough Vender specific commands when research and development staff want to use the Vender specific command to define the standard interface device for executing reading and writing commands of non-standard register.
Therefore it is a primary object of the present invention to provide a method for reading and writing non-standard register inside SATA devices that sets up commands for reading and writing the non-standard register inside SATA devices by a standard command including an unused input parameter. Therefore, the purpose for reading and writing the non-standard register is achieved.
It is another object of the present invention to provide a method for reading and writing non-standard register inside SATA devices that makes the SATA devices detect confirmation parameters for confirming values of the non-standard registers intend to read and write by setting up unused input parameters of standard commands as the confirmation parameters while the SATA devices receive corresponding standard commands and input frame information structure (FIS) of the confirmation parameters. Thus the SATA devices won't read or change values of the non-standard register under unexpected situation.
By setting up an unused input parameter of a standard command as an executive parameter, sending the standard command with the executive parameter into the SATA host controller for converting the standard command and the executive parameter into input frame information structure as well as transmitting the input frame information structure into SATA devices, a method for reading and writing non-standard registers inside SATA devices according to the present invention makes the SATA devices detect the executive parameters for reading values of the corresponding non-standard register and saving values of the non-standard register into output register of the SATA devices thereof. The output register corresponds to the unused input parameter in response to the standard command. Then the SATA devices convert the values of the non-standard register into output frame information structure that is sent to the SATA host controller so that the SATA host controller saves the value of the non-standard register into a corresponding output register of the SATA host controller. At last, the value of the non-standard register is learned by reading the value of the output register of the SATA host controller.
Moreover, the present invention can also make the SATA devices execute issues corresponding to an executive parameter—that is writing a data parameter into the non-standard register that corresponds to the executive parameter by setting up the unused input parameters of a standard command as the executive parameter and the data parameter respectively, sending the standard command with the executive parameter and the data parameter into the SATA host controller, and converting the executive parameter, data parameter and standard command into output frame information structure that is sent to the SATA devices by the SATA host controller.
Furthermore, before setting up an unused input parameter of a standard command as an executive parameter, the present invention sets up an unused input parameter of another standard command as a confirmation parameter, sends the standard command with the confirmation parameter into the SATA host controller for being converted into input frame information structure that is sent to the SATA device so that the SATA device detects the confirmation parameter for confirming the function of the non-standard register intended to read and write. Or the present invention directly sets up another unused parameter as a confirmation parameter when sets up the unused input parameter of the standard command as the executive parameter so that the SATA device detects the confirmation parameter for confirming the function of the non-standard register intended to read and write.
The structure and the technical means adopted by the present invention to achieve the above and other objects can be best understood by referring to the following detailed description of the preferred embodiments and the accompanying drawings, wherein
In a prior art, the SATA devices read and write non-standard register by using UART interface, I2C interface, or vender specific commands. The difference between the present invention and prior art is that the SATA devices read or change values of non-standard register while being driven by at least one unused input parameter of standard commands and an output register that responses to the standard commands. The output register corresponds to at least one unused output parameter of the standard command.
In specification of standard interface such as ATA and ATAPI, standard commands are defined. Because the SATA (Serial Advanced Technology Attachment) specification is derived from ATA standard interface specification, users can make SATA devices to execute corresponding standard issues by sending a standard command defined by ATA standard interface specification to the SATA devices. Taking a 28 bit standard command as an example, refer to
The method for sending the READ DMA standard command into the SATA devices is described as following:
In the beginning, input parameters of the READ DMA standard command are set up in sequence. That is—the Features register parameter, the Sector Count register parameter, the LBA Low register parameter, the LBA Mid register parameter, the LBA High register parameter and the Device register parameter are set up sequentially. The values of the above parameters are written and saved into a corresponding input register inside a SATA host controller. Then send and save the Command register parameters into a corresponding command register of the SATA host controller.
When the SATA host controller detects that a command register saves the Command register parameter, it converts the standard command and values of the related input register corresponding to the standard command into input Frame Information Structure, as shown in
Moreover, according to the definition of SATA standard interface specification, the SATA host controller writes input parameters corresponding to input frame information structure into a FIS Type(27h) field, a C field, two R field, a Control field and a plurality of Reserved(0) field. The rest one Features (exp) field, a Sector Count (exp) field, a LBA Low (exp) field, a LBA Mid (exp) field, and a LBA High (exp) field are for filled with extension input parameters of 48 bit standard command. The 48 bit standard command is applied to extend the control of SATA devices—that means extending register address for controlling SATA devices. Thus the extension input parameters are saved into the extended address of input register. Because the above-mentioned extension input parameters is for 48 bit standard command, the above-mentioned extension input parameters are filled with random numbers, which are unused input parameters, while sending the 28 bit standard command.
Then, the SATA host controller sends the input frame information structure into the SATA device so that the SATA device saves all parameters of the input frame information structure into corresponding register and then detects command register for executing standard issues corresponding to the READ DMA standard command.
When the SATA device finishes execution of the READ DMA standard command, the SATA device fills the finished status into corresponding output register and also converts value of the output register into output frame information structure shown in
Then the SATA device sends the output frame information structure into the SATA host controller that saves the values of the output frame information structure into corresponding output register, as shown in
Refer to
When the SATA host controller detects that the command register saves something, the SATA host controller converts the standard command and all parameters including the executive parameter into input frame information structure and run the step S12, sends the input frame information structure into the SATA device for saving the standard command and the executive parameter of the input frame information structure into corresponding register inside the SATA device. The command register is the extended address of the LBA Low register. Then the SATA device detects the command register, not only to execute standard issues corresponding to the READ DMA standard command, but further to read the value of a non-standard register corresponding to the executive parameter while detecting the value saved in the extended address of the LBA Low register is ECh. The value of the non-standard register is supposed to be D4h.
Refer to step S13, the value of the non-standard register is saved into the output register corresponding to unused output parameter in response to the READ DMA standard command. That is using the value of the non-standard register—D4h as unused output parameter and saving the D4h into a corresponding output register. In this embodiment, D4h working as extension parameter of the LBA Mid register is saved into extended address of the LBA Mid register and the value of the non-standard register is converted into output frame information structure. Then the SATA device take the step S14, sends the output frame information structure into the SATA host controller for executing step S15, saves the value of the non-standard register into a corresponding output register inside the SATA host controller—that is the extended address of the LBA Mid register inside the SATA host controller. At last, take the step S16, read the value of the output register of the SATA host controller—that is reading the extended address of the LBA Mid register so as to learn the value of the non-standard register.
Refer to
Refer to
With reference to
Later, take the step S42, send the standard command with the executive parameter, the data parameter and the index parameter into the SATA host controller so that the SATA host controller saves the standard command into a command register and converts the executive parameter, the data parameter, the index parameter and the standard command into input frame information structure. Then, according to the step S43, the SATA host controller transmits the input frame information structure into the SATA device for the SATA device to execute corresponding standard issues according to the standard command and to detect the executive parameter for reading the data parameter. Finally, refer to step S44, write the data parameter into the non-standard register corresponding to the index parameter.
Because the unused input parameters corresponding to the 28 bit READ DMA standard command are filled with random numbers, the value of the unused input parameters filled randomly may be the same with the value of the executive parameter so as to make the SATA device detects the value and take the non-standard register as the register that intend to read and write. In order to avoid such situation, the present invention provides a solution. Refer to
Then, as shown in step S51, send the standard command with the confirmation parameter into the SATA host controller so that the SATA host controller saves the standard command into a command register and converts the confirmation parameter and the standard command into input frame information structure. After that, the SATA host controller taking the step S52, transmits the input frame information structure into the SATA device. When the SATA device detects the values saved in the extended address of Features register and Sector Count register therein are 01h, 02h, it confirms the user's intention such as to read the value of or write data into the non-standard register, or even shut down the standard issues intended to execute. If the values are not 01h, 02h, the SATA device doesn't read the value of or write data into the non-standard register.
Then the present invention executes steps shown in
In addition, the present invention also provides another method to set up the confirmation parameter for the SATA device to confirm the value of the non-standard register intended to read and write. An unused input parameter of a plurality of standard commands is set up as a confirmation parameter. That is setting up Features register extension parameters as 01h, 02h in sequence and saving the confirmation parameter into the extended address of Features register inside the SATA host controller. By successively sending the 28 bit READ DMA standard command with the confirmation parameter to the SATA host controller for converting the plurality of standard command with the confirmation parameter into the input frame information structure and transmitting the input frame information structure into the SATA device sequentially, the SATA device confirms the value of the non-standard register intended to read and write when the SATA device detects the values saved in the extended address of Features register are 01h, 02h sequentially. The values of the Features register in reverse sequence are for shutting down the function of reading and writing the non-standard register.
Refer to
Later, taking the step S62 send the standard command with the confirmation parameter, the index parameter and the executive parameter into the SATA host controller so that the SATA host controller saves the standard command into a command register and converts the confirmation parameter, the index parameter, the executive parameter and the standard command into input frame information structure. After that, as shown in the step S63, transmit the input frame information structure into the SATA device for the SATA device to confirm the value of the non-standard register intend to read according to the confirmation parameter and the executive parameter. Then the SATA device reads the value of the non-standard register corresponding to the index parameter. Finally, run from the step S64 to the step S67, please refer to
Refer to
In summary, the present invention relates to a method for reading and writing non-standard register of Serial Advanced Technology Attachment (SATA) devices that uses a standard command having at least one unused input parameter and an output register corresponding to at least one unused output parameter in response to the standard command. An unused input parameter of standard command is set up as an executive parameter and then through a SATA host controller, the executive parameter is converted to input frame information structure (FIS) that is transmitted to the SATA device for being detected so as to read the value of non-standard register and save the value into an output register of the SATA device. After that, the value of the non-standard register of the SATA device is converted into output frame information structure that is sent to the SATA host controller for saving the value of the non-standard register into a corresponding output register of the SATA host controller. Thus users read the output register of the SATA host controller so as to learn the value of the non-standard register.
Furthermore, when information is intended to write into the non-standard register, the unused input parameter of the standard command is set up as an executive parameter and a data parameter that are converted into input frame information structure by the SATA host controller. Then the input frame information structure is sent to the SATA device so that the SATA device detects the executive parameter and writes the data parameter into the non-standard register. Thus the flexibility of reading and writing of the non-standard register is enhanced.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details, and representative devices shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5091847, | Oct 03 1989 | Grumman Aerospace Corporation | Fault tolerant interface station |
6922738, | Apr 03 2002 | MEDIATEK INC | ATA/SATA combined controller |
7165125, | Nov 28 2003 | GLOBALFOUNDRIES Inc | Buffer sharing in host controller |
7296094, | Aug 20 2004 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Circuit and method to provide configuration of serial ATA queue depth versus number of devices |
7404013, | May 17 2005 | Western Digital Technologies, Inc. | Pass-through information transfers inserted after a continued primitive in serial communications between a device and a host |
20040133720, | |||
20040158669, | |||
20050005062, | |||
20050144490, | |||
20060112216, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 10 2011 | VIA Technologies Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 04 2013 | ASPN: Payor Number Assigned. |
Dec 16 2015 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 25 2019 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 15 2023 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 03 2015 | 4 years fee payment window open |
Jan 03 2016 | 6 months grace period start (w surcharge) |
Jul 03 2016 | patent expiry (for year 4) |
Jul 03 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 03 2019 | 8 years fee payment window open |
Jan 03 2020 | 6 months grace period start (w surcharge) |
Jul 03 2020 | patent expiry (for year 8) |
Jul 03 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 03 2023 | 12 years fee payment window open |
Jan 03 2024 | 6 months grace period start (w surcharge) |
Jul 03 2024 | patent expiry (for year 12) |
Jul 03 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |