WO2006070451A1 - メモリ診断方法 - Google Patents

メモリ診断方法 Download PDF

Info

Publication number
WO2006070451A1
WO2006070451A1 PCT/JP2004/019600 JP2004019600W WO2006070451A1 WO 2006070451 A1 WO2006070451 A1 WO 2006070451A1 JP 2004019600 W JP2004019600 W JP 2004019600W WO 2006070451 A1 WO2006070451 A1 WO 2006070451A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
data
storage memory
cyclic redundancy
read
Prior art date
Application number
PCT/JP2004/019600
Other languages
English (en)
French (fr)
Inventor
Maoko Tamura
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2004/019600 priority Critical patent/WO2006070451A1/ja
Priority to JP2006550519A priority patent/JP4435180B2/ja
Publication of WO2006070451A1 publication Critical patent/WO2006070451A1/ja
Priority to US11/820,618 priority patent/US20070266277A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management

Definitions

  • the present invention relates to a storage device having a memory diagnosis function and a memory diagnosis method in the storage device.
  • SDRAM provided in the hard disk device for temporarily storing data exchanged between the host computer and the disk.
  • This SDRAM which is interposed between the disk and the host computer, is also diagnosed as to whether data can be written, held, and read normally when the hard disk drive is started.
  • FIG. 1 is a diagram showing a configuration of a hard disk device, a host computer, and an intervening SDRAM.
  • the host computer 6 writes to and reads from the storage medium 7.
  • SDRAM2 exists in the meantime, and temporarily stores write data and read data.
  • the storage medium 7 is a magnetic disk and includes a magnetic head assembly necessary for access.
  • the first storage memory 4 is a mechanism (FIFO) for complementing the difference in writing and reading speed between the host computer 6 and the SDRAM 2.
  • the second storage memory 5 is a mechanism (FIFO) for complementing the difference in writing and reading speed between the storage medium 7 and the SDRAM 2.
  • the memory manager 1 is hardware that manages writing to and reading from the SDRAM2.
  • the microprocessor 3 manages the entire hard disk device, and starts and stops the spindle motor.
  • FIG. 2 is an operation flow from the start of the hard disk device to the ready state. is there.
  • the microprocessor 3 starts operating after the power is turned on.
  • step S2 the first storage memory 4, the second storage memory 5, SDRAM 2 and the like are initialized.
  • step S3 an initial diagnosis of the SDRAM 2 is performed.
  • step S4 initialization of the microprocessor 3 and servo controller registers is performed.
  • step S5 the spindle motor is activated and the disk reaches steady rotation. After these steps, the hard disk drive is ready for use.
  • the microprocessor 3 generates 2-byte diagnostic data, and sends the diagnostic data to the memory manager 1 that manages the writing and reading of the SDRAM2.
  • the memory manager 1 receives the diagnostic data from the microprocessor 3 and writes the diagnostic data on the address of the SDRAM 2 designated by the microprocessor 3.
  • the memory manager 1 reads the address force data that was just written.
  • the read data is sent from the memory manager 1 to the microprocessor 3, and the write data and read data are compared in the microprocessor 3.
  • Patent Document 1 Japanese Patent Laid-Open No. 7-271679
  • the memory diagnosis is performed on the basis of the firmware deployed in the microprocessor, and the diagnostic data is written and read in units of 2 bytes, so the processing speed is slow.
  • the reliability is inferior to the case of diagnosing the entire area.
  • the object of the present invention is to be performed by a microprocessor based on conventional firmware! /, By performing a batch write and read of large-scale data using hardware. It is possible to increase the speed of the memory diagnosis and perform it in parallel with other processing by opening the microprocessor. In addition, the entire memory area is diagnosed accordingly, and the reliability of memory diagnosis is improved. Means for solving the problem
  • a storage medium capable of writing and reading data from a host computer, and temporary storage of write data and read data to the storage medium
  • An SDRAM that stores data
  • a memory manager that manages writing and reading to and from the SDRAM
  • a first storage memory that complements a difference in processing speed between writing and reading between the host computer and the SDRAM
  • the memory manager includes a comparison unit, The diagnostic data held in one storage memory is written to the SDRAM, and the written data is written to the SDRAM.
  • the comparison unit compares the diagnostic data in the first storage memory and the read data in the second storage memory, the comparison result is If they do not match, an abnormality is notified.
  • a storage medium capable of writing and reading data from a host computer, and an SDRAM for temporarily storing write data and read data on the storage medium
  • a memory manager that manages writing and reading to and from the SDRAM, a first storage memory that complements a difference in processing speed between writing and reading between the host computer and the SDRAM, and the storage medium
  • a method for diagnosing SDRAM in a storage device comprising a second storage memory that compensates for a difference in processing speed between writing and reading between the memory and the SDRAM, the diagnostic data in the first storage memory Is written to the SDRAM, the write data is read out from the SDRAM, stored in the second storage memory, and the diagnostic data in the first storage memory is stored by the comparison unit in the memory manager. And the read data in the second storage memory are compared, and if the comparison result does not match, an abnormality is notified.
  • a storage medium capable of writing and reading data from a host computer, and temporary writing and reading of data to and from the storage medium.
  • SDRAM that performs general storage
  • a memory manager that manages writing and reading of the data to and from the SDRAM
  • a first storage that complements the processing speed difference between the host computer and the SDRAM
  • the memory manager is configured to perform cyclic redundancy.
  • a cyclic redundancy code calculation unit that calculates a code and a comparison unit that compares the cyclic redundancy code, and is preset in the first storage memory
  • Write data generated based on fixed diagnostic data is written to the SDRAM, the write data is read from the SDRAM, and the cyclic redundancy code calculation unit writes the write data to the SDRAM
  • a cyclic redundancy code based on the write data is calculated, and the calculated cyclic redundancy code is written to the SDRAM together with the write data.
  • the comparison unit compares the cyclic redundancy code based on the write data with the cyclic redundancy code based on the read data, and compares If the results do not match, a notice is given of the abnormality.
  • the memory manager uses a seed to which a predetermined number is added or subtracted each time the write data is written or the read data is read.
  • the cyclic redundancy code calculation unit adds the calculated seed to the write data or the read data.
  • different cyclic redundancy codes are obtained from the same write data or read data.
  • the write data is composed of a plurality of the diagnostic data.
  • a storage medium capable of writing and reading data from a host computer, and temporary writing and reading of data to and from the storage medium.
  • SDRAM that performs general storage, a memory manager that manages writing and reading of the data to and from the SDRAM, and a first that complements the processing speed difference between writing and reading between the host computer and the SDRAM
  • a method for diagnosing SDRAM in a storage device comprising: a storage memory; and a second storage memory that compensates for a difference in processing speed between writing and reading between the previous storage medium and the SDRAM. The write data generated based on predetermined diagnostic data set in the first storage memory is written to the SDRAM.
  • the cyclic redundancy code calculation unit in the memory manager calculates a cyclic redundancy code based on the write data, and writes the calculated cyclic redundancy code together with the write data to the SDRAM.
  • the cyclic redundancy code written by the memory manager is read from the SDRAM, the write data is also read by the SDRAM manager, and read by the cyclic redundancy code calculation unit in the memory manager.
  • a cyclic redundancy code based on the read data is calculated, and a comparison unit in the memory manager compares the cyclic redundancy code based on the write data with the cyclic redundancy code based on the read data. If there is a discrepancy, an abnormality is notified.
  • the storage memory is
  • the memory manager uses a seed to which a predetermined number is added or subtracted each time the write data is written or the read data is read.
  • the cyclic redundancy code calculation unit adds the calculated seed to the write data or the read data.
  • different cyclic redundancy codes are obtained from the same write data or read data.
  • the initial write data is composed of a plurality of the diagnostic data.
  • the memory diagnosis function of the present invention reduces the diagnosis time by writing, reading, and comparing the diagnosis data stored in the storage memory with respect to the SDRAM by using the node software. Enable diagnosis. In addition, since memory diagnosis can be performed without using a microprocessor, other operations can be performed in parallel. Brief Description of Drawings
  • FIG. 1 is a diagram showing a configuration of a hard disk device, a host computer, and an intervening SDRAM.
  • FIG. 3 is a configuration diagram of a hard disk device having a memory diagnosis function in the first embodiment of the present invention.
  • FIG. 4 A diagram of an arbitration mechanism that processes requests to the memory manager.
  • FIG. 5 is an operation flow of memory diagnosis in the first embodiment of the present invention.
  • FIG. 6 is a configuration diagram of a hard disk device having a memory diagnosis function in a second embodiment of the present invention.
  • FIG. 7 is an operation flow of memory diagnosis in the second embodiment of the present invention.
  • FIG. 8 is a diagram showing data written to SDRAM in the second embodiment of the present invention.
  • FIG. 9 is an explanatory diagram of cyclic redundancy codes.
  • FIG. 10 is a diagram showing an operation flow of the node disk device having the memory diagnosis function of the present invention and an operation flow of the node disk device having the memory diagnosis function of the present invention. Explanation of symbols [0023] 1 Memory Manager
  • FIG. 3 is a configuration diagram of a hard disk device having a memory diagnosis function according to the first embodiment of the present invention.
  • a memory manager 1 that manages writing and reading to and from the SDRAM 2 is connected to a host computer 6, a storage medium 7, and a microphone processor 3 that manages the entire hard disk device.
  • a first storage memory 4 exists between the memory manager 1 and the host computer 6.
  • a second storage memory 5 exists between the memory manager 1 and the storage medium 7.
  • the inside of the dotted line in FIG. 3 is the memory diagnostic device.
  • the first storage memory 4 and the second storage memory 5 are each constituted by a FIFO.
  • the hard disk device includes SDRAM2 for temporarily storing write and read data, a FIFO for compensating for the difference in data transfer speed between the storage medium 7 and SDRAM2, and a host computer 6
  • a FIFO is provided to compensate for the difference in data transfer speed between the SDRAM and SDRAM2.
  • FIG. 4 is a diagram of an arbitration mechanism that processes requests to the memory manager 1.
  • the memory manager 1 processes various requests such as writing to and reading from the SDRAM 2 using an arbitration mechanism.
  • memory management As a request for the first storage memory 4, the data power of the first storage memory 4 also generates a cyclic redundancy code (CRC) and writes to the SDRAM 2 or a request R1 for writing or reading the data.
  • the arbitration mechanism in FIG. 4 processes the generated request in a clockwise direction. For example, if data in the first storage memory 4 is to be written to the SDRAM 2, a request R3 is generated, and the request R4, the request R5, and the request R1 are checked after the processing of the request R3. If no requests have occurred, it is looping idle.
  • the first storage memory 4 stores diagnostic data. This data may be generated by the microprocessor 3 or transferred from the host computer 6. The diagnostic data is written into the SDRAM 2 via the memory manager 1 and immediately read out to the memory manager 1. The read data is stored in the second storage memory 5. Then, the SDRAM 2 is diagnosed by comparing the data in the first storage memory 4 and the data in the second storage memory 5 by the comparison unit in the memory manager 1.
  • FIG. 5 is an operation flow of memory diagnosis in the first embodiment of the present invention.
  • the start position and end position of the memory diagnosis are determined by the microprocessor 3 operating based on the firmware (processing step Pl-1).
  • the microprocessor 3 activates the initial diagnosis function of the memory manager 1 (processing step Pl-2).
  • Processing step P1-1 and processing step P1-2 are implemented by firmware, and thereafter are implemented by the memory manager 1 hardware.
  • the memory manager 1 writes the diagnostic data in the first storage memory 4 to the SDRAM 2 (processing step Pl-3). At this time, the request R3 is generated and processed in the arbitration mechanism of FIG. Next, immediately read the data on the written address, Store in the storage memory 5 (processing step Pl-4). At this time, the request R4 is generated and processed in the arbitration mechanism of FIG.
  • the comparison unit in the memory manager compares the data in the first storage memory 4 with the data in the second storage memory 5 (processing step P1-5). Immediately, it is determined that there is an abnormality, and the diagnosis of SDRAM2 ends (processing step Pl-6). If they match, it is confirmed whether or not the pointer position is the end position (processing step Pl-7).
  • processing step Pl-8 If it is not the end position, the SDRAM2 pointer is incremented (processing step Pl-8), and the process returns to writing diagnostic data to the SDRAM2 (processing step P1-3).
  • the loop from processing step P1-3 to processing step P1-8 is repeated until the position of the pointer reaches the end position.
  • the memory diagnostic function ends normally (processing step P1-9).
  • the SDRAM2 has an area of 8 megabytes, and the first storage memory 4 and the second storage memory 5 have a size of 128 bytes, respectively, to diagnose the entire area of the SDRAM2,
  • the loop of writing, reading and comparison (loop from processing step P1-3 to processing step P1-8) is 65536 times.
  • the write, read, and compare loops of every 2 bytes are a significant improvement because the entire loop of SDRAM2 requires 4 mega loops.
  • the overhead time for writing, reading, and comparison can be omitted, resulting in a significant time reduction.
  • the memory diagnosis that has been performed by the microprocessor 3 based on the conventional firmware is performed, and large-scale data is collectively written and read by the hardware. Therefore, it is possible to increase the speed of the memory diagnosis and to perform it in parallel with other processes by opening the microprocessor 3. As a result, the entire area of the SDRAM 2 can be diagnosed and the reliability can be improved.
  • the hard disk device is used as an example of the storage device.
  • the present invention is also applicable to devices and products having a memory.
  • FIG. 6 is a configuration diagram of a hard disk device having a memory diagnosis function according to the second embodiment of the present invention.
  • the memory manager 1 that manages writing and reading to the SDRAM 2 is a manager that manages the host computer 6, the storage medium 7, and the entire hard disk device.
  • a first storage memory 4 exists between the memory manager 1 and the host computer 6, and a second storage memory 5 exists between the memory manager 1 and the storage medium 7.
  • the inside of the dotted line in FIG. 6 is the hard disk device.
  • the first storage memory 4 and the second storage memory 5 are each constituted by a FIFO.
  • the hard disk device includes SDRAM2 for temporarily storing write and read data, a FIFO for compensating for the difference in data transfer speed between the storage medium 7 and SDRAM2, and a host computer 6
  • a FIFO is provided to compensate for the difference in data transfer speed between the SDRAM and SDRAM2.
  • the first storage memory 4 stores diagnostic data. This data may be generated by the microphone processor 3 or may be transferred from the host computer 6. This diagnostic data is repeatedly written to the SDRAM 2 via the memory manager 1 until the write end position is reached. At this time, a cyclic redundancy code is calculated from the seed and 512-byte write data (the calculation method will be described later) and written to a part of SDRAM2.
  • the seed is 4-byte data that is initialized to 0 when the initial diagnosis is started and incremented every time 512 bytes of diagnostic data is written from the start position. Also, one sector on SDRAM2 is composed of 512 bytes. If the first storage memory 4 and the second storage memory 5 are 128 bytes each, then writing to and reading from SDRAM2 Four data transfers will be performed.
  • the memory manager 1 reads one sector of data and the corresponding cyclic redundancy code from the write start position, and calculates the read data redundancy of the one sector again.
  • the comparison unit in the memory manager 1 compares the read cyclic redundancy code with the calculated cyclic redundancy code to diagnose the SDRAM 2.
  • FIG. 7 is an operation flow of memory diagnosis in the second embodiment of the present invention.
  • the start position and end position of the memory diagnosis are determined by the microprocessor 3 operated by the firmware (processing step P2-l).
  • the microprocessor is memory money Start the initial diagnosis function of Jar 1 (Process P2-2).
  • Processing step P2-1 and processing step P2-2 are implemented by firmware, and thereafter are implemented by the memory manager 1 hardware.
  • the memory manager 1 sequentially writes the diagnostic data in the first storage memory 4 to the SDRAM 2 while incrementing the pointer (processing step P2-5) (processing step P2-3).
  • a request R3 for writing from the first storage memory 4 to the SDRAM 2 is generated in the arbitration mechanism of FIG.
  • the cyclic redundancy code calculation unit in the memory manager 1 calculates the cyclic redundancy code from the write data for one sector and the seed corresponding thereto, and sequentially writes it in the start position of the SDRAM 2.
  • the arbitration mechanism makes four requests R3, and finally requests R1.
  • FIG. 8 is a diagram showing data written to the SDRAM 2 in the second embodiment of the present invention.
  • the 128-byte diagnostic data stored in the first storage memory 4 is written sequentially from the memory diagnosis start position (data write start position in Fig. 8) determined in process step P2-1.
  • the seed is incremented each time one sector is written, and a cyclic redundancy code is calculated in combination with the data for one sector.
  • the corresponding cyclic redundancy code is sequentially written from the position that is the data write end position.
  • the diagnostic data finally reaches the data write end position, and the corresponding cyclic redundancy code reaches the CRC write end position.
  • the initial diagnosis function of the memory manager 1 reads the written data and the cyclic redundancy code while incrementing the pointer (processing step P2-10) (processing step P2-7).
  • the arbitration mechanism generates R4 requests for reading data from the SDRAM 2 to the second storage memory 5, and finally generates a request R2 for reading the cyclic redundancy code.
  • this cyclic redundancy code is sent to the comparator in the memory manager 11.
  • the cyclic redundancy code calculation unit in the memory manager 1 calculates the cyclic redundancy code from the seed corresponding to the read data (processing step P2-8), and sends the cyclic redundancy code to the comparison unit.
  • the two cyclic redundancy codes sent to the comparison unit are compared (processing step P2-ll), and if the two cyclic redundancy codes match, it is confirmed whether the end position is reached (processing step P2-ll). 13) . If the two cyclic redundancy codes do not match, the initial diagnosis function of the memory manager 1 detects an abnormality and ends (processing step P2-12).
  • FIG. 9 is an explanatory diagram of cyclic redundancy codes.
  • the 128-byte diagnostic data does not change, and the same data ( ⁇ ⁇ ⁇ in Fig. 9) is repeatedly written from the first storage memory 4 to SDRAM2.
  • the 4 byte seed is incremented once.
  • Memory Manager 1 does not need to reserve a 516-byte area for division. Divides 132-byte data, which is a concatenation of 4-byte seed and 128-byte diagnostic data, by a constant.
  • the comparison unit in the memory manager 1 compares the 4-byte cyclic redundancy code against the 512-byte area diagnosis, so it is efficient! Compared to comparing 521 bytes of data directly, when comparing 4 bytes of cyclic redundancy code, the amount of comparison is 1Z128. In addition, it is not necessary to hold 512 bytes of data read from SDRAM2.
  • the arbitration mechanism starts simultaneously with the start of the initial diagnostic function. When no request is generated, the arbitration mechanism loops in the idle state as shown in Fig. 4. Therefore, a write request from the first storage memory 4 to SDRAM2 R3 is generated. After writing 128 bytes of diagnostic data from the first storage memory 4, the requests R3, R1, R2, R4, and R5 have not occurred, so the request R3 that has occurred is processed again. Request R3 is generated four times until the processing of 512 bytes for one sector is completed.
  • a request R1 for generating and writing a cyclic redundancy code is generated, and a cyclic redundancy code for the written 512-byte data is generated and written. Thereafter, the processing of 4 requests R3 and 1 request R1 is repeated 100 times in total to write 100 sectors of diagnostic data and the corresponding cyclic redundancy code.
  • the memory diagnosis is performed by hardware, and a relatively large size of data is written and read at a time. A cocoon can be realized. This makes it possible to diagnose the entire area of the SDRAM 2 and improve the reliability.
  • the memory diagnosis that has been performed by the microprocessor based on the conventional firmware is performed by the node software, thereby making it possible to open the microprocessor and perform other processing.
  • FIG. 10 is a diagram showing an operation flow of the node disk device having the memory diagnostic function of the present invention and an initial operation sequence of the conventional hard disk device not having the memory diagnostic function of the present invention.
  • the thick arrow shown at the bottom is the initial operation sequence of the node disk device having the memory diagnostic function of the present invention, and the thin arrow at the upper side has the memory diagnostic function of the present invention.
  • the operation flow of the device is shown. [0051] There is no difference between step SI in which the firmware is expanded in the microprocessor 3 and step S2 in which the first storage memory 4, the second storage memory 5 and the SDRAM 2 are initialized. In step S3 where the initial diagnosis of the SDRAM 2 is performed, the initial diagnosis by the hard disk device having no memory diagnosis function of the present invention is completed earlier.
  • step S4 the firmware deployed in the microprocessor 3 and the servo controller are initialized without waiting for the completion of step S3. Can move to S4.
  • step S5 the spindle motor, there is no difference between the two. As a result, the time can be reduced by the time difference T1.
  • the second embodiment of the present invention has been described using an example applied to SDRAM of a hard disk device, but can also be applied to a general memory.
  • a hard disk device has been described as an example of a storage device.
  • the present invention temporarily stores data between the host system and a host system.
  • the present invention can be applied to a general device or product having a memory functioning as a memory, or a device or system using a replaceable storage medium such as a magnetic tape device, an optical disk device, or a magneto-optical disk device.
  • the power described in a host computer such as a personal computer as a host system, and in the case of a product incorporating a storage device such as a hard disk video recorder, is a host processor (such as CPU), and controls data transfer to the storage device. What you do falls under the higher system.
  • a host processor such as CPU
  • diagnostic data stored in the storage memory is written into, read out from, and compared to the SDRAM by using nodeware.
  • a storage device having a memory diagnosis function that shortens the diagnosis time and enables diagnosis of the entire area of the SDRAM is provided. Further, the memory device having the memory diagnosis function can perform the memory diagnosis without occupying the microprocessor, so that other operations can be performed in parallel.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

 本発明のメモリ診断機能を有する記憶装置は、格納メモリに格納された診断データをハードウェアによってメモリに対して書き込み、読み出し、比較を行うことにより、診断時間を短縮し、メモリの全領域に対する診断を可能にする。また、マイクロプロセッサを用いることなくメモリ診断を行うことができるため、他の動作を並行して行うことを可能にする。このメモリ診断機能を有する記憶装置は、メモリと、前記メモリに対する書き込みと読み出しを管理するメモリマネージャーと、診断用データを格納する第一の格納メモリと、読み出しデータを格納する第二の格納メモリとを備え、前記メモリマネージャーは、比較部を有し、前記第一の格納メモリ内の診断用データを前記メモリに対して書き込み、書き込まれたデータを前記メモリから読み出し、第二の格納メモリ内に格納し、前記比較部は、前記第一の格納メモリ内のデータと前記第二の格納メモリ内のデータとを比較し、不一致ならば異常を検出することを特徴とする。

