CN101930391B - Microprocessor and test method applicable for same - Google Patents

Microprocessor and test method applicable for same Download PDF

Info

Publication number
CN101930391B
CN101930391B CN 201010243791 CN201010243791A CN101930391B CN 101930391 B CN101930391 B CN 101930391B CN 201010243791 CN201010243791 CN 201010243791 CN 201010243791 A CN201010243791 A CN 201010243791A CN 101930391 B CN101930391 B CN 101930391B
Authority
CN
China
Prior art keywords
mentioned
fuse
microprocessor
error detection
value
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN 201010243791
Other languages
Chinese (zh)
Other versions
CN101930391A (en
Inventor
G·葛兰·亨利
泰瑞·派克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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
Priority claimed from US12/719,291 external-priority patent/US8281198B2/en
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN201310051155.3A priority Critical patent/CN103123597B/en
Publication of CN101930391A publication Critical patent/CN101930391A/en
Application granted granted Critical
Publication of CN101930391B publication Critical patent/CN101930391B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

A microprocessor and test method applicable for the same is provided. The microprocessor includes a first plurality of fuses, selectively blown with a predetermined value for provision to circuits of the microprocessor to control operation of the microprocessor. The microprocessor also includes a second plurality of fuses, selectively blown with error detection information used to detect an error in the first plurality of fuses such that a blown fuse of the microprocessor returned a non-blown binary value. In response to a user program instruction, the microprocessor is configured to determine whether there is an error in the first plurality of fuses such that a blown fuse returned a non-blown binary value using the error detection information from the second plurality of fuses.

Description

Microprocessor and the method for testing that is suitable for thereof
Technical field
The present invention relates generally to the technical field of microprocessor, particularly about the fuse operation technique in the microprocessor.
Background technology
The fuse that comprises is can be by optionally scorification in the manufacture process of microprocessor in the microprocessor in the present age, and fuse can be according to reading from wherein controlling value by scorification optionally with the running of control microprocessor.Usually, when non-fuse wire is read, can return Binary Zero (binaryzero), and return binary one (binary one) (perhaps can oppositely set) when fuse wire is read Shi Zehui.Yet, the present inventor observes the fuse wire that the microprocessor in this field has but can change its value, that is to say, fuse wire can return Binary Zero improperly, even if it can correctly return binary one in the test phase of microprocessor, this situation is called as fuse and heavily grows (re-growing) or fuse regrowth (re-growth), meaning is that fuse wire can be changed in the lasting operation of microprocessor substantially, makes it return non-fusing value rather than passback fusing value when being read.Its value is then looked in the fuse regrowth can cause catastrophic result to the follow-up running of microprocessor, in addition, also is difficult to be detected in failure analysis by the caused problem of fuse regrowth.
U.S. patent application case 12/609,207 narrations propose a kind of error detection and correction (Error Detection And Correction of having used for this problem, the solution of fuse EDAC), fuse in this solution is amendable, namely most fuse is to be arranged in the control hardware that is write by microcode, particularly, this microcode is from the fuse reading numerical values, when needed mistake in using detecting removes to revise this numerical value with the fuse of revising, then (for example: particular module buffer (Model Specific Register revised numerical value is write hardware, MSR), character control buffer (Feature ControlRegister, FCR), repair hardware (patch hardware) etc.).Yet, still some fuse is to be revised by microcode, anticipates namely, when chip enable, numerical value in the fuse that can not revise is directly scanned (scan) to hardware register, and does not remove to revise this numerical value through the detecting of microcode mistake in using and correction technique.For instance, the fuse that can not revise has high-speed cache correction fuse and phase-locked loop (Phase Lock Loop, PLL) to proofread and correct fuse.In an embodiment of microprocessor, microcode can't read the fuse that can not revise.
Therefore, need a kind of method badly and can determine whether the fuse that can not revise fuse regrowth situation has occured.
Summary of the invention
One embodiment of the invention provide a kind of microprocessor, comprise a plurality of the first fuses and a plurality of the second fuse.Above-mentioned the first fuse is optionally fused according to a predetermined value, wherein above-mentioned predetermined value in order to for the circuit of above-mentioned microprocessor to control the running of above-mentioned microprocessor.Above-mentioned the second fuse is optionally fused according to error detection information, and wherein above-mentioned error detection information is in order to detect the mistake in above-mentioned the first fuse, and this mistake indicates a fuse wire of above-mentioned microprocessor to return a non-fusing binary value.Wherein above-mentioned microprocessor is response one first user's programmed instruction, and according to the above-mentioned mistake that determines whether to exist from the error detection information of above-mentioned the second fuse in above-mentioned the first fuse.
Another embodiment of the present invention provides a kind of method of testing, is applicable to carry out the test of user's program start of a microprocessor.Above-mentioned method of testing may further comprise the steps: carry out one first user's programmed instruction in the running of above-mentioned microprocessor; And determine that whether existing a mistake to indicate a fuse wire in a plurality of first fuses of above-mentioned microprocessor returns a non-fusing binary value, wherein above-mentioned the first fuse is optionally fused according to a predetermined value, above-mentioned predetermined value in order to for the circuit of above-mentioned microprocessor to control the running of above-mentioned microprocessor.Wherein above-mentioned deciding step use is performed from the error detection information of a plurality of second fuses of above-mentioned microprocessor, and above-mentioned the second fuse is optionally fused according to above-mentioned error detection information; Wherein the execution of above-mentioned deciding step is the execution of the above-mentioned first user's programmed instruction of response.
Another embodiment of the present invention provides a kind of method of testing, and whether be applicable to field test one microprocessor has one or more fuse wires to return non-fusing value when being read with a plurality of fuses that determine this microprocessor.Above-mentioned method of testing may further comprise the steps: reset in response to one of above-mentioned microprocessor and read the fuse of the predetermined quantity in the above-mentioned fuse; Whether the fuse that determines above-mentioned predetermined quantity is indicated and should be carried out test for above-mentioned fuse; When the indication of the fuse of above-mentioned predetermined quantity should be carried out test for above-mentioned fuse, carry out test to determine whether to have one or more fuse wires when being read, not return the fusing value for above-mentioned fuse but return non-fusing value; And when the fuse indication of above-mentioned predetermined quantity should not carried out test for above-mentioned fuse, avoid carrying out above-mentioned test.
Description of drawings
Fig. 1 is the schematic diagram according to microprocessor of the present invention.
Fig. 2 is the operation workflow figure according to the microprocessor 100 of shop drawings 1 of the present invention.
Fig. 3 is the operation workflow figure that shows the microprocessor 100 of Fig. 1.
Fig. 4 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.
Fig. 5 is the operation workflow figure that shows the microprocessor 100 of shop drawings 4.
Fig. 6 is the operation workflow figure that shows the microprocessor 100 of Fig. 4.
Fig. 7 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.
Fig. 8 is the operation workflow figure that shows the microprocessor 100 of shop drawings 7.
Fig. 9 is the operation workflow figure that shows the microprocessor 100 of Fig. 7.
Figure 10 is that the microprocessor 100 that shows Fig. 7 is carried out the operation workflow figure that the particular module buffer writes instruction.
Figure 11 is the operation workflow figure that shows the microprocessor 100 execution particular module buffer reading command of Fig. 7.
Figure 12 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.
Figure 13 is the operation workflow figure according to the microprocessor 100 of manufacturing Figure 12 of the present invention.
Figure 14 is the operation workflow figure that shows the microprocessor 100 of Figure 12.
[primary clustering symbol description]
100~microprocessor;
102~instruction cache;
104~instruction transfer interpreter;
106~instruction dispensing device;
108~command decoder;
114~performance element;
116~microcode unit;
118,158~correction data assurance silk numerical value;
122~reset microcode;
124,198~control hardware;
126,166~data assurance silk numerical value;
128,168~error detection and correction fuse numerical value;
132,193~error detection and correction fuse;
134~controlling value;
The input of 136~fuse scorification voltage;
144~apparatus for temporary storage;
152~can revise the data assurance silk;
164~controlling value;
172~fuse;
174~particular module buffer;
181~fuse the numerical value of fuse test option when reseting;
182,184,188~stamped signature;
183~correction stamped signature value;
185,186~stamped signature complement code;
191~scanning buffer;
192~can not revise the data assurance silk;
194~count number;
195~data assurance silk;
The buffer that 196~microcode can read;
The writeable buffer of 197~microcode;
199~state machine.
Embodiment
Embodiments of the invention are to make the microcode of microprocessor can read the fuse that can not revise.When the part of microprocessor during fabrication, just determined the fuse quantity that can not revise that wherein will be fused, for instance, certain some of supposing a microprocessor has 1000 fuses that can not revise, and wherein 147 will be fused, then, this fusing quantity is taken as stamped signature (signature) fusing in a set of amendable fuse, and the fuse of this set can see through above-mentioned error detection and correction technique is revised by microcode.When microprocessor is reseted (reset) and carried out when reseting microcode, microprocessor reads all fuses that can not revise and counts the fuse quantity that is wherein fused, then the quantity of comparison counting and the above-mentioned stamped signature (after amendable fuse is revised when needed) that reads from amendable fuse.If the quantity of counting is different from above-mentioned stamped signature, does not then allow this partly to leave reconfiguration procedure or export this mistake to buffer that a software readable is got.
Fig. 1 is the schematic diagram according to microprocessor of the present invention.Microprocessor 100 comprises a plurality of fuses 172, and in one embodiment, fuse 172 is polysilicon (polysilicon) fuse, but other fuse technology, for example the metal fuse also can be applicable in the embodiments of the invention.Although the fuse 172 identical structure that is essence, but then can be divided in logic two groups, be error detection and correction fuse 132 and data assurance silk, and the data assurance silk can be further divided into and can revise data assurance silk 152 and can not revise data assurance silk 192, and whether a certain specific fuse 172 is configured to data assurance silk or error detection and correction fuse 132 is to decide according to the employed error detection of fabricator (manufacturer) of microprocessor 100 and correction algorithm.
Fuse 172 is set the fabricator who makes microprocessor 100 can provide assigned voltage (prescribed voltage) optionally to remove indivedual fuse wires 172 in input 136.In one embodiment, the fabricator sees through combined testing action group (Joint Test Action Group, JTAG) scan interface and specifies (specify) which fuse 172 that will fuse.In one embodiment, the one side of each fuse 172 then is connected to active (active) device for the ground connection another side, for example: the transistor that microprocessor 100 can read.Therefore, if when a fuse 172 is non-fusing, then has conduction and may be read into a low-voltage (then being Binary Zero after the conversion); Otherwise, if a fuse 172 when fusing, does not then have conduction and may be read into a high voltage (then being binary one after the conversion).In other embodiments, can use opposite binary value transformation approach.
Although fuse 172 can be fused individually in manufacture process and each fuse 172 consists of and (constitute) single binary digit (position), but in logic, can revise 152 of data assurance silks and be considered as single entities (entity) and have single common (collective) numerical value that is fused, error detection and correction fuse 132 then are considered as another single entities and have the single common numerical value that is fused.The fabricator uses an error detection and correction algorithm to go to calculate and fuses to error detection and the single common numerical value of revising fuse 132, this error detection and correction algorithm are that this single common numerical value fusing extremely can be revised data assurance silk 152 as its input, and the correlation step details is further described in follow-up.
Microprocessor 100 also comprises control hardware 124, and control hardware 124 is in order to receive and to store controlling value 134 and controlling value 134 is provided to the running with control microprocessor 100 of the circuit of microprocessor 100.Control hardware 124 can comprise following assembly: in order to repair the microcode patching hardware of microcode; The character control buffer of microprocessor 100, in order to function or the functional unit that enables or end microprocessor 100, and/or in order to indicate microprocessor 100 to have which function or functional unit, wherein the feature or function unit of microprocessor 100 can be floating point unit (Floating Point Unit, FPU), matrix mathematics expansion (Matrix Math eXtension, MMX) unit, single-instruction multiple-data stream (SIMD) expansion (StreamingSIMD Extensions, SSE) unit, high-speed cache with translate lookaside buffer (Translation Lookaside Buffer, TLB), call out/return (call/return) storehouse, tandom number generator, crypto engine, mix to take advantage of and add (fused-multiply-add) command function, the microcode patching correlation function, virtual machine expansion (Virtual Machine eXtension, VMX), the usefulness monitoring function, processor stepping (stepping) and series information, (prefetch) function of looking ahead, the branch prediction function, paging (table-walking) the relevant function of tabling look-up, and power management functions; The setting buffer of microprocessor 100 is in order to the voltage level of the frequency of controlling the one or more clock signals in the microprocessor 100, control microprocessor 100 or other.Should be noted, except said modules, the assembly that control hardware 124 of the present invention can comprise is not in this restriction.
In traditional microprocessor, controlling value is to read the self-protective silk and be written into control hardware, and does not have the advantage of error detection and correction.As mentioned above, if the situation of a fuse wire generation fuse regrowth and have conduction and be wrongly read as 0 but not 1, then this traditional microprocessor very likely can't normal operation because write incorrect value to control hardware.Yet, microprocessor 100 of the present invention also comprises that error detection and correction fuse 132 can read from the improper value that can revise data assurance silk 152 in order to detecting, thereby and revise this improper value and make correct numerical value can be written into control hardware, wherein this improper value is that fuse 172 by a regrowth is caused.
Microprocessor 100 more comprises instruction cache 102, and by the programmed instruction that microprocessor 100 extracted and carried out, this programmed instruction can comprise the programmed instruction such as the user such as system software or application program in order to high-speed cache.
Microprocessor 100 also comprises instruction transfer interpreter 104, in order to receive instruction from instruction cache 102, and when instruction is the instruction of macroinstruction set of microprocessor 100, this instruction (also can be described as macro instruction) is translated into the performed one or more micro-orders of actual performance element 114 by microprocessor 100.Yet when instruction is the instruction of macroinstruction set of microprocessor 100, instruction transfer interpreter 104 will be controlled transfer (transfer) to the micro-code sequence of micro-order, and wherein this micro-code sequence system is stored in the microcode ROM (read-only memory) of microcode unit 116.
The microcode ROM (read-only memory) of microcode unit 116 also stores the sequence of the micro-order of reseting microcode 122.When microprocessor 100 was reseted, microcode unit 116 began to extract and carry out the micro-order of reseting microcode 122, reseted the various computing of microcode 122 execution and removed to prepare to begin to extract and carry out user's programmed instruction with initialization microprocessor 100.Particularly, reset microcode 122 according to the control hardware 124 of controlling value 134 programming (program) microprocessors 100.Microprocessor 100 produces controlling value 134 according to the numerical value that reads self-protective silk 172, and wherein fuse 172 fuses in manufacture process.Yet, as mentioned above, the situation of regrowth still might occur and make its value change into not fusing value from the fusing value in fuse 172 after being fused, microprocessor 100 also comprises error detection and revises fuse 132, read from the mistake that can revise in the numerical value of data assurance silk 152 with correction in order to enabled microprocessor 100, below will describe in detail.The stamped signature 188 that can not revise data assurance silk 192 quantity that quilt is fused in manufacture process in order to appointment is to be stored in can revise in the data assurance silk 152 in the time can revising data assurance silk 152 by fusing.Advantageously, reset microcode 122 counting and can not revise the fuse quantity that is fused in the data assurance silk 192, and the quilt that can revise in the data assurance silk 152 of comparison count number and stamped signature 188 or in manufacture process, be stored in fuse can not revise data assurance silk 192 quantity.This mechanism makes to be reseted microcode 122 and can detect the regrowth fuse that can not revise in the data assurance silk 192, follow-up will elaborating.
Microprocessor 100 also comprises instruction dispensing device (dispatcher) 106, in order to receiving micro-orders from instruction transfer interpreter 104 or microcode unit 116, and the instruction of for example reseting microcode 122, and micro-order is distributed to performance element 114.Performance element 114 comprises one or more integer unit, this integer unit comprises carrying out arithmetic and the logical block of arithmetic logical operation, particularly, performance element 114 comprises that in order to carry out Boolean XOR (Boolean XOR) computing for input operand, wherein to reset microcode 122 be to use the Boolean XOR computing to go execution error detection and correction algorithm to read the mistake of the numerical value of self-protective silk 172 with detecting and correction.In addition, performance element 114 is more in order to carry out arithmetical operation for input operand, the quantity of wherein reseting microcode 122 and be the fuse wire quantity using this arithmetical operation to go to count can not to revise in the data assurance silk 192 and comparison counting be stored in the stamped signature 188 that can revise data assurance silk 152, can not revise the fuse regrowth mistake that occurs in the data assurance silk 192 with detecting.Performance element 114 is also carried out instruction certainly to control hardware 124 reading out datas and data writing to control hardware 124.
Performance element 114 more carry out instruction with from apparatus for temporary storage 144 reading out datas and data writing to apparatus for temporary storage 144.In one embodiment, apparatus for temporary storage 144 can be a random access memory (RandomAccess Memory, RAM).Particularly, according to shown in Figure 3, reseting microcode 122 reads and can revise data assurance silk 152 and the numerical value that reads is write apparatus for temporary storage 144 as data assurance silk numerical value 126, the read error detecting writes apparatus for temporary storage 144 as error detection and correction fuse numerical value 128 with correction fuse 132 and with the numerical value that reads, and reading out data fuse numerical value 126 revises data assurance silk numerical value 118 with revising fuse numerical value 128 to produce with error detection, wherein resets microcode 122 and will revise data assurance silk numerical value 118 and write apparatus for temporary storage 144 and also then it is read out for the usefulness that writes control hardware 124.Revise data assurance silk numerical value 118 and comprise the correction stamped signature value 183 that reads from revising the stamped signature 188 of data assurance silk 152.At last, be stored in apparatus for temporary storage 144, follow-up will elaborating by reseting the fuse wire quantity that can not revise in the data assurance silk 192 that microcode 122 counts.
After having read fuse 172, having revised data assurance silk numerical value 126 during in needs, write to control hardware 124 and begin to extract and carry out user's programmed instruction, microprocessor 100 reads or writes control hardware 124 for response user program instruction request, and reads or write the control hardware 124 of part.In one embodiment, user's programmed instruction is that the particular module buffer of x86 framework reads (ReaD from Model-Specific Register, RDMSR) instruction and particular module buffer write (Write to Model-Specific Register, WRMSR) instruction.
As mentioned above, the difference that can revise data assurance silk 152 and can not revise between the data assurance silk 192 is directly to be provided to circuit for the numerical value 164 that can not revise data assurance silk 192, and resets the detecting of microcode 122 mistake in usings and revise fuse 132 and go to revise without crossing.May further comprise the steps about the use that can not revise data assurance silk 192, but the invention is not restricted to this.When if the fabricator of microprocessor 100 determines that delegation (column) bit location (bitcell) in the cache memory damages, he/her can with can not revise one fusing in the data assurance silk 192 so that cache memory uses another row redundant digit unit that delegation's bit location of service failure.Cache memory can comprise following assembly, but the present invention is not limited to this: a L1 cache data array, a L2 cache tag array and a branch target address caching array.Some can not be revised, and data assurance silk 192 control is following to be set: for work period (duty cycle) or other control of the various phase-locked loop of microprocessor 100; Charge pump (charge pump) is set; The clock frequency of phase-locked loop; The setting of I/O pad (input/output pad) comprises the function that allows the multitask debug; Select clock whether in microprocessor 100, to be moved to increase frequency; Used redundant fuse when avoiding fuse to lose efficacy; Only for the manufacture of the fuse of the identification purposes in the process; The pin of setting voltage identification number (pin); And bus selection (Bus SELect, the BSEL) pin in order to control voltage and clock multiplier (multiplier).
Fig. 2 is in order to make the operational flowchart of microprocessor 100 as shown in Figure 1 according to of the present invention.Flow process starts from square 201.
In square 201, the fabricator of microprocessor 100 determines stamped signature 188, and meaning namely can not be revised the fuse quantity that will be fused in the data assurance silk 192.Flow process continues to square 202.
In square 202, the fabricator of processor 100 determines will fuse to the controlling value that can revise in the data assurance silk 152, each can be revised data assurance silk 152 and consist of single position, and binary value of this single position then is made as 0 or 1 according to corresponding fuse for fusing or non-fusing.From each can revise place value that data assurance silk 152 reads do not write direct one of control hardware 124, be exactly one the place value that will be written into control hardware 124 in order to produce, can contrast shown in the square 132 and 316 of Fig. 3.Therefore, in square 202, this fabricator determines which fuse 172 will be configured to revise data assurance silk 152, which fuse 172 will be configured to error detection and revise fuse 132, each can be revised data assurance silk 152 and control hardware 124 one be associated together, and the place value to revising data assurance silk 152 of determining to want to fuse.For instance, this fabricator can determine that specifically can revise data assurance silk 152 with one goes to store in order to switch one default microcode value optionally, should default microcode value be whether a specific branch forecast function of controlling microprocessor 100 is opened, whether this fabricator also can determine to fuse, and this specifically can revise data assurance silk 152 to provide this place value to go switch to preset the microcode value.This fabricator can revise data assurance silk 152 for each and carry out above step.Fuse to the angle (ask for an interview narration with lower block 204) of error detection with the place value of revising fuse 132 with generation, although can revising data assurance silk 152, each all consists of single position, but whole data assurances revised silk 152 is regarded as single entities and has the single common numerical value that is fused or be regarded as a plurality of words (word) that have separately single common numerical value, below will do further narration in square 204.Thus, single common numerical value just presets before making microprocessor 100 and before having made rear running.In addition, this controlling value is included in and determines in the square 201 and will be fused in square 206 extremely to revise the stamped signature 188 of data assurance silk 152.Flow process continues to square 204.
In square 204, the fabricator is directed to the detecting of controlling value mistake in using and the correction algorithm that determines in the square 202, fuses to error detection and error detection and the modified value of revising fuse 132 to calculate wish.In one embodiment, error detection and correction algorithm can be that this field for example knows single wrongly revises two wrong detecting (Signel Error Correction Double Error Detection, SECDED) (72,64) Hamming code (Hamming code) algorithm; Yet other embodiments of the invention also can be used other error detection and correction algorithm.What below will illustrate is vertical codes (vertical code) algorithm.
In the embodiment shown in fig. 3, in square 306, Fig. 1 reset microcode 122 with software execution error detection and correction algorithm to read fuse 172 and detecting and correction mistake wherein.Therefore, in this embodiment, the fabricator has used the vertical codes algorithm with miscount detecting and modified value at square 204, and resets microcode 122 and used the vertical codes algorithm at square 306.In one embodiment, be used as the fuse 172 that can revise data assurance silk 152 and error detection and revise fuse 132 and be set to 58 data bases (bank), each data base has 64 fuses, and meaning is that each data base is 64 bit wides.Front 50 data bases logically are to be configured to error detection and the data base of revising fuse 132, therefore, logically, the controlling value that square 202 determines is 50 control words, each control word is 64, and error detection and correction algorithm have produced 8 error detections and have revised word, and each error detection is 64 with revising word.The fabricator cuts sheet (bit slices) for the position of 50 control words and uses this error detection and correction algorithm, that is to say, the fabricator uses this error detection and correction algorithm to produce 8 error detections and the 0th position revising word for the 0th position of 50 control words, use this error detection and correction algorithm to produce 8 error detections and the 1st position revising word for the 1st position of 50 control words, by that analogy (because this error detection and correction algorithm hypothesis has 64 input positions producing 8 error detections and to revise character but 50 control words are only arranged altogether, thus in fabricator's hypothesis " (missing) of vacancy " 14 control words all be all 0).
In addition, such as Fig. 4 in the U.S. patent application case 12/609,207 and shown in Figure 5, another embodiment has then used the horizontal codes algorithm.In this another embodiment, the detecting of one hard error and amending unit can be revised data assurance silk 152 and error detection and the fuse 172 of revising fuse 132 with hardware implement error detection and correction algorithm to read to be used as, and detecting and correction mistake wherein.Therefore, in this embodiment, manufacturer uses a horizontal codes algorithm with miscount detecting and modified value, and error detection and amending unit have used this horizontal codes algorithm.In one embodiment, can revise data assurance silk 152 and be set to 50 data bases with error detection with revising fuse 132, each data base has 72 fuses, and meaning is that each data base is 72 bit wides.Logically, front 64 positions in each data base are configured to revise data assurance silk 15, and therefore, in the described embodiment of last paragraph, the controlling value that square 202 determines logically is 50 control words, and each control word is 64; Yet in this embodiment, error detection and correction algorithm have produced 50 error detections and word is drilled in correction, and each error detection is 8 with revising word.Manufacturer uses this error detection and correction algorithm for data base one by one, that is to say, the fabricator for 64 control words that are associated with data base 0 use this error detection and correction algorithm be associated with data base 0 with generation 8 bit error detection with revise word, for 64 control words that are associated with data base 1 use this error detection and correction algorithm be associated with data base 1 with generation 8 bit error detection with the correction word, by that analogy.
Should be noted, error detection and modified value are that basis has comprised that the controlling value of the stamped signature 188 that square 201 determines calculates in the embodiment of above-mentioned vertical codes algorithm and horizontal codes algorithm, and this controlling value will extremely can be revised data assurance silk 152 by scorification in square 206.Flow process continues to square 206.
In square 206, the controlling value scorification that the fabricator determines square 202 be to can revising data assurance silk 152, and the error detection that square 204 is calculated and modified value scorification are to error detection and correction fuse 132.What in addition, manufacturer can not revise that data assurance silk 192 scorifications, particularly scorification fall in square 201 to determine quantity can not revise data assurance silk 192.Flow process ends at square 206.
Fig. 3 is the operation workflow figure that shows the microprocessor 100 of Fig. 1.Flow process starts from square 302.
In square 302, microprocessor begins to extract and carry out the instruction of reseting microcode 122 because reseting.Flow process continues to square 304.
In square 304, reset microcode 122 and read and to revise data assurance silk 152 and error detection and correction fuse 132, and data assurance silk numerical value 126 and error detection and correction fuse numerical value 128 are write apparatus for temporary storage 144.Comprise stamped signature 188 from revising the numerical value that data assurance silk 152 and error detection and correction fuse 132 read out, stamped signature 188 is can not be revised in the data assurance silk 192 by the fuse quantity of scorification.In one embodiment, the microinstruction set of microprocessor 100 comprises that an instruction is used for a general caching device (not illustrating) and another instruction that a data base with fuse 172 moves to microprocessor 100 and is used for a numerical value is moved to apparatus for temporary storage 144 from the general caching device.Moreover wherein a performance element 114 is in order to carry out above-mentioned instruction.Reset the sequence (a sequence) that microcode 122 uses each data base that is associated with fuse 172, this sequence comprises that an instruction is used for data assurance silk numerical value 126 and error detection and correction fuse numerical value 128 are write apparatus for temporary storage 144 in order to the data base that reads each fuse 172 and another instruction.Flow process continues to square 306.
In square 306, reset microcode 122 for the data assurance silk numerical value 126 in the apparatus for temporary storage 144 and error detection and the detecting of correction fuse numerical value 128 mistake in usings and correction algorithm, with whether wrong in the determination data fuse numerical value 126, if have, determine then then whether this mistake can be revised.In one embodiment, the microinstruction set of microprocessor 100 comprises that an instruction is used for a numerical value is moved to a general caching device, a plurality of instruction in order to be used for a numerical value is moved to apparatus for temporary storage 144 from the general caching device for the execution of the numerical value general caching device arithmetic logical operation (for example: XOR, displacement (shift) or rotation (rotate)) and another instruction from apparatus for temporary storage 144.Moreover, wherein a performance element 114 is in order to carry out above-mentioned instruction, reseting a sequence of the above-mentioned instruction of microcode 122 uses goes for the data assurance silk numerical value 126 in the apparatus for temporary storage 144 and error detection and the detecting of correction fuse numerical value 128 mistake in usings and correction algorithm, with whether wrong in the determination data fuse numerical value 126, if have, determine then then whether this mistake can be revised.In one embodiment, reset the vertical codes algorithm that microcode 122 uses as described in Figure 2.Flow process continues to square 308.
In decision-making square 308, reset microcode 122 according to whether wrong in the performed computing determination data fuse numerical value 126 of square 306, if having, flow process continues to square 314; If not, then flow process continues to square 312.
In square 312, reset microcode 122 usage data fuse numerical value 126 controlling value 134 is write control hardware 124.In one embodiment, reset microcode 122 with data assurance silk numerical value 126 control hardware 124 that writes direct.In another embodiment, reset microcode 122 Update Table fuse numerical value 126 to produce controlling value 134 for writing control hardware 124.For instance, in one embodiment, reset microcode 122 data assurance silk numerical value 126 and a preset control value are made XOR, wherein this preset control value is to be stored in a constant of reseting in the microcode 122, then reset microcode 122 result of gained is write control hardware 124, thus, so that data assurance silk numerical value 126 becomes a switching mechanism with switch microcode preset control value.In addition, because control hardware 124 can be any one (for example: microcode patching hardware, character control buffer and setting buffer) in the above-mentioned various hardware, and data assurance silk numerical value 126 can have the controlling value of the different piece (portion) corresponding to above-mentioned various hardware, so reset microcode 122 control hardware 124 of some part that the data assurance silk numerical value 126 of some part can be write direct, and the data assurance silk numerical value 126 of other parts can be made amendment before writing control hardware 124.Moreover, should understand and reset instruction that microcode 122 can carry out a sequence with from apparatus for temporary storage 144 reading out data fuse numerical value 126, and the data assurance silk numerical value 126 of above-mentioned part (or part of above-mentioned modification) is write control hardware 124.Flow process continues to square 322.
In decision-making square 314, reset microcode 122 mistake in usings detectings with revise fuse numerical value 128 take the mistake that determines square 306 or square 308 and detected whether as amendable, if flow process continues to square 316; If not, then flow process continues to square 318.
In decision-making square 316, reset microcode 122 mistake in usings detectings and correction algorithm and remove the data assurance silk numerical value 126 that corrects mistakes, revise data assurance silk numerical value 118 to produce, then use correction data assurance silk numerical value 118 that controlling value 134 is write control hardware 124.Should be noted, whether will revise data assurance silk numerical value 118 and be used as controlling value 134 and write control hardware 124 no matter reset microcode 122, and reset microcode 122 and all can the mistake in using detecting revise data assurance silk numerical value 118 with the data assurance silk numerical value 126 that correction algorithm goes to correct mistakes to produce.That is to say, no matter whether decision-making square 308 finds mistake, reset microcode 122 and all can produce and revise data assurance silk numerical value 118, make in the apparatus for temporary storage 144 correction stamped signature value 183 can in order to the square 324 of making a strategic decision in count number 194 (will be described further in follow-up) compare.Such as the explanation of above-mentioned square 312, reseting microcode 122 can make an amendment a part of revising data assurance silk numerical value 118 or correction data assurance silk numerical value 118 before writing control hardware 124.Described in above-mentioned square 304, owing to comprising stamped signature 188 from revising the numerical value that data assurance silk 152 and error detection and correction fuse 132 read, so advantageously, in square 316, stamped signature 188 can be revised when needing with the some as the correction of data assurance silk numerical value, if stamped signature 188 is for what can not revise, this condition will be detected in decision-making square 314, make square 318 can suitably process the mistake that this can not revise.Flow process continues to square 322.
In square 318, reset microcode 122 and avoid microprocessor 100 to leave reconfiguration procedure.If flow process proceeds to square 318 by decision-making square 314, that microprocessor 100 can't the mistake in using detecting go to revise with correction fuse numerical value 128 because the bit quantity in the mistake of data assurance silk numerical value 126 is too much, that is to say, reset microcode 122 and avoid microprocessor 100 to extract and carry out user's programmed instruction.In another embodiment, reset microcode 122 and allow microprocessors 100 to leave reconfiguration procedure, meaning namely allows microprocessor 100 to extract and carry out user's programmed instruction of basic input/output system (BIOS) for example or other system software; Yet, reset microcode 122 transmit an error condition to system software to inform the mistake that can not revise about in the data assurance silk numerical value 126.If flow process is to proceed to square 318 (will be described further in follow-up) by decision-making square 324, reset 122 of microcodes and avoid microprocessor 100 to leave reconfiguration procedure, because it is not identical with count number 194 in the square 322 to reset stamped signature 188 that microcode 122 determined that the correction data assurance silk numerical value 118 from apparatus for temporary storage 144 reads.Flow process ends at square 318.
In square 322, reset microcode 122 and read and can not revise data assurance silk 192, the fuse quantity that wherein fused of counting and count number 194 is write apparatus for temporary storage 144, above-mentioned count number 194 can not be revised the quantity 194 of fuse for the scorification of the numeration shown in Fig. 1.Flow process continues to decision-making square 324.
In decision-making square 324, reset the correction data assurance silk numerical value 118 of microcode 122 in apparatus for temporary storage 144 and read correction stamped signature value 183, and comparison revises count number 194 in stamped signature value 183 and the square 322 to determine whether both are identical, if difference, flow process continues to square 318; If identical, then flow process continues to square 326.In another embodiment, reset the data assurance silk numerical value 126 of microcode 122 in apparatus for temporary storage 144 and read this stamped signature, whether and it is identical with count number 194 in the square 322 to compare this stamped signature, that is to say, reseting microcode 122 employed is the stamped signature revised of mistake in using detecting and correction algorithm not in square 306.
In square 326, reset microcode 122 and make microprocessor 100 begin to carry out user's programmed instruction.Flow process ends at square 326.
About the described regrowth way to solve the problem that can not revise data assurance silk 192 of Fig. 1 to Fig. 3, should be noted that stamped signature 188 is fused to fuse 172, and fuse 172 may regrowth.Some makes moderate progress the problem of stamped signature 188 regrowths according to one embodiment of the invention, because stamped signature 188 can be by fusing to can revising data assurance silk 152, be through the performed error detection of above-mentioned error detection and amendment scheme (scheme) and can revise data assurance silk 152.Yet there are restriction in error detection and amendment scheme in the error bit that can detect, and therefore, in the time of might work as the 152 generation regrowth of the too much data assurance revised silk, meeting is so that can't detect mistake in the stamped signature 188.For this problem, below will be described further according to Fig. 4 to Fig. 6.
More specifically explanation, this problem are to see through boolean's complement code 186 (asking for an interview Fig. 4) scorification of stamped signature 188 and this stamped signature extremely can be revised data assurance silk 152.And then read boolean's complement code 186 of stamped signature 188 and this stamped signature from revising data assurance silk 152, carry out boolean's complement arithmetics producing a result for stamped signature 188, and compare this result and read from the boolean's complement code 186 that can revise data assurance silk 152.If comparison result is not identical, expression detects mistake.Because in order not detect the mistake of stamped signature 188, stamped signature 188 in the fuse 172 need to be with the state reverse (invert) of oneself with its complement code 186, so this solution may be more more reliable to error detection and amendment scheme shown in Figure 3 than Fig. 1, this then needs to make the fuse 172 in the stamped signature 188 to change not blown state (such as the fuse regrowth) into from blown state, and the fuse 172 that makes in the complement code 186 corresponding position never blown state changes blown state into, and vice versa.Yet, although aforementioned clear the commentary about fuse 172 changes the problem of blown state not (being the mainly problem that solves of wish of the present invention) into by blown state, not yet comment the situation that is changed into blown state about fuse 172 by blown state not.Therefore, the complement code scheme of stamped signature scheme/stamped signature does not unlikely go to detect the mistake in the stamped signature 188 that can not revise data assurance silk 192.
Fig. 4 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.The microprocessor 100 of Fig. 4 is similar to the microprocessor 100 of Fig. 1, therefore only explain for newly-increased and/or different assemblies at this.One of them difference is can revise data assurance silk 152 to comprise that not only representative can not revise the stamped signature 188 of the fuse wire quantity in the data assurance silk 192, has also comprised the stamped signature complement code 186 of the boolean's reverse value that represents stamped signature 188.In addition, be read to the data assurance silk numerical value 126 of apparatus for temporary storage 144 and not only comprise stamped signature 184 from revising data assurance silk 152, also comprised stamped signature complement code 185.Moreover, reset microcode 122 and calculate the complement code of stamped signature 184 with the complement code as stamped signature 182.
Fig. 5 is the operation workflow figure that shows the microprocessor 100 of shop drawings 4.Flow process starts from square 201.
In square 201, the fabricator of microprocessor 100 determines a stamped signature, and this stamped signature is for can not revise the fuse quantity that will be fused in the data assurance silk 192.And the fabricator of microprocessor 100 determines the complement code of this stamped signature.Flow process continues to square 202.
In square 202, the fabricator of microprocessor 100 determines to want scorification to the controlling value that can revise data assurance silk 152.The square 202 of Fig. 5 is similar to the square 202 of Fig. 2, yet what should be noted is that this controlling value not only comprises the stamped signature that square 201 determines, also comprises the complement code of this stamped signature.Flow process continues to square 204.
In square 204, this fabricator is for square 202 determined controlling value mistake in using detecting and correction algorithms, to calculate scorification to error detection and error detection and the modified value of revising fuse 132.The square 204 of Fig. 5 is similar to the square 204 of Fig. 2, yet what should be noted is that this error detection and modified value are to calculate according to the controlling values that the square 201 of Fig. 5 is determined, and this error detection and modified value comprise the complement code of this stamped signature and this stamped signature.Flow process continues to square 206.
In square 206, to can revising data assurance silk 152, and the error detection that square 204 is calculated and modified value scorification are similar to the square 206 of Fig. 2 to error detection and correction fuse 132 to this fabricator with square 202 determined controlling value scorifications.Flow process ends at square 206.
Fig. 6 is the operation workflow figure that shows the microprocessor 100 of Fig. 4.The performed step of Fig. 6 is except the following difference place that particularly points out, and other step then is similar to the step of Fig. 3.
In square 304, stamped signature 184 and stamped signature complement code 185 have been comprised by reseting microcode 122 from revising the data assurance silk numerical value 126 that data assurance silk 152 read out and write to apparatus for temporary storage 144.Flow process continues down to proceed to new square 652 from square 304.
In square 652, reset microcode 122 and will make complement arithmetic to produce a result from the stamped signature 184 of apparatus for temporary storage 144, then compare this result with from the stamped signature complement code 182 of apparatus for temporary storage 144.Flow process continues to new decision-making square 654.
In decision-making square 654, reset microcode 122 and determine whether the comparison of square 652 is identical, if flow process continues down to carry out square 306; If not, then flow process continues down to carry out square 318, because microprocessor 100 has determined in stamped signature 188 and/or the stamped signature complement code 186 mistake to have occured.
The advantage that the embodiment of Fig. 4 to Fig. 6 has is need to be by bug check and correction (ErrorChecking and Correction, ECC) revise stamped signature 188 in the fuse 172, but stamped signature complement code 186 provides the integrity checking of stamped signature 188.
About the illustrated regrowth solution of problem scheme that can not revise data assurance silk 192 of the embodiment of Fig. 1 to Fig. 6, its test is reseting of answer processor and carrying out.If detect the mistake of fuse regrowth when reseting, one of solution is exactly the partial cancellation (kill) that makes a mistake, and meaning is namely reseted microcode 122 and avoided microprocessor to leave reconfiguration procedure.Yet, if the partially self that makes a mistake cancellation, then whole computing machine is exactly the state of working as machine for basic input/output system, therefore also can be when the machine state for the user, meaning namely this computing machine can't carry out any program code, can't send the serge serge signal sound, can't the switching signal lamp or produce any signal of video signal and inform the wrong generation of user.Thus, then be difficult to collect significant fault on the spot (field failure) information for fault analysis and solution.
Two of solution is exactly to allow the part that makes a mistake continue to carry out and the trial repayment mistake of trying one's best.Yet, the available returning error mechanism of processor itself (i.e. stripping (absent) any executory external program code) is very limited, particularly because the code of reseting of processor is not freely in the write store, even reset code freely in the write store, basic input/output system also rewrites it possibly.If the processor fuse test errors state when reseting will be retained, then basic input/output system must read this error condition immediately as early as possible when beginning to carry out, and this needs system manufacturer to be ready to allow the fabricator of microprocessor 100 increase program code, the error condition of particularly repaying in order to reading processor newly at the basic input/output system of ordering work for processor.Yet the fabricator of microprocessor 100 possibly can't so do in its applied all systems.
It is to allow the fuse test become the user initiate (user-initiated) that individual method is arranged, rather than only can initiate by reseting.So, increased a particular module buffer in the microprocessor 100 newly, when allowing user's software that one particular module buffer is write instruction and carries out to this particular module buffer, microprocessor 100 is carried out above-mentioned any or carry out simultaneously the mistake that above-mentioned fuse test and report detect.This offers the user so that user's software can be the mistake that detects, in addition, this also so that the user can select to continue to use this system maybe with this system closing.
Moreover, whether when reseting, carry out the fuse test and be an available option when making, wherein be during fabrication by scorification one fuse optionally to indicate this option (for example: the indication of scorification fuse is not carried out the fuse test when reseting, the fuse test is carried out in the indication of non-scorification fuse when reseting).Yet, fuse is not certain reliable, so with the single fuse of its scorification selecting this option, carry out exclusive disjunctions to determine to have selected which option not as a plurality of fuses of scorification (such as four fuses in the fuse 187 of Fig. 7) and for these a plurality of fuses.Even if be chosen in and carry out the fuse test when reseting, still can see through the particular module buffer and write the fuse test that the Instruction Selection user initiates.
Fig. 7 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.The microprocessor 100 of Fig. 7 is similar to the microprocessor 100 of Fig. 1, therefore only explain for newly-increased and/or different assemblies at this.One of them difference is that scorification is an option of whether carrying out the fuse test when reseting to the fuse 187 that can revise data assurance silk 152, another difference then is to reset microcode 122 not only to comprise and fuse test microcode routine (microcode routines) when reseting also comprise the fuse test microcode routine that the user initiates.Live part in the fuse test microcode routine that fuse test microcode routine when reseting in one embodiment, and user initiate is the same program code.In addition, from the fuse numerical value 181 that can revise data assurance silk numerical value 126 that data assurance silk 152 reads to apparatus for temporary storage 144 and comprise the fuse test option when reseting.Moreover, microprocessor 100 comprises a particular module buffer 174 that can be write by user's program (for example basic input/output system or other system software), wherein, particular module buffer 174 is write so that microprocessor 100 is carried out the fuse test and returned an error status value to particular module buffer 174 by user's program, allows user's program see through particular module buffer reading command and goes to read.At last, other correlation function of microprocessor 100, such as: instruction transfer interpreter 104, command decoder 108, performance element 114 and reset microcode 122, then be modified to decipher and carry out the particular module buffer that is directed in the particular module buffer 174 and write instruction and particular module buffer reading command, will be described further according to Figure 10 and Figure 11 in follow-up.
Fig. 8 is the operation workflow figure that shows the microprocessor 100 of shop drawings 7.Flow process starts from square 800.
In square 800, the fuse 187 of fuse test option when the fabricator of microprocessor 100 determines reseting among scorification Fig. 7 whether.Flow process continues to square 201.
In square 201, the fabricator of microprocessor 100 determines a stamped signature, and this stamped signature will be by the fuse quantity of scorification in the data assurance silk 192 for revising.Flow process continues to square 202.
In square 202, the fabricator of microprocessor 100 determines to want scorification to the controlling value that can revise data assurance silk 152, the square 202 of Fig. 8 is similar to the square 202 of Fig. 2, yet, should be noted that this controlling value also comprises the fuse 187 that square 800 determines, and this controlling value will extremely can be revised data assurance silk 152 by scorification in square 206.Flow process continues to square 204.
In square 204, the detecting of controlling value mistake in using and correction algorithm that the fabricator of microprocessor 100 determines for square 202 are to calculate scorification to error detection and error detection and the modified value of revising fuse 132.The square 204 of Fig. 8 is similar to the square 204 of Fig. 2, yet, should be noted that this error detection and modified value are to calculate according to the controlling value that square 202 determines.Flow process continues to square 206.
In square 206, the fabricator of microprocessor 100 extremely can revise data assurance silk 152 with the controlling value scorification that square 202 determines, and the error detection that square 204 is calculated and modified value scorification to error detection with revise fuse 132, be similar to the square 206 among Fig. 2.In addition, this fabricator's scorification can not be revised data assurance silk 192, and particularly can not revise in the data assurance silk 192 by the fuse quantity of scorification is to determine at square 201.Flow process continues to square 206.
Fig. 9 is the operation workflow figure that shows the microprocessor 100 of Fig. 7.Step performed among Fig. 9 is except following difference with explanation, and all the other steps then are similar to step performed among Fig. 3.Fuse numerical value in the square 304 fuse test option in the time can revising numerical value that data assurance silk 152 reads and also comprise such as above-mentioned reseting.
In addition, flow process down proceeds to new square 903 from square 304.In square 903, reset microcode 122 and carry out exclusive disjunctions to produce an option place value for the fuse numerical value 181 that reads fuse test option when the reseting of apparatus for temporary storage 144.Flow process continues to new decision-making square 905.
In decision-making square 905, reset option place value that microcode 122 determines that squares 903 produce and whether indicate fuse test when reseting, if flow process continues to square 306; If not, then flow process finishes.
At last, flow process proceeds to new decision-making square 917 from the "No" branch of decision-making square 314.
In decision-making square 917, reset microcode 122 and determine that the fault that can not revise is that fuse test when the reseting fuse test that detected or initiated by the user is detected.If the fuse test detection when reseting to, flow process continues to square 318; If the fuse test detection of being initiated by the user to, then flow process continues to new square 919.
In square 919, the microcode 122 of reseting of the fuse test that the user initiates is loaded on the particular module buffer 174 that fuse is tested among Fig. 7 with error status value.Flow process ends at square 919.
Figure 10 is that the microprocessor 100 that shows Fig. 7 is carried out the operation workflow figure that the particular module buffer writes instruction, and wherein, this particular module buffer writes the particular module buffer 174 that instruction is directed to Fig. 7.Flow process starts from square 1002.
In square 1002, user's program is carried out a particular module buffer that is directed to particular module buffer 174 and is write instruction.Flow process continues to square 1004.
In square 1004, instruction transfer interpreter 104 these particular module buffers of decoding write instruction, and controls metastasis write handling procedure (WRMSRhanlder) to the particular module buffer of reseting in the microcode 122, this particular module buffer writes handling procedure can call the fuse test microcode routine that the user initiates.Flow process continues to square 1006.
In square 1006, square 306 is to square 326 described fuse tests among fuse test microcode routine execution graph 3, Fig. 6 and/or Fig. 9 that the user initiates, particularly, reset microcode 122 is inserted the test of (populate) fuse according to the error condition of square 919 particular module buffer 174.Flow process ends at square 1006.
Figure 11 is the operation workflow figure that shows the microprocessor 100 execution particular module buffer reading command of Fig. 7, and wherein, this particular module buffer reading command is directed to the particular module buffer 174 of Fig. 7.Flow process starts from square 1102.
In square 1102, user's program is carried out a particular module buffer reading command that is directed to particular module buffer 174.Flow process continues to square 1104.
In square 1104, instruction transfer interpreter 104 these particular module buffer reading command of decoding, and controls metastasis to the particular module buffer of reseting in the microcode 122 read handling procedure (RDMSR hanlder), this particular module buffer reads handling procedure can copy to general general caching device with the numerical value in the particular module buffer 174 of fuse test, for example in the EDX-EAX buffer, and the EDX-EAX buffer can be read by user's program.Flow process ends at square 1104.
Although above-described embodiment is to use the x86 framework, work as the processor that the embodiment that fuse of being initiated by the user of the present invention is tested slightly can be made an amendment to be applied to other framework according to the disclosed content of embodiments of the invention.The wide application that fuse in the microprocessor has can realize many important functions, therefore reliable method need to be arranged to learn when the fuse regrowth occurs.Fig. 7 to embodiment shown in Figure 11 namely by allowing the fabricator can collect how useful error data on the spot, assist to finish this target, in addition, the user also can be provided the error indication than the tool meaning, and just not present one when the system of machine.
As described above in Example, when microprocessor started, some controlling value (controlling value in the fuse that namely can not revise) directly was scanned up to hardware register, rather than allowed and reset microcode mistake in using detecting and go to revise this controlling value with correction technique.In an embodiment of microprocessor, microcode even can't read the fuse that can not revise.Whether the controlling value that above-mentioned other embodiment then makes the fuse that can not revise can be read to detect wherein is wrong.Yet the above embodiments do not make the mistake that detects be corrected.
Below will make microcode can revise the fuse that can not revise in the embodiment of Figure 12 to Figure 14 explanation, clear and definite, the said fuse that can not revise have comprised error detection and has revised fuse and data assurance silk here.When reseting, the fuse numerical value that can not revise is read to the scanning buffer of each auto correlation one fuse data base.Then, the data that can not revise of a state machine and error detection and be scanned up to the buffer that a microcode can read with revising fuse numerical value self-scanning buffer sequence.This microcode is revised data assurance silk numerical value when needs, and will revise numerical value and write the writeable buffer of a microcode, makes the correction numerical value in the writeable buffer of microcode be got back to scanning buffer in the fuse data base by the scanning of sequence ground.This microcode then make the correction numerical value of scanning in the buffer by sequence be scanned up to control hardware (controlling buffer such as high-speed cache Correction and Control buffer and phase-locked loop adjustment).
Figure 12 is the schematic diagram according to the described microprocessor 100 of another embodiment of the present invention.The microprocessor 100 of Figure 12 is similar to the microprocessor 100 of Fig. 1, has comprised an instruction cache 102, instruction transfer interpreter 104, instruction dispensing device 106, performance element 114, microcode unit 116, resets microcode 122, fuse scorification voltage input 136 and apparatus for temporary storage 144.
The microprocessor 100 of Figure 12 also comprises control hardware 124, and control hardware 124 provides controlling value 164 to the running with control microprocessor 100 of the circuit (circuits) of microprocessor 100 in order to receive and to store a controlling value 164 and use.Control hardware 124 can be controlled following steps (but being not limited to this): select the redundant row of bit location to replace the delegation that damages in the cache memory bit cell; Work period or other control for the various phase-locked loop of microprocessor 100; Charge pump is set; The clock frequency of phase-locked loop; The setting of I/O pad comprises the function that allows the multitask debug; Select clock whether in microprocessor 100, to be moved to increase frequency; Used redundant fuse when avoiding fuse to lose efficacy; Only for the manufacture of the fuse of the identification purposes in the process; The pin of setting voltage identification number; And in order to control the bus selection pin of voltage and clock multiplier.
Processor 100 also comprises can not revise data assurance silk 192, the data assurance silk 192 of can not revising of Figure 12 comprises data assurance silk 195 and error detection and correction fuse 193, error detection is to provide to reset microcode 122 to revise the mistake in the data assurance silk 195 with revising fuse 193, the mistake that is for example caused by the fuse regrowth below will be described further.
Processor 100 also comprises the scanning buffer 191 that is coupled to data assurance silk 195 and error detection and correction fuse 193 through a parallel interface, microprocessor 100 also comprises buffer 196 and the writeable buffer 197 of a microcode that a microcode can read, and the buffer 196 that microcode can read all is coupled to performance element 114 with the writeable buffer 197 of microcode.In one embodiment, the buffer 196 that can read of microcode is all 64 bit wides with the writeable buffer 197 of microcode.Microprocessor 100 also comprises state machine 199, and state machine 199 is to be coupled to by individual other bi-directional serial interface: the writeable buffer 197 of buffer 196, microcode and control hardware 124 that scanning buffer 191, microcode can read.In one embodiment, state machine 199 is general on-chip processor (Common On-chip Processor, COP) in order to use known combined testing action group mechanism to remove to scan sequence bit crossfire between the storage assembly.In one embodiment, this serial line interface is a part that operates on the core clock frequency of microprocessor 100; This part is 1/8th in an embodiment.This has an advantage, and the distance that namely can not revise between data assurance silk 192, state machine 199 and the control hardware 124 relatively is far away; In addition, the buffer 196 that microcode can read is to be situated between to be connected to the parallel territory (such as performance element 114) of microprocessor 100 and the serial domain of microprocessor 100 (for example: can not revise data assurance silk 192, state machine 199 and control hardware 124) with the writeable buffer 197 of microcode, and territory parallel with this relatively be near but with this serial domain relatively for far away, wherein this parallel territory operates with full core clock frequency, and this serial domain is the part running with above-mentioned core clock frequency.
Moreover reset microcode 122 in order to carry out following steps: reading out data fuse 195 also writes apparatus for temporary storage 144 as data assurance silk numerical value 166 with the numerical value that reads; The read error detecting writes apparatus for temporary storage 144 as error detection and correction fuse numerical value 168 with correction fuse 193 and with the numerical value that reads; And reading out data fuse numerical value 166 revises data assurance silk numerical value 158 with revising fuse numerical value 168 to produce one with error detection, wherein revises data assurance silk numerical value 158 and writes apparatus for temporary storage 144 and then read for the usefulness that writes the writeable buffer 197 of microcode from apparatus for temporary storage 144.
Figure 13 is the operation workflow figure according to the microprocessor 100 of manufacturing Figure 12 of the present invention.Step shown in Figure 12 is similar to the described step of Fig. 2 of U.S. patent application case 12/609,207; Yet the step of Figure 12 is to carry out for can not the revising data assurance silk 192 (namely data assurance silk 195 and error detection and correction fuse 193) of Figure 12, rather than for the fuse 172 of Fig. 1 and carry out.Flow process starts from square 202.
In square 202, the fabricator of microprocessor 100 determines that wish fuses to the controlling value of data assurance silk 195, each data assurance silk 195 consists of the single position with a binary value, and its binary value is looked corresponding data assurance silk 195 and is made as 0 or 1 for fusing or not fusing.Read from the place value of data assurance silk 195 and will be scanned up to of control hardware 124, below will in Figure 14, further specify.Therefore, in square 202, this fabricator determines which can not revise that data assurance silk 192 will be configured to data assurance silk 195 and which can not be revised data assurance silk 192 and will be configured to error detection and revise fuse 193, and this fabricator is associated to each data assurance silk 195 one of control hardware 124 and determines that wish fuses to the place value of data assurance silk 195.This fabricator carries out above step for each data assurance silk 195.Fuse to the angle (further specify the narration of asking for an interview with lower block 204) of error detection with the numerical value of revising fuse 193 with generation, although each data assurance silk 195 all consists of single position, but whole data assurance silks 195 can be considered single entities and has the single common numerical value that is fused or be regarded as a plurality of words that have separately single common numerical value, below will be described further in square 204.Thus, single common numerical value is just to preset before making microprocessor 100 and before having made rear running.Flow process proceeds to square 204 by square 202.
In square 204, the detecting of controlling value mistake in using and correction algorithm that the manufacturer of microprocessor 100 determines for square 202, to calculate scorification to error detection and error detection and the modified value of revising fuse 193, this error detection and correction algorithm can be one of above-mentioned algorithm, comprise the described vertical and horizontal code calculation of Fig. 2 and Fig. 3.Flow process continues to square 206.
In square 206, the controlling value scorification that this manufacturer determines square 202 is to data assurance silk 195, and the error detection that square 204 is calculated and modified value scorification to error detection with revise fuse 193.Flow process ends at square 206.
Figure 14 is the operation workflow figure that shows the microprocessor 100 of Figure 12.Some step square indicates with the numbering 1 to 6 of circle picture in Figure 12 among Figure 14, and contrast is illustrated in following recitation of steps 1 to step 6.Flow process starts from square 1402.
In square 1402, microprocessor 100 begins to extract and carry out the instruction of reseting microcode 122 in response to reseting.Flow process continues to square 1404.
In square 1404, shown in the step 1 of Figure 12, can not revise data assurance silk 192 numerical value (namely data assurance silk 195 numerical value and error detection and correction fuse 193 numerical value) and be loaded on scanning buffer 191.Flow process continues to square 1406.
In square 1406, shown in the step 2 of Figure 12, be scanned up to data assurance silk 195 sequence of values that state machine 199 loads square 1404 control hardware 124, so that microprocessor 100 can operate according to the initial value from data assurance silk 195, even regrowth may occur the one or more fuses in the data assurance silk 195.This is necessary program, because microprocessor 100 can't normally not operate when control hardware 124 loads any numerical value.In one embodiment, there are 1000 can not revise data assurance silk 192 and with its effective scanning buffer 191 that reads in (each scanning buffer 191 be 32); Scanning buffer 191 couples together to sequence in a continuous manner, make value be entered or to leave scanning buffer 191 by the scanning of sequence ground, effectively write hardware thereby save, write hardware and need to use a parallel bus each scanning buffer 191 to be connected to other assembly of state machine 199 or microprocessor 100.Flow process continues to square 1408.
In square 1408, shown in the step 3 of Figure 12, reset microcode 122 and carry out instructions and make state machine 199 that data assurance silk 195 numerical value and error detection and correction fuse 193 numerical value self-scanning buffers 191 are read to the buffer 196 that microcode can read.Flow process continues to square 1412.
In square 1412, shown in the step 4 of Figure 12, reset microcode 122 and read the buffer 196 that microcode can read, and data assurance silk numerical value 166 and error detection and correction fuse numerical value 168 are write apparatus for temporary storage 144.Then, be similar to the square 306 of Fig. 3, reset microcode 122 whether wrong with determination data fuse numerical value 166 with correction algorithm for data assurance silk numerical value 166 and error detection and the detecting of correction fuse numerical value 168 mistake in usings, if determine then whether this mistake can be revised.Flow process continues to square 1414.
In square 1414, reset microcode 122 according in the performed operation determination data fuse numerical value 166 of square 1412 whether the mistake that can not revise being arranged, if flow process continues to square 1416; If not, then flow process continues to decision-making square 1418.
In square 1416, can't use microprocessor 100 error detections to go to revise with revising fuse numerical value 168 because the bit quantity of the mistake in the data assurance silk numerical value 166 is too much, avoid microprocessor 100 to leave reconfiguration procedure so reset microcode 122.That is to say, reset microcode 122 and avoid microprocessor 100 to remove to extract and carry out user's programmed instruction.In another embodiment, reset microcode 122 and can allow microprocessor 100 to leave reconfiguration procedure, meaning namely removes to extract and carry out the user's programmed instruction such as basic input/output system or other system software; Yet, be similar to the square 318 of above-mentioned Fig. 3, reset microcode 122 and can transmit an error condition to system softwares and to inform the mistake that can not revise be arranged in the data assurance silk numerical value 166.Flow process ends at square 1416.
In square 1418, reset microcode 122 mistake in using detecting when needing and revise data assurance silk numerical value 158 with the data assurance silk numerical value 166 that correction algorithm goes to correct mistakes to produce, and shown in the step 5 of Figure 12, to revise data assurance silk numerical value 158 and write the writeable buffer 197 of microcode, and make state machine 199 will write to the correction data assurance silk numerical value 158 sequences ground scanning flyback retrace buffer 191 of the writeable buffer 197 of microcode.In one embodiment, the microinstruction set of microprocessor 100 has comprised an instruction that makes state machine 199 carry out above-mentioned operation.Flow process continues to square 1422.
In square 1422, shown in the step 6 of Figure 12, reseting microcode 122 makes state machine 199 from scanning buffer 191 numerical value of revising is scanned up to control hardware 124, revise the running that data assurance silk numerical value 158 is controlled microprocessors 100 to use, but not the initial value that use square 1406 scans goes to control the running of microprocessor 100.Advantageously, if any amendable mistake is arranged in initial value, this mistake also can be revised in the lump in this.Flow process continues to square 1424.
In square 1424, reset the initialization that microcode 122 has been finished microprocessor 100, then allow microprocessor 100 begin to extract and carry out user's programmed instruction.Flow process ends at square 1424.
In one embodiment, the part of data assurance silk 195 numerical value that state machine 199 self-scanning buffers 191 are received comprises an address information, this address information is for the destination locations in the associated data specified control hardware register 124, that is to say, address information in this part of state machine 199 deal with data fuses 195 numerical value, and this part write the specified control hardware buffer 124 of this address information.In this embodiment, as described in Figure 12 to Figure 14, reset microcode 122 and revise data assurance silk numerical value 166 and mean and reset the data division that microcode 122 has not only been revised data assurance silk numerical value 166 to produce the step of revising data assurance silk numerical value 158 and the step that makes state machine 199 be scanned up to control hardware 124 with will revising data assurance silk numerical value 158 sequences, also advantageously revised the address portion of data assurance silk numerical value 166.In other embodiment, microcode from the detecting of the Control of the aim hardware register reading numerical values and mistake in using with revise fuse numerical value with for numerical value execution error detection and the correction of being read from the Control of the aim hardware register, the advantage that this embodiment has other is for example: more uncomplicated by the calculating of reseting the performed error detection of microcode 122 and correction, and the position that need to revise when detecting mistake is also fewer.Illustrate, suppose to revise data assurance silk 192 and be a redundant row with bit location and reach one in the generation one cache memory bit cell and damage row.Suppose that cache memory has 1024 line position unit, every delegation has 6 buffers and damages row in order to one of to specify in 64 redundant rows to replace one in control hardware 124.That is to say have 1024 possible destination locations to write for the 6 bit data amounts of revising data assurance silk numerical value 158 in the control hardware 124, replace one and damage row one of to use in 64 redundant rows.Therefore, suppose that one sets the address/data fuse set have in the data assurance silk 195 64 16, more particularly, front 10 positions are an address, which data buffer of 1024 6 bit data buffers need to make an amendment (altered) from 0 default value in the control hardware 124 of indication purpose, and last 6 positions then are new value data.In this example, Figure 12 extremely embodiment shown in Figure 14 need to have enough error detections and revise fuse 193 with 1024 (64*16) in detecting and the correction data assurance silk numerical value 166.Yet, in another embodiment, microcode is in order to go execution error detection and correction from the Control of the aim hardware register reading numerical values and mistake in using detecting with the correction fuse, because this microcode can not know which buffer in the control hardware makes a mistake, so in order to detect and revise a mistake, this microcode then must read whole 1024 control buffers, meaning i.e. the individual position of 6144 (1024*6), therefore, this embodiment embodiment extremely more shown in Figure 14 than Figure 12 needs more to many error detection and revises fuse.
Can be found by above-mentioned explanation, the described apparatus and method of Figure 12 to Figure 14 are better than the described apparatus and method of Fig. 1 to Figure 11, because Figure 12 can detect and revise the mistake that can not revise in the data assurance silk 192 simultaneously to embodiment shown in Figure 14, and Fig. 1 to embodiment shown in Figure 11 only can be in order to detect mistake.
The test that Figure 12 to Figure 14 is described when reseting also can be implemented as the test that the user initiates, and is similar to Fig. 7 to embodiment shown in Figure 11.
The advantage that the described apparatus and method of Figure 12 to Figure 14 have is that it has used universal serial bus to remove to connect scanning buffer 191 and control hardware 198 can to reduce in essence and will revise fuse numerical value and pass to the required number of, lines of control hardware 124, this is spatially can place place away from control hardware 124 because can not revise data assurance silk 192, and/or it is very huge to be written into the quantity of the control hardware 124 of revising numerical value.In addition, provide a mechanism for reseting microcode 122 execution error detections and revising the state machine 199 of having simplified widely a solution, in this solution, state machine 199 execution error detections and correction, perhaps in this solution, error detection and correction are to be executed in fuse numerical value to be loaded in the scanning buffer 191.
Though the present invention discloses as above with various embodiment, however its only for example with reference to but not in order to limiting scope of the present invention, anyly have the knack of this skill person, without departing from the spirit and scope of the present invention, when doing a little change and retouching.For instance, software can realize being relevant to function, manufacturing, modularization (modeling), simulation (simulation), description (description) and/or test of apparatus and method of the present invention etc.This software can use general procedure design language (as: C, C++), hardware description language (Hardware Description Language, HDL) (as: Verilog HDL, VHDL etc.) or other available program to come implementation.And this software is configurable can be used in the media in any known computing machine, for example: semiconductor, disk or CD are (such as a reading memory CD (Compact DiscRead-Only Memory, CD-ROM), digital versatile disc (Digital Versatile DiscRead-Only Memory, DVD-ROM) etc.).The embodiment of apparatus and method of the present invention can be included in the semiconductor intellecture property core (semiconductor intellectual property core), for example: microcontroller core (as: being embedded in Hardware description language calls the turn) further is converted to the integrated circuit (IC) products of hardware again.In addition, the array mode that apparatus and method of the present invention can hardware and software embeds.Therefore, above-described embodiment is not to limit scope of the present invention, and protection scope of the present invention is as the criterion when looking accompanying the claim person of defining.Particularly, the present invention can be implemented in a micro processor, apparatus, and this micro processor, apparatus can be used in general purpose computing machine.At last, have the knack of this skill person and should understand without departing from the spirit and scope of the present invention, go out other framework with the identical purpose of the present invention with above-mentioned disclosed embodiment and conceptual design.

Claims (14)

1. microprocessor comprises:
A plurality of the first fuses are optionally fused according to a predetermined value, wherein above-mentioned predetermined value in order to for the circuit of above-mentioned microprocessor to control the running of above-mentioned microprocessor; And
A plurality of the second fuses are optionally fused according to error detection information, and wherein above-mentioned error detection information is in order to detect the mistake in above-mentioned the first fuse, and this mistake indicates a fuse wire of above-mentioned microprocessor to return a non-fusing binary value,
Wherein when microprocessor is reseted, above-mentioned microprocessor responds one first user's programmed instruction, and determine whether to exist above-mentioned mistake in above-mentioned the first fuse according to the error detection information from above-mentioned the second fuse,
Wherein the first fuse is the fuse that can not revise, and the second fuse is amendable fuse.
2. microprocessor as claimed in claim 1, the above-mentioned first user's programmed instruction of above-mentioned microprocessor responds wherein, and more produce an error status value to indicate whether to exist the above-mentioned mistake in above-mentioned the first fuse, above-mentioned microprocessor responds one second user's programmed instruction wherein, and return above-mentioned error status value.
3. microprocessor as claimed in claim 1, wherein when above-mentioned microprocessor determined to exist above-mentioned wrong in above-mentioned the first fuse according to the error detection information from above-mentioned the second fuse, above-mentioned microprocessor was avoided extracting and is carried out all user's programmed instruction.
4. microprocessor as claimed in claim 1 more comprises:
One microcode unit is in order to determine whether to exist the above-mentioned mistake in above-mentioned the first fuse according to the error detection information from above-mentioned the second fuse.
5. microprocessor as claimed in claim 1, wherein above-mentioned error detection information comprises when optionally being fused by above-mentioned the first fuse that according to an error detection and modified value that above-mentioned predetermined value calculated, wherein above-mentioned microprocessor is also by using above-mentioned error detection and modified value and determining whether to exist the above-mentioned mistake in above-mentioned the first fuse and provide extremely above-mentioned circuit of an above-mentioned predetermined value of revising according to above-mentioned error detection and modified value when above-mentioned mistake exists according to the error detection information from above-mentioned the second fuse.
6. microprocessor as claimed in claim 1, wherein above-mentioned error detection information comprises a predetermined quantity of the fuse that is optionally fused in above-mentioned the first fuse, wherein above-mentioned microprocessor is also by reading above-mentioned the first fuse to count the fuse quantity that has wherein fused and quantity and the above-mentioned predetermined quantity of relatively counting, to determine whether to exist the above-mentioned mistake in above-mentioned the first fuse according to the error detection information from above-mentioned the second fuse.
7. microprocessor as claimed in claim 1, wherein above-mentioned error detection information comprises boolean's complement code of a predetermined quantity and the above-mentioned predetermined quantity of the fuse that is optionally fused in above-mentioned the first fuse, wherein the above-mentioned predetermined quantity that also comprises by the above-mentioned error detection information that will read from above-mentioned the second fuse of above-mentioned microprocessor carries out boolean's complement arithmetic to produce a result and relatively this result and above-mentioned boolean's complement code, whether there to be the above-mentioned mistake in above-mentioned the first fuse according to the error detection information decision from above-mentioned the second fuse.
8. method of testing is applicable to carry out the test of user's program start of a microprocessor, comprising:
In the running of above-mentioned microprocessor, carry out one first user's programmed instruction; And
Determine that whether existing a mistake to indicate a fuse wire in a plurality of first fuses of above-mentioned microprocessor returns a non-fusing binary value, wherein above-mentioned the first fuse is optionally fused according to a predetermined value, above-mentioned predetermined value in order to for the circuit of above-mentioned microprocessor to control the running of above-mentioned microprocessor;
Wherein above-mentioned deciding step is that use is carried out from the error detection information of a plurality of second fuses of above-mentioned microprocessor, and above-mentioned the second fuse is optionally fused according to above-mentioned error detection information;
Wherein the execution of above-mentioned deciding step is the execution of the above-mentioned first user's programmed instruction of response,
Wherein the first fuse is the fuse that can not revise, and the second fuse is amendable fuse.
9. method of testing as claimed in claim 8 more comprises:
Whether respond above-mentioned deciding step and produce an error status value exists a fuse wire to return the above-mentioned mistake of a non-fusing binary value to indicate in above-mentioned the first fuse;
Respond the execution of one second user's programmed instruction and return above-mentioned error status value.
10. method of testing as claimed in claim 8 more comprises:
Indicate in above-mentioned deciding step to exist above-mentionedly when wrong in above-mentioned the first fuse, avoid extracting and carrying out all user's programmed instruction.
11. method of testing as claimed in claim 8, wherein above-mentioned error detection information comprises when optionally being fused by above-mentioned the first fuse that according to an error detection and modified value that above-mentioned predetermined value calculated, wherein above-mentioned deciding step comprises:
Use above-mentioned error detection and modified value to determine whether there is above-mentioned mistake in above-mentioned the first fuse; And
When determining to have mistake, use above-mentioned error detection and modified value to provide a predetermined value of revising to above-mentioned circuit.
12. method of testing as claimed in claim 8, wherein above-mentioned error detection information comprises a predetermined quantity of the fuse that is optionally fused in above-mentioned the first fuse, and wherein above-mentioned deciding step comprises:
Read above-mentioned the first fuse to count the quantity of the fuse that has wherein fused; And
The above-mentioned predetermined quantity that the quantity of more above-mentioned counting and the above-mentioned error detection information that reads from above-mentioned the second fuse comprise.
13. method of testing as claimed in claim 8, wherein above-mentioned error detection information comprises boolean's complement code of a predetermined quantity and the above-mentioned predetermined quantity of the fuse that is optionally fused in above-mentioned the first fuse, and wherein above-mentioned deciding step comprises:
The above-mentioned predetermined quantity that the above-mentioned error detection information that reads from above-mentioned the second fuse is comprised carries out boolean's complement arithmetic to produce a result; And
Relatively this result with read above-mentioned boolean's complement code from above-mentioned the second fuse.
14. a method of testing, whether with a plurality of fuses that determine this microprocessor have one or more fuse wires when being read return non-fusing value, comprising if being applicable to field test one microprocessor:
Respond that one of above-mentioned microprocessor is reseted and the fuse that reads the predetermined quantity in the above-mentioned fuse;
Whether the fuse that determines above-mentioned predetermined quantity is indicated and should be carried out test for above-mentioned fuse;
When the indication of the fuse of above-mentioned predetermined quantity should be carried out test for above-mentioned fuse, carry out test to determine whether to have one or more fuse wires when being read, not return the fusing value for above-mentioned fuse but return non-fusing value; And
When the fuse indication of above-mentioned predetermined quantity should not carried out test for above-mentioned fuse, avoid carrying out above-mentioned test,
Wherein the fuse of above-mentioned predetermined quantity is the fuse that can not revise,
Wherein above-mentioned deciding step comprises the numerical value that reads from the fuse of above-mentioned predetermined quantity is made boolean's exclusive disjunction, and determines whether the result behind boolean's exclusive disjunction is true.
CN 201010243791 2009-08-07 2010-07-30 Microprocessor and test method applicable for same Active CN101930391B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310051155.3A CN103123597B (en) 2009-08-07 2010-07-30 Microprocessor and the method for testing that is suitable for

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23224709P 2009-08-07 2009-08-07
US61/232,247 2009-08-07
US12/719,291 US8281198B2 (en) 2009-08-07 2010-03-08 User-initiatable method for detecting re-grown fuses within a microprocessor
US12/719,291 2010-03-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201310051155.3A Division CN103123597B (en) 2009-08-07 2010-07-30 Microprocessor and the method for testing that is suitable for

Publications (2)

Publication Number Publication Date
CN101930391A CN101930391A (en) 2010-12-29
CN101930391B true CN101930391B (en) 2013-03-27

Family

ID=43369582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010243791 Active CN101930391B (en) 2009-08-07 2010-07-30 Microprocessor and test method applicable for same

Country Status (1)

Country Link
CN (1) CN101930391B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212693A (en) * 1990-08-02 1993-05-18 Ibm Corporation Small programmable array to the on-chip control store for microcode correction
JP3898682B2 (en) * 2003-10-03 2007-03-28 株式会社東芝 Semiconductor integrated circuit
US7352602B2 (en) * 2005-12-30 2008-04-01 Micron Technology, Inc. Configurable inputs and outputs for memory stacking system and method
US7895482B2 (en) * 2007-04-26 2011-02-22 Agere Systems Inc. Embedded memory repair

Also Published As

Publication number Publication date
CN101930391A (en) 2010-12-29

Similar Documents

Publication Publication Date Title
CN103123597B (en) Microprocessor and the method for testing that is suitable for
CN100578462C (en) Device, method and system for reducing the error rate in clock synchronization dual-modular redundancy system
US8234543B2 (en) Detection and correction of fuse re-growth in a microprocessor
CN101246443B (en) Method and system for repairing memory failures
US20080148038A1 (en) System and Method for Implementing Boot/Recovery on a Data Processing Sysem
CN103871447A (en) NAND flash memory array, NAND flash memory chip, and methods for accessing, reading and managing NAND flash memory array
CN100549946C (en) Be used to carry out the apparatus and method of data processing operation
CN101149701A (en) Method and apparatus for redirection of machine check interrupts in multithreaded systems
EP2124151B1 (en) Information processing system and method for starting/recovering the system
US7143271B2 (en) Automatic register backup/restore system and method
CN101299184A (en) Repairing device and method
CN102609320A (en) Microprocessor and method for configuring the debug logic thereof
JP3118002B2 (en) Data processing apparatus for correcting faulty microinstructions
CN101894062B (en) Microprocessor and operation method thereof
CN101286117B (en) Microcode repairing and expanding mechanism, device and method for expanding microcode repaiing mechanism
CN101930391B (en) Microprocessor and test method applicable for same
CN101930386B (en) Microprocessor and initialization method applicable for the same
CN101930390B (en) Microprocessor and operating method applicable for the same
CN106354580A (en) Data recovery method and device
JP3139738B2 (en) Logic circuit
CN101794249B (en) Microprocessor and method for initializing microprocessor
JPS60221829A (en) Data processor
GB2432237A (en) Apparatus for identifying and handling defective memory cells.
JPS62118443A (en) Method of avoiding storage fault in information processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant