This application claims priority from the Japanese Patent Application No. 2008-320329, filed Dec. 16, 2008 the disclosure of which is incorporated herein in its entirety by reference.
Embodiments of the present invention relate to a data-storage device and an analysis method of a data-storage device.
Various media for storing data are known in the art, such as: optical disks, magneto-optical disks, magnetic-recording disks and semiconductor memories. Security measures for data stored on such media are also known in the art, in particular, data-storage devices to store data by use of these media with a security function to protect user data stored in a data-storage medium from unauthorized access.
For example, hard-disk drives (HDDs) with security functions to respond to user needs to ensure the confidentiality of user data are known in the art. HDDs are known in the art that encrypt data before storing the data. A host computer holds a security key and is capable of reading data from a magnetic-recording disk and writing data to the magnetic-recording disk by use of the security key. A host computer without the security key is capable of neither reading data, nor writing data.
Engineers and scientists engaged in HDD manufacturing and development are interested in the design of HDDs that utilize such security features to meet the rising demands of the marketplace for increased functionality in the HDD, as well as reliability.
Embodiments of the present invention include a data-storage device with a security function for user data stored in a data-storage medium. The data-storage device includes: the data-storage medium for storing data; an authentication processing section for performing an authentication process with a key obtained from a host; an error correction circuit for performing error correction in reading data at an address designated by a read command from a host which has been recognized as an authorized user for analysis access by the authentication processing section; and an analysis processing section for generating data indicating the positions of the error correction and transferring the data to the host.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the embodiments of the present invention:
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
Reference will now be made in detail to the alternative embodiments of the present invention. While the invention will be described in conjunction with the alternative embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims.
Furthermore, in the following description of embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it should be noted that embodiments of the present invention may be practiced without these specific details. In other instances, well known methods, procedures, and components have not been described in detail as not to unnecessarily obscure embodiments of the present invention. Throughout the drawings, like components are denoted by like reference numerals, and repetitive descriptions are omitted for clarity of explanation if not necessary.
With relevance to embodiments of the present invention, failure analyses (FA) of failed hard-disk drives (HDDs) are utilized for various user purposes. A failed HDD is returned to the vendor from a user; and, the vendor analyzes the HDD to find a failure common to other HDDs. However, if a HDD has a security function, a host computer of the HDD vendor can neither read data from the HDD, nor write data to the HDD. Thus, the HDD vendor can not analyze errors in the read/write system in the HDD.
If the HDD vendor has the security key, the HDD vendor can read data from, or write data to, a HDD with a security function. However, the HDD vendor can access, as well, magnetic-recording disks without restriction; and, confidential user data, which the user intends to protect, may be revealed to the HDD vendor.
A technique, known in the art, which provides for nondisclosure of user data to HDD vendors, is next described that both maintains the security of user data and, at the same time, allows for failure analysis of the HDD. A HDD encrypts user data and stores the encrypted user data to a magnetic-recording disk. Furthermore, the HDD has two keys, a user password and a manufacturer password, for a security lock. If the lock is released with the user password, the HDD outputs plaintext user data. If the lock is released with the manufacturer password, the HDD outputs encrypted user data, which allows a vendor to inspect and repair HDDs without the contents of user data being revealed.
Sometimes, however, location of error positions in error correction during failure analysis of a HDD is also performed. If a HDD returns encrypted user data in response to access with the manufacture password as in the above-described technique, location of error positions in a data sector may be barred. Thus, a technique is desired that allows a HDD vendor to locate error correction positions in a failed HDD and perform a precise failure analysis while maintaining user data security, which provides for nondisclosure to HDD vendors.
Embodiments of the present invention include a data-storage device with a security function for user data stored in a data-storage medium. In accordance with embodiments of the present invention, the data-storage device includes: a data-storage medium for storing data; an authentication processing section for performing an authentication process with a key obtained from a host; an error correction circuit for performing error correction in reading data at an address designated by a read command from a host which has been recognized as an authorized user for analysis access by the authentication processing section; and, an analysis processing section for generating data indicating the positions of the error correction and transferring the data to the host. Thus, embodiments of the present invention provide for failure analysis of a data-storage device with a security function without the contents of user data being revealed.
In one embodiment of the present invention, the generated data has the same data length as the data designated by the read command and that the generated data is data in which bits at the error corrected positions are different from the other bits in a specified fixed data pattern.
Embodiments of the present invention provide for reporting error correction positions with the same specifications as an ordinary read command. In accordance with an embodiment of the present invention, if error correction of the data designated by the read command is barred, the analysis processing section transfers data whose data length is the same as the designated data and having a specified bit pattern to the host. Thus, embodiments of the present invention provide for reporting the impossibility of error correction with the same specifications as an ordinary read command.
In accordance with an embodiment of the present invention, the analysis processing section is configured to receive a write command designating an address in the data-storage medium and bit inversion positions, and is configured to write data obtained by inverting bits at the designated positions in the data read from the address to the address. Thus, embodiments of the present invention provide for data write and subsequent data recovery. In one embodiment of the present invention, the read command is a read long command for instructing transfer of data at a designated address and an ECC code. Thus, in an embodiment of the present invention, a read long command may be used in the analysis for instructing transfer of data at a designated address and an ECC code.
In another embodiment of the present invention, the analysis processing section is configured to receive a write long command designating the same address as the read long command and designating bit inversion positions in the data at the designated address and an ECC code, and is configured to write data obtained by inverting bits at the designated positions in the data read from the designated address and the ECC code to the address. Thus, embodiments of the present invention provide for an analysis with a read long command and data recovery.
Embodiments of the present invention also include an analysis method of a data-storage device with a security function for user data. In accordance with embodiments of the present invention, the method performs an authentication process of access from an authorized host for analysis with a key obtained from the host. In accordance with embodiments of the present invention, the method receives a read command from the host which has been recognized as an authorized user for analysis access. In accordance with embodiments of the present invention, the method reads data at an address designated by the read command from a data-storage medium. In accordance with embodiments of the present invention, the method generates data which is different from the data at the designated address and indicates error correction positions in data read from the data-storage medium. In accordance with embodiments of the present invention, the method transfers the data to the host. Thus, in accordance with embodiments of the present invention, the method provides for failure analysis of a data-storage device with a security function without the contents of user data being revealed.
In another embodiment of the present invention, the method receives the data indicating error correction positions from the data-storage device, and displays failure positions in a different form from other areas on a screen of the host based on the received data. Thus, in accordance with embodiments of the present invention, the method provides for an analysis with a user interface.
Embodiments of the present invention provide for failure analysis of a data-storage device with a security function without the contents of user data being revealed. As subsequently described herein, embodiments of the present invention are described in the environment of a hard-disk drive (HDD), as an example of a data-storage device. In accordance with embodiments of the present invention, a HDD has a security function to protect user data from unauthorized accesses. In accordance with embodiments of the present invention, the security function, for example, denies usage of the HDD by an unauthorized user, which provides an authentication function, encrypts user data to store user data to a magnetic-recording disk and returns encrypted user data to an unauthorized user, which provides a user data encryption function. Embodiments of the present invention provide for failure analysis of a HDD with a security function. In accordance with embodiments of the present invention, the method may be applied to HDDs with any of the above-described security functions. In one embodiment of the present invention, the HDD, in a failure analysis by a vendor, transfers data indicating error correction positions in response to a read command from a host without transferring user data stored in a disk. Thus, embodiments of the present invention provide for precise failure analysis of the HDD while hiding the contents of user data, which maintains security.
With reference now to
In DE 10, a spindle motor (SPM) 14 spins a magnetic-recording disk 11 at a specific angular rate. The magnetic-recording disk 11 is a disk for storing data. The motor driver unit 22 drives SPM 14 in accordance with control data from HDC/MPU 23. Each head-slider 12 includes a slider for flying over the magnetic-recording disk and a magnetic-recording head, which is formed on the slider and converts magnetic signals to electric signals and electrical signals to magnetic signals, in other words, reads data and writes data, respectively. The head-sliders 12 are fixed to a tip of an actuator 16. The actuator 16, which is coupled to a voice coil motor (VCM) 15, rotates on a pivot shaft to move the head-slider 12 over the magnetic-recording disk 11 in a nominally radial direction of the magnetic-recording disk 11.
The motor driver unit 22 drives the VCM 15 in accordance with control data from HDC/MPU 23. An arm electronics (AE) module 13 selects a head-slider 12 to access the magnetic-recording disk 11, for reading data from, or writing data to, the magnetic-recording disk 11, from multiple head-sliders 12 and amplifies read-back signals and write signals.
The RW channel 21, in a read operation, amplifies read-back signals supplied from the AE module 13 to have a specific amplitude, extracts data from the obtained read-back signals, and decodes the data. The decoded data is supplied to HDC/MPU 23. The RW channel 21, in a write operation, code-modulates write data supplied from HDC/MPU 23, converts the code-modulated data into write signals, and then supplies the write signals to the AE module 13.
In HDC/MPU 23, a controller, the MPU operates in accordance with firmware loaded to the RAM 24, or a static RAM (SRAM), in the HDC. HDC/MPU 23 performs control of HDD 1 in addition to other processes concerning data processing, such as: reading and writing operation control; command execution order management; positioning control of the head-sliders 12 using servo signals, which is referred to as servo control; interface control to and from a host 51; defect management; and error handling when any error occurs.
HDC/MPU 23 has a security function for user data. As subsequently described herein, in accordance with embodiments of the present invention, a HDD with a user authentication function, for example, a host 51 authentication function, and an encryption function of user data is described that provides a security function. The encryption function encrypts user data with an encryption key and stores the encrypted user data. In a read operation, HDC/MPU 23 decrypts data read from the magnetic-recording disk 11 and transfers the decrypted data.
With reference now to
The host interface 231 is an interface in data communication with the external host 51. The ECC processing section 232 performs error detection and error correction in data of the magnetic-recording disk. The memory manager 233 performs data flow control, access control for a memory bus and the similar functions. The cryptographic processing section 234 performs encryption and decryption of user data of the magnetic-recording disk 11. A data buffer 241 in the RAM 24 stores temporarily write data and read data.
In a write operation of user data, the write data from the host 51 is transferred to the cryptographic processing section 234 through the host interface 231. The cryptographic processing section 234 encrypts the user data, and transfers the encrypted user data to the memory manager 233. The memory manager 233 stores the encrypted user data to the data buffer 241. The memory manager 233, subsequently, obtains the write data from the data buffer 241 and sends the write data to the ECC processing section 232. The ECC processing section 232 performs processing tasks for error correction on the write data, and sends the write data to the RW channel 21.
In a read operation of user data, the ECC processing section 232 performs the error correction processing on read data from the magnetic-recording disk 11 transferred from the RW channel 21. Subsequently, the read data is stored to the data buffer 241 through the memory manager 233. The memory manager 233 obtains the read data from the data buffer 241 and transfers the read data to the cryptographic processing section 234. The cryptographic processing section 234 decrypts the read data. The decrypted read data is transferred to the host 51 through the host interface 231.
In accordance with embodiments of the present invention, as depicted in
With reference now to
MPU 235 acts as an authentication processing section 352, and performs the authentication process if MPU 235 receives a user key from the host 51. If the user key shows that the user is an authorized user, which is a condition that obtains without unauthorized access, MPU 235 generates an encryption key Ekey for the data encryption key Dkey from the user key by the hash function 351. MPU 235 acts as a key decryption section 353 and decrypts the encrypted data encryption key E{Dkey} stored in the magnetic-recording disk 11 by use of the encryption key Ekey for the data encryption key Dkey.
In a read operation, the cryptographic processing section 234 decrypts data read from the magnetic-recording disk 11 using the decrypted data encryption key Dkey, and sends the user data in plain text to the host 51. In a write operation, the cryptographic processing section 234 encrypts user data in plain text obtained from the host 51, and transfers the encrypted user data to the magnetic-recording disk 11.
A failure analysis method for HDD 1 with the security function, specifically, is next described. During failure analysis, location of error correction positions, which are error positions, in a data sector is performed. HDD 1 according to the present embodiment reports error corrections positions to the host 51 of a vendor without revealing the contents of user data.
With reference now to
The failure analysis processing section 355 reads data at an address designated by a read command from the host 51 from the magnetic-recording disk 11. Specifically, the failure analysis processing section 355 indicates a disk manager (not shown) in the HDC to read data at the designated address. The data read from the magnetic-recording disk 11 is transferred to the ECC processing section 232 through the RW channel 21. The transferred data is encrypted and in
The ECC processing section 232 performs the error correction of the data a*b*c*d*, and transfers the error corrected data to the data buffer 241. In the example of
If data read from the magnetic-recording disk 11 is stored to the data buffer 241, the failure analysis processing section 355 obtains the error correction result from the ECC processing section 232. The error correction result indicates error correction positions. The failure analysis processing section 355 creates data indicating the error correction positions according to the error correction result. In one embodiment of the present invention, the created data has the same length as the data a*b*c*d* read from the magnetic-recording disk 11 and a value to indicate an error correction position is a specified value.
In accordance with embodiments of the present invention, as depicted in
The host 51 refers to the data 0010 transferred from HDD 1 to find error correction positions in the address designated by the read command, and checks the error correction capability of HDD 1. Repeating the process allows the host 51 to form a map indicating error correction positions on a recording surface of the magnetic-recording disk 11. The host 51 displays failure positions in a different form from other areas on a screen. The display of failure positions in a different form from other areas on a screen allows a researcher to check the error position map according to the information the host 51 has obtained from the HDD, and to analyze failures of HDD 1, precisely. The data the host 51 obtains is different from the user data abcd; and, thus, the contents of the user data to be protected are not revealed.
For indicating error correction positions, in accordance with embodiments of the present invention, data transferred to the host 51 has the same data length as the data length designated by the read command and data at a correction position may be specified data. In the above example, non-corrected data is indicated by a specific fixed pattern, which is a string of bits of “0” in the above-described example; and, error corrected data is indicated by the inversed data, which is a string of bits of “1” in the above-described example, which allows providing the host 51 with data for the failure analysis by a simple rule and process while hiding the contents of user data.
As described above, if error correction is completed successfully with an ECC code, data indicating error positions is transferred. However, if there are more errors than the error correction capability of the ECC code, the failure analysis processing section 355 sends data indicating that error correction is barred. In one embodiment of the present invention, the failure analysis processing section 355 sends data 0000 obtained by inversing all bits of a fixed pattern 0000. If a data sector, where error correction is barred, is found in a usual read operation, MPU 234 reports the data sector to the host 51. As described above, specified data with the same data length as the data length designated by the read command provides a similar process to a process in which the error correction of data is not barred.
With reference now to
A process is next described that writes data to the same address, after the read operation described referring to
The failure analysis processing section 355 obtains the data a*b*c*d* of the address stored in the data buffer 241. ‘c*’ is an error corrected data and circled in
The failure analysis processing section 355, as the write command from the host indicates, creates data by inversing b* in the data a*b*c*d* and stores the data created by inversing b* in the data a*b*c*d* to the data buffer 241. The failure analysis processing section 355 orders the memory manager 233 to write the data a*b*c*d* including the bit-inversed b* to the designated address on the magnetic-recording disk 11. The ECC processing section 232 creates, and adds the ECC data x of the data a*b*c*d* following the usual procedure. The failure analysis processing section 355, subsequently, reads the data again, and provides the information for the failure analysis to the host 51 in accordance with an order from the host 51.
If the associated processes are completed, the host 51 provides again HDD 1 with an instruction to write data to the address. The address indicated by the write command and the data indicating the inversion position are the same as the first data writing, which allows the original encrypted user data to be written to the address where the data has been changed.
As shown in the lower part in
The above example performs a read operation, and then a write operation at the same address. In the alternative, in accordance with another embodiment of the present invention, a write operation may be performed without a read operation. The process of the host 51 and HDD 1 is the same as the process explained referring to
With reference now to
The difference between the operation in response to the command and the operation in response to the ordinary read command described with reference to
The failure analysis processing section 355 creates new data regarding the user data a*b*c*d* in the same way as the ordinary read operation in
With reference now to
Typically, a write long command is issued after a read long command. The designated address in the write long command is the same as the read long command. An operation to a write long command issued after the read command explained referring to
If an authentication process by the authentication processing section 352 is completed successfully, the failure analysis processing section 355 receives a write long command from the host 51. The write long command is with a specified address and specified inverse positions. In an example in
The failure analysis processing section 355 obtains a set of the user data and the ECC code a*b*c*d*+x in the data buffer 241. The failure analysis processing section 355 refers to the inversion instruction data 0100+1 transferred with the write long command and inverses a part of the data a*b*c*d*+x. Specifically, the failure analysis processing section 355 inverses all bits of the data b* and all bits of the ECC code.
The failure analysis processing section 355 stores the data with inversed specified bits to the data buffer 241, and instructs the memory manager 233 to transfer the data with inversed specified bits to the magnetic-recording disk 11 through RW channel 21. In the operation, the failure analysis processing section 355 turns off the function of the ECC processing section 232. The data in the data buffer is transferred to the RW channel 21 without the process in the ECC processing section 232, which allows writing a data sector with an ECC code instructed by the host 51.
In the write process described in the discussion of
As described above, the failure analysis processing section 355 transfers a fixed pattern in which data indicating error correction positions are different from other parts and which is irrelevant to user data stored in the magnetic-recording disk 11. In contrast to this, an example for transferring data stored on the magnetic-recording disk 11 to the host 51 is next described. Data on the magnetic-recording disk 11 is encrypted. Thus, transferring the data to the host 51 presents no security issues. However, encrypted data is not enough for an accurate failure analysis.
In the present embodiment, the failure analysis processing section 355 reads data from a magnetic-recording disk, and subsequently rewrites data at the address, which provides a more accurate failure analysis with the data before, and after, rewriting. Moreover, the failure analysis processing section 355 rewrites the original data to the rewritten location after rewriting the data in order not to lose the user data. This method is the same as the above-described method of
First, with reference now to
With reference now to
The write data is stored to the data buffer 241 through the host interface 231. The failure analysis processing section 355 writes data transferred from the host 51 to the magnetic-recording disk 11. The function of the ECC processing section 232 is turned off in the process that writes the data with ECC code transferred from the host 51 to the magnetic-recording disk 11. After the process associated with failure analysis, the host 51 issues a write long command to return the data sector rewritten on the magnetic-recording disk 11 to the state before the rewriting.
As set forth above, the embodiments of the present invention have been described by way of examples; but, embodiments of the present invention are not limited to the above-described examples, as embodiments of the present invention may of course be modified in various ways within the spirit and scope of embodiments of the present invention. For example, embodiments of the present invention may be applied to disk drives which employ disks for storing data that are different from magnetic-recording disks.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications and variations are possible in light of the above teaching. The embodiments described herein were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2008-320329 | Dec 2008 | JP | national |