Description

明 細 書
メモリ診断方法
技術分野
[0001] 本発明は、メモリ診断機能を有する記憶装置、及び記憶装置におけるメモリ診断方 法に関する。
背景技術
[0002] 現在、コンピュータ等の情報処理装置には様々なメモリが搭載されている。それら のメモリに対して、データを書き込み、保持し、正常に読み出すことができるかどうか の診断が行われている。その診断方法の一つとして、特許文献 1に記載の技術は、メ モリに対してアクセスするバスの占有権を 1アドレスの診断毎にマイクロプロセッサか ら診断起動'停止回路へと渡し、マイクロプロセッサの占有を低減したものである。
[0003] メモリの中には、ハードディスク装置において、ホストコンピュータとディスクとの間で やりとりされるデータを一時的に蓄積するために備えられる SDRAMがある。ディスクと ホストコンピュータとに介在するこの SDRAMに対しても、ハードディスク装置が起動す る際に、データを書き込み、保持し、正常に読み出すことができるかどうかの診断が 行われる。
[0004] 図 1は、ハードディスク装置と、ホストコンピュータと、介在する SDRAMとの構成を示 した図である。ここで、ホストコンピュータ 6は、記憶媒体 7に対して書き込みや読み出 しを行う。 SDRAM2はその間に存在し、書き込みデータや読み出しデータの一時的な 蓄積を行う。ここで、記憶媒体 7は、磁気ディスクであり、アクセスに必要な磁気ヘッド アセンブリなどを含む。また、第一の格納メモリ 4は、ホストコンピュータ 6と SDRAM2と の間の書き込みと読み出しの速度差を補完するための機構 (FIFO)である。そして、 第二の格納メモリ 5は、記憶媒体 7と SDRAM2との間の書き込みと読み出しの速度差を 補完するための機構(FIFO)である。メモリマネージャー 1は、 SDRAM2に対する書き 込みや読み出しを管理するハードウェアである。そして、マイクロプロセッサ 3は、ハー ドディスク装置全体を管理し、スピンドルモーターの起動'停止などを行う。
[0005] 図 2は、ハードディスク装置の起動から、使用可能状態に至るまでの動作フローで ある。ステップ SIでは、電源投入後マイクロプロセッサ 3が動作を開始する。次に、ス テツプ S2では、第一の格納メモリ 4、第二の格納メモリ 5、 SDRAM2などが初期化される 。その後、ステップ S3では、 SDRAM2の初期診断が行われる。さらに、ステップ S4では 、マイクロプロセッサ 3、サーボコントローラーのレジスタ等の初期化などが行われる。 最後にステップ S5では、スピンドルモーターが起動しディスクが定常回転にいたる。こ れらのステップを経て、ハードディスク装置は使用可能状態となる。
[0006] この際、全てのステップには、なんらかの形でファームウェアが関わっており、並行 して複数のステップが実行されることはな力つた。
[0007] ここで、図 1に戻り、ハードディスク装置とホストコンピュータ 6とに介在する SDRAM2 の従来の初期診断の詳細を説明する。この初期診断は、マイクロプロセッサ 3を用い て行われる。
[0008] マイクロプロセッサ 3は 2バイトの診断用データを生成し、 SDRAM2の書き込みと読 み出しを管理するメモリマネージャー 1に診断用データを送る。メモリマネージャー 1 は、診断用データをマイクロプロセッサ 3から受け、マイクロプロセッサ 3によって指定 された SDRAM2のアドレス上に診断用データを書き込む。次に、メモリマネージャー 1 は、直前に書き込みを行ったアドレス力 データを読み出す。読み出されたデータは 、メモリマネージャー 1からマイクロプロセッサ 3に送られ、マイクロプロセッサ 3内で書 き込みデータと読み出しデータとの比較が行われる。
[0009] 全てのメモリ領域に対してこの比較動作を行うには、診断用データが 2バイトである ため、 2バイトずつの書き込みと読み出しを全領域に対して行わなければならない。 2 バイトのデータの書き込みや読み出しのたびに、行アドレスを与えるタイミングを伝え るための信号である RAS (Row Address Strobe)や列アドレスを与えるタイミングを伝え るための信号である CAS (Column Address
Strobe)を待たなければならないため、長い時間が必要となる。ハードディスク装置が 使用可能となるまでの時間に対する制約上、全メモリ領域を診断することはできず、 ^モリ領域を分割し、 ^モリ領域の一部の領域し力診断することができな力つた。 特許文献 1:特開平 7 - 271679号公報
発明の開示 発明が解決しょうとする課題
[0010] 上記の方法では、メモリ診断がマイクロプロセッサに展開されるファームウェアに基 づき、 2バイトずつの診断用データ書き込みと読み出しが行われるため、処理速度が 遅い。また、 ^モリ領域の一部の領域のみの診断となるため、全領域を診断する場 合に比べて信頼性が劣る。
[0011] したがって、本発明の目的は、従来ファームウェアに基づいてマイクロプロセッサに よって行われて!/、たメモリ診断を、ハードウェアを用いて大規模のデータの一括書き 込みと読み出しを行うことにより、メモリ診断の速度を速め、且つ、マイクロプロセッサ を開放することにより他の処理と並行に行うことを可能とすることである。さらに、それ にともないメモリの全領域を診断し、メモリ診断の信頼性を向上することである。 課題を解決するための手段
[0012] 上記課題を解決するため、本発明の第一の側面によれば、ホストコンピュータから のデータの書き込み、及び読み出し可能の記憶媒体と、前記記憶媒体に対する書き 込みデータ及び読み出しデータの一時的な蓄積を行う SDRAMと、前記 SDRAMに対 する書き込み及び読み出しを管理するメモリマネージャーと、前記ホストコンピュータ と前記 SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第一の格納 メモリと、 前記記憶媒体と前記 SDRAMとの間の書き込み及び読み出しの処理速度 差を補完する第二の格納メモリとを備えるメモリ診断機能を有する記憶装置において 、前記メモリマネージャ一は、比較部を有し、前記第一の格納メモリに保持された診 断用データを前記 SDRAMに対して書き込み、書き込まれたデータを前記 SDRAMか ら読み出し、前記第二の格納メモリ内に格納し、前記比較部は、前記第一の格納メ モリ内の前記診断用データと前記第二の格納メモリ内の読出データとを比較し、比較 結果が不一致ならば異常を通知することを特徴とする。
[0013] また、本発明の第二の側面によれば、ホストコンピュータからのデータの書き込み、 及び読み出し可能の記憶媒体と、前記記憶媒体に対する書き込みデータ及び読み 出しデータの一時的な蓄積を行う SDRAMと、前記 SDRAMに対する書き込み及び読 み出しを管理するメモリマネージャーと、前記ホストコンピュータと前記 SDRAMとの間 の書き込み及び読み出しの処理速度差を補完する第一の格納メモリと、前記記憶媒 体と前記 SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第二の格 納メモリとを備える記憶装置における前記 SDRAMの診断方法であって、前記第一の 格納メモリ内の診断用データを、前記 SDRAMに対して書き込み、書込データを前記 SDRAM力 読み出し、前記第二の格納メモリ内に格納し、前記メモリマネージャー内 の比較部により、前記第一の格納メモリ内の前記診断用データと前記第二の格納メ モリ内の読出データとを比較し、比較結果が不一致ならば異常を通知することを特徴 とする。
[0014] また、本発明の第三の側面によれば、ホストコンピュータからのデータの書き込み及 び読み出し可能の記憶媒体と、前記記憶媒体に対するデータの書き込み、及び、読 み出しの際に、一時的な蓄積を行う SDRAMと、前記 SDRAMに対する前記データの 書き込み、及び、読み出しを管理するメモリマネージャーと、前記ホストコンピュータと 前記 SDRAMとの間の書き込み及び読み出しの処理速度差を補完する第一の格納メ モリと、前記憶媒体と前記 SDRAMとの間の書き込み及び読み出しの処理速度差を補 完する第二の格納メモリとを備えるメモリ診断機能を有する記憶装置において、前記 メモリマネージャ一は、巡回冗長符号を算出する巡回冗長符号算出部と、巡回冗長 符号を比較する比較部とを有し、前記第一の格納メモリに予め設定された所定の診 断用データに基づいて生成される書込データを前記 SDRAMに書き込み、前記書込 データを前記 SDRAMから読み出し、前記巡回冗長符号算出部は、前記 SDRAMに対 する前記書込データの書き込みの際に、前記書込データに基づいた巡回冗長符号 を算出し、前記 SDRAMに前記書込データとともに前記算出された巡回冗長符号の 書き込みを行う。次に、読み出された読出データに基づいた巡回冗長符号を算出し 、前記比較部は、前記書込データに基づいた巡回冗長符号と、前記読出データに 基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常を通知することを特 徴とする。
[0015] また、上記発明の第三の側面において、さらに好ましい実施例では、前記メモリマ ネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎 に所定の数が加減算されるシードを算出し、前記巡回冗長符号算出部は、前記書込 データ、もしくは、前記読出データに対して前記算出されたシードを付加することによ り、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得 ることを特徴とする。
[0016] また、上記発明の第三の側面において、さらに好ましい実施例では、前記書込デ ータは、複数の前記診断用データで構成されることを特徴とする。
[0017] また、本発明の第四の側面によれば、ホストコンピュータからのデータの書き込み及 び読み出し可能の記憶媒体と、前記記憶媒体に対するデータの書き込み、及び、読 み出しの際に、一時的な蓄積を行う SDRAMと、前記 SDRAMに対する前記データの 書き込み、及び、読み出しを管理するメモリマネージャーと、前記ホストコンピュータと 前記 SDRAMとの間の書き込み、及び、読み出しの処理速度差を補完する第一の格 納メモリと、前記憶媒体と前記 SDRAMとの間の書き込み及び読み出しの処理速度差 を補完する第二の格納メモリとを備える記憶装置における前記 SDRAMの診断方法で あって、前記メモリマネージャーにより、前記第一の格納メモリ内の予め設定された所 定の診断用データに基づいて生成される書込データを前記 SDRAMに対して書き込 み、前記メモリマネージャー内の巡回冗長符号算出部により、前記書込データに基 づいた巡回冗長符号を算出し、前記 SDRAMに対して前記書込データとともに前記算 出された巡回冗長符号を書き込み、前記メモリマネージャーにより、書き込まれた巡 回冗長符号を前記 SDRAMから読み出し、前記メモリマネージャーにより、前記書込 データを前記 SDRAM力も読み出し、前記メモリマネージャー内の巡回冗長符号算出 部により、読み出された読出データに基づいた巡回冗長符号を算出し、前記メモリマ ネージャー内の比較部により、前記書込データに基づいた巡回冗長符号と、前記読 出データに基づいた巡回冗長符号を比較し、比較結果が不一致ならば異常を通知 することを特徴とする。
[0018] また、上記発明の第四の側面にぉ 、て、好ま 、実施例では、前記格納メモリが
FIFOメモリで構成されて 、ることを特徴とする。
[0019] また、上記発明の第四の側面において、さらに好ましい実施例では、前記メモリマ ネージャーは、前記書込データの書き込み、もしくは、前記読出データの読み出し毎 に所定の数が加減算されるシードを算出し、前記巡回冗長符号算出部は、前記書込 データ、もしくは、前記読出データに対して前記算出されたシードを付加することによ り、同一の前記書込データ、もしくは、前記読出データから異なる巡回冗長符号を得 ることを特徴とする。
[0020] また、上記発明の第四の側面において、さらに好ましい実施例では、前期書込デ ータは、複数の前記診断用データで構成されることを特徴とする。
発明の効果
[0021] 本発明のメモリ診断機能は、格納メモリに格納された診断データをノヽードウエアによ つて SDRAMに対して書き込み、読み出し、比較を行うことにより、診断時間を短縮し、 SDRAMの全領域に対する診断を可能にする。また、マイクロプロセッサを用いること なくメモリ診断を行うことができるため、他の動作を並行して行うことを可能にする。 図面の簡単な説明
[0022] [図 1]ハードディスク装置と、ホストコンピュータと、介在する SDRAMとの構成を示 し た図である。
[図 2]ハードディスク装置の起動から、使用可能状態に至るまでの動作フローである
[図 3]本発明の第一の実施形態におけるメモリ診断機能を有するハードディスク装置 の構成図である。
[図 4]メモリマネージャーに対するリクエストを処理するアービトレーション機構の 図 である。
[図 5]本発明の第一の実施形態におけるメモリ診断の動作フローである。
[図 6]本発明の第二の実施形態におけるメモリ診断機能を有するハードディスク装置 の構成図である。
[図 7]本発明の第二の実施形態におけるメモリ診断の動作フローである。
[図 8]本発明の第二の実施形態における SDRAMに書き込まれるデータを示す図であ る 。
[図 9]巡回冗長符号の説明図である。
[図 10]本発明のメモリ診断機能を有したノヽードディスク装置の動作フローと、本発明 のメモリ診断機能を有して 、な 、ノヽードディスク装置の動作フローを示す図で ある。 符号の説明 [0023] 1メモリマネージャー
2 SDRAM
3マイクロプロセッサ
4第一の格納メモリ (FIFO)
5第二の格納メモリ (FIFO)
6ホストコンピュータ
7記憶媒体
発明を実施するための最良の形態
[0024] 以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術 的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とそ の均等物まで及ぶものである。
[0025] 図 3は、本発明の第一の実施形態におけるメモリ診断機能を有するハードディスク 装置の構成図である。 SDRAM2に対する書き込みと読み出しを管理するメモリマネー ジャー 1は、ホストコンピュータ 6、記憶媒体 7、ハードディスク装置全体を管理するマ イク口プロセッサ 3に接続されて 、る。メモリマネージャー 1とホストコンピュータ 6の間 には、第一の格納メモリ 4が存在している。また、メモリマネージャー 1と記憶媒体 7の 間には、第二の格納メモリ 5が存在している。本実施形態では、図 3内の点線内部が メモリ診断装置となる。
[0026] なお、本発明の第一の実施形態において、第一の格納メモリ 4と第二の格納メモリ 5 はそれぞれ FIFOで構成される。通常、ハードディスク装置には、一時的に書き込みと 読み出しのデータを蓄積するための SDRAM2と、記憶媒体 7と SDRAM2との間のデ ータ転送速度の差を補完するための FIFOと、ホストコンピュータ 6と SDRAM2との間 のデータ転送速度の差を補完するための FIFOが備えられて 、る。これらの既存の FIFOを用いてメモリ診断装置を構成すれば、従来の回路の変更を最小限に抑えるこ とができ、メモリ診断装置の規模も最小限に抑えることができる。
[0027] 図 4は、メモリマネージャー 1に対するリクエストを処理するアービトレーション機構の 図である。メモリマネージャー 1は、 SDRAM2に対する書き込みや読み出しなどの様 々なリクエストをアービトレーション機構を用いて処理する。たとえば、メモリマネージ ヤー 1に対するリクエストとしては、第一の格納メモリ 4のデータ力も巡回冗長符号( CRC)を生成し SDRAM2への書き込み、またはその読み出しに対するリクエスト Rl、 第二の格納メモリ 5内のデータ力も巡回冗長符号を生成し SDRAM2への書き込み、 またはその読み出しに対するリクエスト R2、第一の格納メモリ 4と SDRAM2との間のデ ータの書き込みと読み出しに対するリクエスト R3、第二の格納メモリ 5と SDRAM2との 間のデータの書き込みと読み出しに対するリクエスト R4、マイクロプロセッサ 3からの SDRAM2に対するアクセスに対するリクエスト R5などが存在する。
[0028] 図 4のアービトレーション機構は、発生したリクエストを時計回りに処理する。たとえ ば、第一の格納メモリ 4のデータを SDRAM2に書き込みたい場合には、リクエスト R3が 発生し、リクエスト R3の処理の後にリクエスト R4、リクエスト R5、リクエスト R1の順でチェ ックが行われる。リクエストが全く発生していない場合は、アイドル状態でループして いる。
[0029] SDRAM2の初期診断の際に、第一の格納メモリ 4の中には、診断用データが格納さ れている。このデータはマイクロプロセッサ 3に生成されたものであっても、ホストコン ピュータ 6から転送されたものであってもよい。この診断用データは、メモリマネージャ 一 1を介して SDRAM2に書き込まれ、直ちにメモリマネージャー 1に読み出される。読 み出されたデータは、第二の格納メモリ 5に格納される。そして、第一の格納メモリ 4 の中のデータと第二の格納メモリ 5の中のデータを、メモリマネージャー 1内の比較部 が比較することにより SDRAM2の診断が行われる。
[0030] 図 5は、本発明の第一の実施形態におけるメモリ診断の動作フローである。最初に 、ファームウェアに基づいて動作するマイクロプロセッサ 3によってメモリ診断の開始 位置と終了位置が決定する(処理工程 Pl-1)。そして、マイクロプロセッサ 3は、メモリ マネージャー 1の初期診断機能を起動する(処理工程 Pl-2)。処理工程 P1-1と処理 工程 P1- 2はファームウェアで実現され、以降はメモリマネージャー 1のハードウェアで 実現される。
[0031] メモリマネージャー 1は第一の格納メモリ 4内の診断用データを、 SDRAM2に書き込 む(処理工程 Pl-3)。このとき、図 4のアービトレーション機構には、リクエスト R3が発 生し、処理される。次に、書き込まれたアドレス上のデータを直ちに読み出し、第二の 格納メモリ 5内に格納する(処理工程 Pl-4)。このとき、図 4のアービトレーション機構 には、リクエスト R4が発生し、処理される。メモリマネージャー内の比較部は、第一の 格納メモリ 4内のデータと第二の格納メモリ 5内のデータとを比較する(処理工程 P1-5 ) oその際に、不一致が検出されれば、直ちに異常と判断し SDRAM2の診断は終了 する(処理工程 Pl-6)。一致であれば、ポインタの位置が終了位置であるかどうかを 確認する(処理工程 Pl-7)。終了位置でなければ、 SDRAM2のポインタのインクリメン トを行 、 (処理工程 Pl-8)、 SDRAM2に対する診断用データの書き込み (処理工程 P1-3)に戻る。処理工程 P1-3から処理工程 P1-8までのループは、ポインタの位置が 終了位置に達するまで繰り返される。ポインタが終了位置に達すると、メモリ診断機 能は正常終了する(処理工程 P1-9)。
[0032] SDRAM2が 8メガバイトの領域を持ち、第一の格納メモリ 4と第二の格納メモリ 5とが 、それぞれ 128バイトの大きさを持つとすれば、 SDRAM2の全領域を診断するのに、 書き込み、読み出し、比較のループ (処理工程 P1-3から処理工程 P1-8までのループ )は、 65536回で済むことになる。従来のように、 2バイトごとの書き込み、読み出し、比 較のループでは、 SDRAM2の全領域を診断しょうとすれば、 4メガ回のループが必要 であることから、大幅な改善といえる。ループ回数の減少により、書き込み、読み出し 、比較の際のオーバーヘッド時間を省略することができ大幅な時間短縮となる。
[0033] このようにして、本発明の第一の実施形態において、従来ファームウェアに基づい てマイクロプロセッサ 3によって行われていたメモリ診断を、ハードウェアによって大規 模のデータの一括書き込みと読み出しを行うことにより、メモリ診断の速度を速め、且 つ、マイクロプロセッサ 3を開放することにより他の処理と並行に行うことを可能にする 。結果として、 SDRAM2の全領域を診断でき、信頼性を向上することができる。
[0034] 尚、本発明の第一の実施形態において、記憶装置の例としてハードディスク装置を 用いて説明したが、本発明はメモリを有する装置、製品に対しても同様に適用可能で ある。
[0035] 図 6は、本発明の第二の実施形態におけるメモリ診断機能を有するハードディスク 装置の構成図である。 SDRAM2に対する書き込みと読み出しを管理するメモリマネー ジャー 1は、ホストコンピュータ 6、記憶媒体 7、ハードディスク装置全体を管理するマ イク口プロセッサ 3に接続されて 、る。メモリマネージャー 1とホストコンピュータ 6の間 には、第一の格納メモリ 4が存在し、また、メモリマネージャー 1と記憶媒体 7の間には 、第二の格納メモリ 5が存在している。本実施形態では、図 6内の点線内部がハード ディスク装置となる。
[0036] なお、本発明の第二の実施形態において、第一の格納メモリ 4と第二の格納メモリ 5 はそれぞれ FIFOで構成される。通常、ハードディスク装置には、一時的に書き込みと 読み出しのデータを蓄積するための SDRAM2と、記憶媒体 7と SDRAM2との間のデ ータ転送速度の差を補完するための FIFOと、ホストコンピュータ 6と SDRAM2との間 のデータ転送速度の差を補完するための FIFOが備えられて 、る。これらの既存の FIFOを用いてメモリ診断装置を構成すれば、従来の回路の変更を最小限に抑えるこ とができ、メモリ診断装置の規模も最小限に抑えることができる。
[0037] 第一の格納メモリ 4の中には、診断用データが格納されて 、る。このデータはマイク 口プロセッサ 3に生成されたものであっても、ホストコンピュータ 6から転送されたもの であってもよい。この診断用データは、メモリマネージャー 1を介して SDRAM2に対し て、書き込み終了位置に達するまで繰り返し書き込まれる。この際、シードと 512バイト の書き込みデータから巡回冗長符号が計算され (計算方法は後述)、 SDRAM2の一 部に書き込まれる。なお、シードは、初期診断起動時に 0に初期化され、開始位置か ら 512バイトの診断データの書き込み毎にインクリメントされる 4バイトデータである。ま た、 SDRAM2上の 1セクタは、 512バイトで構成されており、第一の格納メモリ 4と第二 の格納メモリ 5とがそれぞれ 128バイトとすると、 SDRAM2への書き込み及び、読み出し の際は、 4回分のデータ転送が行われることとなる。
[0038] その後、メモリマネージャー 1は書き込み開始位置から 1セクタのデータとそれに対 応する巡回冗長符号を読み出し、読み出された 1セクタのデータ力 再び巡回冗長 符号を計算する。メモリマネージャー 1内の比較部は、読み出された巡回冗長符号と 計算された巡回冗長符号比較することにより、 SDRAM2の診断が行われる。
[0039] 図 7は、本発明の第二の実施形態におけるメモリ診断の動作フローである。最初に 、ファームウェアによって動作するマイクロプロセッサ 3によってメモリ診断の開始位置 と終了位置が決定する(処理工程 P2-l)。そして、マイクロプロセッサは、メモリマネー ジャー 1の初期診断機能を起動する(処理工程 P2-2)。処理工程 P2-1と処理工程 P2-2はファームウェアで実現され、以降はメモリマネージャー 1のハードウェアで実現 される。
[0040] メモリマネージャー 1は、第一の格納メモリ 4上の診断用データを、ポインタをインクリ メントしながら(処理工程 P2-5) SDRAM2に順次書き込む(処理工程 P2-3)。このとき、 図 4のアービトレーション機構には、第一の格納メモリ 4から SDRAM2への書き込みに 対するリクエスト R3が発生する。その際に、メモリマネージャー 1内の巡回冗長符号算 出部は、 1セクタ分の書き込みデータと、それに対応するシードとから巡回冗長符号 を算出し、 SDRAM2の開始位置に順次書き込む。このときアービトレーション機構に は、 4回のリクエスト R3が発生し、最後にリクエスト R1がー度で発生する。マイクロプロ セッサ 3が最初に設定した終了位置に到達したことが確認されると (処理工程 P2-4)、 書き込みを停止し、ポインタを初期化する(処理工程 P2-6)。
[0041] 図 8は本発明の第二の実施形態における SDRAM2に書き込まれるデータを示す図 である。第一の格納メモリ 4に格納されていた 128バイトの診断用データは、処理工程 P2-1で決定されたメモリ診断開始位置(図 8のデータ書き込み開始位置)から順次書 き込まれ、 4回分の書き込みで 512バイトの 1セクタを形成する。 1セクタ分の書き込み 毎にシードはインクリメントされ、 1セクタ分のデータと組み合わせて巡回冗長符号が 算出される。そして、データ書き込み終了位置となる予定の位置から、対応する巡回 冗長符号が順次書き込まれる。診断用データは最終的にデータ書き込み終了位置 に達し、それに対応する巡回冗長符号は CRC書き込み終了位置にまで達する。
[0042] 次に、図 7に戻り、メモリマネージャー 1の初期診断機能は、ポインタをインクリメント しながら (処理工程 P2-10)、書き込まれたデータと巡回冗長符号を読み出す (処理 工程 P2-7)。このとき、アービトレーション機構には SDRAM2から第二の格納メモリ 5へ のデータの読み出しに対するリクエスト R4力 回発生し、最後に巡回冗長符号の読み 出しに対するリクエスト R2が発生する。ここで、この巡回冗長符号はメモリマネージャ 一 1内の比較部に送られる。読み出されたデータと対応するシードから、メモリマネー ジャー 1内の巡回冗長符号算出部は、巡回冗長符号を算出し (処理工程 P2-8)、比 較部に巡回冗長符号を送る。 [0043] 比較部に送られた 2つの巡回冗長符号は比較され (処理工程 P2-ll)、 2つの巡回 冗長符号が一致する場合は、終了位置かどうかの確認が行われる(処理工程 P2-13) 。 2つの巡回冗長符号が一致しない場合は、メモリマネージャー 1の初期診断機能は 異常を検知し、終了する(処理工程 P2-12)。
[0044] 最後に SDRAMの全領域が完了したかを終了位置と確認が行われる際に、終了位 置でな!ヽと判断された場合には、再び SDRAM2からのデータと巡回冗長符号の読み 出しが行われ、繰り返される。終了位置であると判断された場合には、メモリマネージ ヤー 1の初期診断機能は正常終了する (処理工程 P2-14)。
[0045] 図 9は巡回冗長符号の説明図である。 128バイトの診断用データは、変化せず、同 一のデータ(図 9では、 ΑΒ· · ·Χ)が繰り返し第一の格納メモリ 4から SDRAM2に書き込 まれる。 128バイトの診断用データの 4回の書き込みに対して、 4バイトのシードは 1回 インクリメントされる。 512バイトのデータにシードを付カ卩した 516バイトのデータをある 定数で除算することによって、 4バイトの巡回冗長符号を得る。メモリマネージャー 1は 516バイトの領域を除算のために確保する必要はなぐ 4バイトのシードと 128バイトの 診断用データを連結した 132バイトデータをある定数で除算する。さらにその余りと、 診断用データを連結した 132バイトデータをある定数で再び除算する。このようにして 4回の除算を繰り返した余りが巡回冗長符号となる。図 9に示すように、シードが 1セク タ毎にインクリメントされるため、同じ ΑΒ· · ·Χという 512バイトのデータに対して異なつ た巡回冗長符号 (abcd、 efgh、等)を得る。
[0046] メモリマネージャー 1内の比較部は 512バイトの領域の診断に対して、 4バイトの巡回 冗長符号を比較すれば 、 、ので効率がよ!、。 521バイトのデータを直接的に比較す る場合に比べ、巡回冗長符号 4バイトを比較する場合は、比較の量が 1Z128となる。 また、 SDRAM2から読み出した 512バイトのデータを保持する必要もなくなる。
[0047] ここで、第一の格納メモリ 4から SDRAM2に対する 100セクタ分の診断用データとそ れに対応する巡回冗長符号の書き込みの場合を例にとり、アービトレーション機構の 動作とともに説明する。アービトレーション機構は、初期診断機能の開始と同時にスタ ートし、何のリクエストも発生していない場合には、アイドル状態で図 4のようにループ している。そこで、 SDRAM2に対する第一の格納メモリ 4からの書き込みのリクエスト R3が発生する。第一の格納メモリ 4からの 128バイトの診断用データの書き込み後、リ タエスト Rl、 R2、 R4、 R5は発生していないので、再び発生しているリクエスト R3が処理 される。 1セクタ分の 512バイトの処理が終了するまでリクエスト R3は 4回発生する。 4 回のリクエスト R3の処理の後、巡回冗長符号の生成と書き込みのリクエスト R1が発生 し、書き込まれた 512バイトのデータに対する巡回冗長符号が生成され書き込まれる 。以後、リクエスト R3の 4回とリクエスト R1の 1回の処理を合計 100回繰り返すことで 100 セクタ分の診断用データとそれに対応する巡回冗長符号の書き込みが行われる。
[0048] 次に、書き込まれた 100セクタ分の読み出しとそれに対応する巡回冗長符号の比較 をアービトレーション機構の動作とともに説明する。 100セクタ分のデータの書き込み の終了後、ポインタとシードは初期化され、データと巡回冗長符号の読み出しが開始 される。アービトレーション機構には、 SDRAM2から第二の格納メモリ 5への読み出し に対するリクエスト R4が発生し、これが 1セクタ分を処理するために 4回繰り返される。 このとき 4回の読み出しデータとシードに対応する巡回冗長符号が算出される。その 後、 SDRAM2に書き込まれた巡回冗長符号を読み出すリクエスト R1が発生し、処理さ れる。 2つの巡回冗長符号は比較され、不一致ならば異常が検出され診断は終了す る。 100セクタ分の読み出しには、以上の動作が 100回繰り返され初期診断機能は正 常終了する。
[0049] このようにして、本発明の第二の実施形態において、ハードウェアによってメモリを 診断することと、一度に比較的大きなサイズのデータの書き込みと読み出しを行うこと により、メモリ診断の高速ィ匕を実現することができる。これによつて SDRAM2の全領域 を診断し、信頼性を向上することができる。また、従来ファームウェアに基づいてマイ クロプロセッサによって行われていたメモリ診断をノヽードウエアによって行うことにより、 マイクロプロセッサを開放し他の処理を行うことを可能とする。
[0050] 図 10は、本発明のメモリ診断機能を有したノヽードディスク装置の動作フローと、本 発明のメモリ診断機能を有していない従来のハードディスク装置の初期動作シーケ ンスを示す図である。下側に示した太い矢印は、本発明のメモリ診断機能を有したノヽ ードディスク装置の初期動作シーケンスであり、上側の細 、矢印は本発明のメモリ診 断機能を有して 、な 、ノヽードディスク装置の動作フローを示して 、る。 [0051] マイクロプロセッサ 3内でファームウェアの展開が行われるステップ SIと、第一の格 納メモリ 4と第二の格納メモリ 5と SDRAM2などが初期化されるステップ S2では、両者 に差はない。し力し、 SDRAM2の初期診断が行われるステップ S3では、本発明のメモ リ診断機能を有していないハードディスク装置による初期診断の方が早く完了する。 これは、本発明のメモリ診断機能は、 8MBを 330msで診断するのに対して、従来の技 術では 512KBを 250msで診断するためである。しかし、本発明のメモリ診断機能では マイクロプロセッサ 3を占有しないため、ステップ S3の終了を待たずに、マイクロプロセ ッサ 3に展開されたファームウェアの初期化、サーボコントローラーの初期化などが行 われるステップ S4へと移行できる。従来のメモリ診断機能では、ステップ S3の終了を 待ってステップ S4へと移行する。スピンドルモーターを起動するステップ S5は両者に 差はなぐ結局、時間差 T1の分だけ時間短縮が可能となる。
[0052] このようにして、本発明のメモリ診断機能をノヽードディスク装置に適用することによつ て、電源の投入力 使用可能状態に至るまでの時間を短縮し、 ^モリ領域の診断 が可能となる。
[0053] 尚、本発明の第二の実施形態は、ハードディスク装置の SDRAMに対し適用される 例を用 、て説明したが、一般のメモリに対して適用することも可能である。
[0054] さらに、本発明の第二の実施形態において、記憶装置の例としてハードディスク装 置を用いて説明したが、本発明は上位システムとの間に一時的にデータを蓄積する ノ ッファメモリもしくはキャッシュメモリの機能を果たすメモリを有する一般の装置、製 品や、磁気テープ装置、光ディスク装置、光磁気ディスク装置等の可換型記憶媒体 を使用した装置やシステムに適用可能である。
[0055] 上位システムとしてパソコンなどのホストコンピュータで説明してきた力、ハードディ スクビデオレコーダのような記憶装置を内蔵する製品の場合は上位プロッセッサ (CP U等)であり、記憶装置に対するデータ転送制御を行うものが上位システムに該当す る。
産業上の利用可能性
[0056] 以上図面に従い説明したように、本発明により、格納メモリに格納された診断データ をノヽードウエアによって SDRAMに対して書き込み、読み出し、比較を行うことにより、 診断時間を短縮し、 SDRAMの全領域に対する診断を可能にするメモリ診断機能を有 する記憶装置が提供される。また、このメモリ診断機能を有する記憶装置は、マイクロ プロセッサを占有することなくメモリ診断を行うことができるため、他の動作を並行して 行うことを可能にする。

Claims

請求の範囲
[1] 上位システムからのデータの書き込み、及び読み出し可能の記憶媒体に対する書 き込みデータ又は/及び読み出しデータの一時的な蓄積を行うメモリと、
前記一時記憶メモリに対する書き込み又は/及び読み出しを管理するメモリマネー ジャーと、
前記上位システムと前記メモリとの間の書き込み又は/及び読み出しの処理速度差 を補完する第一の格納メモリと、
前記記憶媒体と前記一時記憶メモリとの間の書き込み及び読み出しの処理速度差 を補完する第二の格納メモリとを備え、
前記メモリマネージャ一は、比較部を有し、前記第一の格納メモリに保持された診 断用データを前記一時記憶メモリに対して書き込み、書き込まれたデータを前記一 時記憶メモリから読み出し、前記第二の格納メモリ内に格納し、
前記比較部は、前記第一の格納メモリ内の前記診断用データと前記第二の格納メ モリ内の読出データとを比較し、比較結果が不一致ならば異常と判断することを特徴 とするメモリ診断機能を有する記憶装置。
[2] 請求項 1において、
前記第一の格納メモリと前記第二の格納メモリが FIFOメモリで構成されていることを 特徴とするメモリ診断機能を有する記憶装置。
[3] 上位システムからのデータの書き込み、及び読み出し可能の記憶媒体と、前記記 憶媒体に対する書き込みデータ又は/及び読み出しデータの一時的な蓄積を行う一 時記憶メモリと、前記一時記憶メモリに対する書き込み及び読み出しを管理するメモ リマネージャーと、前記上位システムと前記一時記憶メモリとの間の書き込み又は/及 び読み出しの処理速度差を補完する第一の格納メモリと、前記記憶媒体と前記一時 記憶メモリとの間の書き込み又は/及び読み出しの処理速度差を補完する第二の格 納メモリとを備える記憶装置における前記一時記憶メモリの診断方法であって、 前記第一の格納メモリ内の診断用データを、前記一時記憶メモリに対して書き込み 書込データを前記一時記憶メモリから読み出し、前記第二の格納メモリ内に格納し 前記メモリマネージャー内の比較部により、前記第一の格納メモリ内の前記診断用 データと前記第二の格納メモリ内の読出データとを比較し、
比較結果が不一致ならば異常と判断することを特徴とするメモリ診断方法。
[4] 上位システム力 のデータの書き込み又は/及び読み出し可能の記憶媒体に対する データの書き込み、又は/及び読み出しの際に、一時的な蓄積を行う一時記憶メモリ と、
前記一時記憶メモリに対する前記データの書き込み又は/及び読み出しを管理す るメモリマネージャーと、
前記上位システムと前記メモリとの間の書き込み又は/及び読み出しの処理速度差 を補完する第一の格納メモリと、
前記憶媒体と前記メモリとの間の書き込み又は/及び読み出しの処理速度差を補 完する第二の格納メモリとを備え、
前記メモリマネージャ一は、巡回冗長符号を算出する巡回冗長符号算出部と、巡 回冗長符号を比較する比較部とを有し、前記第一の格納メモリに予め設定された所 定の診断用データに基づいて生成される書込データを前記一時記憶メモリに書き込 み、前記書込データを前記一時記憶メモリから読み出し、
前記巡回冗長符号算出部は、前記一時記憶メモリに対する前記書込データの書き 込みの際に、前記書込データに基づいた巡回冗長符号を算出し、前記一時記憶メ モリに前記書込データとともに前記算出された巡回冗長符号を書き込み、読み出さ れた読出データに基づいた巡回冗長符号を算出し、
前記比較部は、前記書込データに基づいた巡回冗長符号と、前記読出データに基 づいた巡回冗長符号を比較し、比較結果が不一致ならば異常と判断することを特徴 とするメモリ診断機能を有する記憶装置。
[5] 請求項 4において、
前記第一の格納メモリと前記第二の格納メモリとが FIFOメモリで構成されていること を特徴とするメモリ診断機能を有する記憶装置。
[6] 請求項 4において、 前記メモリマネージャ一は、前記書込データの書き込み、もしくは、前記読出データ の読み出し毎に所定の数が加減算されるシードを算出し、
前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対し て前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前 記読出データ力 異なる巡回冗長符号を得ることを特徴とするメモリ診断機能を有す る記憶装置。
[7] 請求項 4において、
前記書込データは、複数の前記診断用データで構成されることを特徴とするメモリ 診断機能を有する記憶装置。
[8] 上位システムからのデータの書き込み又は/及び読み出し可能の記憶媒体に対す るデータの書き込み、又は、読み出しの際に、一時的な蓄積を行う一時記憶メモリと、 前記一時記憶メモリに対する前記データの書き込み、又は、読み出しを管理するメモ リマネージャーと、前記上位システムと前記一時記憶メモリとの間の書き込み、及び、 読み出しの処理速度差を補完する第一の格納メモリと、前記憶媒体と前記一時記憶 メモリとの間の書き込み及び読み出しの処理速度差を補完する第二の格納メモリとを 備える記憶装置における前記一時記憶メモリの診断方法であって、
前記メモリマネージャーにより、前記第一の格納メモリ内の予め設定された所定の 診断用データに基づいて生成される書込データを前記一時記憶メモリに対して書き 込み、
前記メモリマネージャー内の巡回冗長符号算出部により、前記書込データに基づ いた巡回冗長符号を算出し、前記一時記憶メモリに対して前記書込データとともに前 記算出された巡回冗長符号を書き込み、
前記メモリマネージャーにより、書き込まれた巡回冗長符号を前記一時記憶メモリ 力 読み出し、
前記メモリマネージャーにより、前記書込データを前記一時記憶メモリから読み出し 前記メモリマネージャー内の巡回冗長符号算出部により、読み出された読出データ に基づいた巡回冗長符号を算出し、 前記メモリマネージャー内の比較部により、前記書込データに基づいた巡回冗長 符号と、前記読出データに基づいた巡回冗長符号を比較し、比較結果が不一致なら ば異常と判断することを特徴とするメモリ診断方法。
[9] 請求項 8において、
前記メモリマネージャ一は、前記書込データの書き込み、もしくは、前記読出データ の読み出し毎に所定の数が加減算されるシードを算出し、
前記巡回冗長符号算出部は、前記書込データ、もしくは、前記読出データに対し て前記算出されたシードを付加することにより、同一の前記書込データ、もしくは、前 記読出データ力 異なる巡回冗長符号を得ることを特徴とするメモリ診断方法。
[10] 請求項 8において、
前期書込データは、複数の前記診断用データで構成されることを特徴とするメモリ 診断方法。
PCT/JP2004/019600 2004-12-28 2004-12-28 メモリ診断方法 WO2006070451A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2004/019600 WO2006070451A1 (ja) 2004-12-28 2004-12-28 メモリ診断方法
JP2006550519A JP4435180B2 (ja) 2004-12-28 2004-12-28 メモリ診断方法
US11/820,618 US20070266277A1 (en) 2004-12-28 2007-06-20 Memory diagnostic method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/019600 WO2006070451A1 (ja) 2004-12-28 2004-12-28 メモリ診断方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/820,618 Continuation US20070266277A1 (en) 2004-12-28 2007-06-20 Memory diagnostic method

Publications (1)

Publication Number Publication Date
WO2006070451A1 true WO2006070451A1 (ja) 2006-07-06

Family

ID=36614578

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/019600 WO2006070451A1 (ja) 2004-12-28 2004-12-28 メモリ診断方法

Country Status (3)

Country Link
US (1) US20070266277A1 (ja)
JP (1) JP4435180B2 (ja)
WO (1) WO2006070451A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996731B2 (en) 2005-11-02 2011-08-09 Advanced Micro Devices, Inc. Error detection in high-speed asymmetric interfaces
JP5406689B2 (ja) * 2009-12-10 2014-02-05 富士通テン株式会社 制御装置、及び、制御方法
JP6717059B2 (ja) * 2016-06-06 2020-07-01 オムロン株式会社 制御システム
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11221929B1 (en) * 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224833A (ja) * 1992-02-10 1993-09-03 Fujitsu Ltd 外部記憶装置のデータ保証方法
JPH08115268A (ja) * 1994-10-13 1996-05-07 Toshiba Corp メモリ回路装置
JPH11306798A (ja) * 1998-04-22 1999-11-05 Oki Electric Ind Co Ltd メモリ装置のテスト容易化回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
US7269841B1 (en) * 1992-12-09 2007-09-11 Sedna Patent Services, Llc Digital cable headend for cable television delivery system
US5953418A (en) * 1995-06-14 1999-09-14 David Hall Providing selective data broadcast receiver addressability
EP0832525A2 (en) * 1995-06-15 1998-04-01 Hall, David Communication system for superimposing data onto a video signal
US5673279A (en) * 1995-11-06 1997-09-30 Sun Microsystems, Inc. Verification of network transporter in networking environments
JPH1050056A (ja) * 1996-07-31 1998-02-20 Sharp Corp 半導体記憶装置
US5829047A (en) * 1996-08-29 1998-10-27 Lucent Technologies Inc. Backup memory for reliable operation
KR100474985B1 (ko) * 1997-06-23 2005-07-01 삼성전자주식회사 메모리로직복합반도체장치
US6085285A (en) * 1997-11-13 2000-07-04 International Business Machines Corporation Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot
US6467060B1 (en) * 1998-06-26 2002-10-15 Seagate Technology Llc Mass storage error correction and detection system, method and article of manufacture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224833A (ja) * 1992-02-10 1993-09-03 Fujitsu Ltd 外部記憶装置のデータ保証方法
JPH08115268A (ja) * 1994-10-13 1996-05-07 Toshiba Corp メモリ回路装置
JPH11306798A (ja) * 1998-04-22 1999-11-05 Oki Electric Ind Co Ltd メモリ装置のテスト容易化回路

Also Published As

Publication number Publication date
JPWO2006070451A1 (ja) 2008-06-12
JP4435180B2 (ja) 2010-03-17
US20070266277A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US20070266277A1 (en) Memory diagnostic method
US6125072A (en) Method and apparatus for contiguously addressing a memory system having vertically expanded multiple memory arrays
US5392302A (en) Address error detection technique for increasing the reliability of a storage subsystem
US7206219B2 (en) Slave and master of serial peripheral interface, system thereof, and method thereof
US7865784B1 (en) Write validation
JPH08203294A (ja) メモリ
US20060150034A1 (en) System and method for in-line error correction for storage systems
US5630054A (en) Method and apparatus for storing and retrieving error check information
US7921243B1 (en) System and method for a DDR SDRAM controller
US7809899B2 (en) System for integrity protection for standard 2n-bit multiple sized memory devices
US7152129B2 (en) Apparatus having an inter-module data transfer confirming function, storage controlling apparatus, and interface module for the apparatus
JPS5848288A (ja) デ−タ記憶レジスタのアドレス方法及び装置
JP4130811B2 (ja) 試験装置及び試験方法
JPH10269150A (ja) メモリ初期化方法
JPH1078853A (ja) 記憶装置
JP2000065904A (ja) 半導体試験装置
EP0365114A2 (en) Interface arrangement for interfacing a data storage device with a data handling system
JPH11102328A (ja) メモリ診断システム
CN118155698A (zh) 数据测试方法、电子设备及存储介质
JP3022688B2 (ja) 補助記憶装置
JP3675748B2 (ja) データ記憶制御装置
JP2786061B2 (ja) ディスク型記憶装置の制御装置
JPH0896310A (ja) 磁気テープ用エラー訂正符号の記録方法および装置
CN114756485A (zh) 一种基于fpga平台的ddr读写仲裁及测试方法
JPH1153267A (ja) メモリデータ誤り自動訂正回路

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006550519

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11820618

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 11820618

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 04807955

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 4807955

Country of ref document: EP