Abstract:
An electronic fuse system and method are disclosed employing a fuse ROM having one or more blocks of memory. Each block of memory comprises a plurality of words with at least one word of the plurality of words containing security bits associated with a respective block. An electronic fuse controller is in communication with the fuse ROM and one or more external devices that are configured to request one or more words that reside in the fuse ROM from the electronic fuse controller. At least one security register includes indication bits that provide an indication whether security bits have been obtained for a respective block of memory of the fuse ROM after a power down and power up cycle. The electronic fuse controller provides the requested word if an indication bit associated with the block of memory is set.

Description:
TECHNICAL FIELD 
   This invention relates to electronics, and more specifically to an electronic fuse system and methods. 
   BACKGROUND 
   Conventional wireless devices, including personal electronic devices (PEDs) execute an autoload operation as part of the chip reset sequence to initialize the memory, device configurations, security keys, and other operations. The devices typically include a chip having a controller and a state machine located therein. The state machine reads data that includes, for example, repair and device information into the controller provided by the autoload operation. The data read into the controller is extracted from memory such as read only memory (ROM) or reprogrammable memory such as a fuse ROM circuit. 
   During the autoload operation, the controller sequentially reads words located in the ROM. Various chip components, for example read access memory (RAM) circuits will request information from the fuse ROM circuit. For protection, security bits are read by the controller from the ROM each time a request is made for information from the ROM. After obtaining the security information, the user information is read from the fuse ROM via a serial path to the requesting chip component. 
   When the controller is powered down, reset, or enters a sleep mode, the autoload information is lost in both the controller and in the requesting chip components. This may require upon powering-up reexecution of the autoload operation, which is highly time consuming and current memory intensive. For example, a length of 666 elements (longest length known to be used) at a clock speed of 33 MHz, the autoload operation would take approximately 22 milliseconds. 
   Accordingly, after a conventional device chip controller is powered-down, reset, or enters into a sleep mode, it becomes subject to lost time as a result of the need to reexecute the autoload program. Avoiding such problems by allowing the controller to remain active is power consuming, especially for wireless or mobile PEDs. Furthermore, it is time intensive to require the controller to request security information from the ROM each time information is requested by chip components. However, to allow the information to be sent to the requesting components without acquiring the security information produces potential security violations. 
   SUMMARY 
   One embodiment of the present invention includes an electronic fuse system comprising a fuse read only memory (ROM) having one or more blocks of memory. Each block of memory comprises a plurality of words with at least one word of the plurality of words containing security bits associated with a respective block. The system further comprises an electronic fuse controller in communication with the fuse ROM and one or more external devices that are configured to request one or more words that reside in the fuse ROM from the electronic fuse controller and at least one security register that includes indication bits that provide an indication whether security bits have been obtained for a respective block of memory of the fuse ROM after a power down and power up cycle. The electronic fuse controller, in response to a request to read a word from a block of memory from an external device, provides the requested word if an indication bit associated with the block of memory is set or reads the at least one word of the plurality of words containing security bits associated with the block of memory if the indication bit associated with the block of memory is not set, sets the indication bit associated with the block of memory, and provides the requested word. 
   Another embodiment of the present invention includes a method of transferring secured data from an electronic fuse system comprising providing a fuse read only memory (ROM) having one or more blocks of memory. Each block of memory comprises a plurality of words with at least one word of the plurality of words containing security bits associated with a respective block. The method further comprises communicating an electronic fuse controller with the fuse ROM and one or more external devices that are configured to request one or more words that reside in the fuse ROM from the electronic fuse controller. The method yet further comprises evaluating at least one security register that includes indication bits that provide an indication whether security bits have been obtained for a respective block of memory of the fuse ROM after a power down and power up cycle. The electronic fuse controller, in response to a request to read a word from a block of memory from an external device, provides the requested word if during the evaluation an indication bit associated with the block of memory is set or reads the at least one word of the plurality of words containing security bits associated with the block of memory if the indication bit associated with the block of memory is not set, sets the indication bit associated with the block of memory, and provides the requested word. 
   Yet another embodiment of the present invention includes an integrated circuit containing an electronic fuse system comprising a fuse read only memory (ROM) having one or more blocks of memory. Each block of memory comprises a plurality of words with at least one word of the plurality of words containing security bits associated with a respective block. The integrated circuit further comprises an electronic fuse controller in communication with the fuse ROM and one or more external devices that are configured to request one or more words that reside in the fuse ROM from the electronic fuse controller and at least one security register that includes indication bits that provide an indication whether security bits have been obtained for a respective block of memory of the fuse ROM after a power down and power up cycle. The electronic fuse controller, in response to a request to read a word from a block of memory from an external device, provides the requested word if an indication bit associated with the block of memory is set or reads the at least one word of the plurality of words containing security bits associated with the block of memory if the indication bit associated with the block of memory is not set, sets the indication bit associated with the block of memory, and provides the requested word. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  illustrates a fuse farm controller circuit in accordance with an aspect of the invention. 
       FIG. 2  illustrates a fuse ROM memory block in accordance with an aspect of the invention. 
       FIG. 3  illustrates an example of an autoload process in accordance with one aspect of the invention. 
       FIG. 4  illustrates an example of a security read process in accordance with one aspect of the invention. 
       FIG. 5  illustrates an example of a security read process in accordance with another aspect of the invention. 
   

   DETAILED DESCRIPTION 
   This invention relates to electronic fuse system and methods for reducing power and processing time requirements while maintaining system security. In particular, the electronic fuse system and methods are designed to save power and processing time by retaining select information acquired by the controller during an autoload operation. In addition, processing time is reduced by eliminating additional security reads before transferring data to requesting devices, while maintaining security to the system. 
   Referring now to the figures and in particular to  FIG. 1  is an electronic fuse system that resides on an integrated circuit  10 . The integrated circuit  10  can be employed for use with wireless devices and mobile devices, including personal electronic devices (PEDs), cell phones, and the like. The electronic fuse system includes a fuse farm  12  comprising a ROM circuit and in particular a programmable fuse ROM  14  in communication with an efuse controller  16 . Internal to the efuse controller  16  is a state machine  17  and power registers  19 . The integrated circuit  10  further comprises a fuse scan chain  18 . The fuse scan chain  18  provides information to a plurality of RAM memory devices  20 ,  22 , and  24 . The RAM memory devices  20 ,  22 , and  24  each contain data registers  26 ,  28 , and  30 , respectively in communication with the fuse farm  12 . The fuse farm  12  consolidates fuses for a chip into a single block, simplifying chip implementation. Power is supplied to the fuse farm  12  through different power domains VDD. The fuse scan chain  18  receives power from a separate power domain VCC. 
     FIG. 1  further illustrates the basic fuse farm  12  structure and signals, including the joint test action group (JTAG) interface  32 , system interfaces  34 , power management  36  pin connections, open core protocol (OPC) interface  37 , and an IEEE 1500 interface  38 . Although only one fuse ROM  14  is illustrated, the fuse farm  12  can contain up to  32  different ROMs or fuse ROMs, each comprising an internal memory block. In the illustrated embodiment of  FIG. 1 , the fuse ROM  14  comprises a forty-one (41) bit by up to sixty-four (64) row array or memory block  40 , as depicted in  FIG. 2 . Each row comprises a six column repair address (CRA) data bits [ 40 : 35 ], three reserved bits, write protect (WP) data bit [ 34 ], read protect (RP) data bit [ 33 ], and repair (R) data bit [ 32 ]. Data bits in [ 30 : 0 ] in row ( 1 ) one store general data  42  that could be source and/or destination operands of arithmetic or logic instructions, address, or repair information. A select number of bits of some arrays are reserved for fuse ROM redundancy  46 . Any non-zero redundancy bits  46  are part of the general data bits  42  and provide an indication that a repair has been made to the fuse. A security data bit  44  or load fuse scan disable bit (SCDIS) data bit [ 31 ] is provided in row ( 0 ) zero, which supplies security information so that requested information from the scan chain  18  will be blocked absent authorization by the efuse controller  16 , as will be discussed below in further detail. Data bit [ 30 ] in row ( 0 ) zero is used to indicate a new repair address (NRA) mode. The data sizes in the example embodiment are for illustrative purposes and could be any size without departing from the spirit and scope of the electronic fuse system. 
   During startup or initialization of the integrated circuit  10  an autoload process  60  is executed as illustrated in  FIG. 3 . The autoload process  60  occurs as part of the chip reset sequence to initialize memory, device configurations, security keys, and the like. In the illustrated example of  FIG. 3 , the autoload process  60  is initiated at  62  after, for example, a system reset. At  64 , the efuse controller reads fuse data from the fuse ROM and provides the information to the fuse scan chain via the state machine at  66 . At  68 , the efuse controller reads fuse ROM redundancy addresses and security information programmed in each ROM block located in the fuse ROM. 
   Depending on the security information  44 , different bits are set in the efuse controller  16  power registers  19  so that the controller can respond to command requests coming from different memory devices accordingly, such as a tester through the JTAG interface  32  or a processor through the OCP interface  37 . After the autoload process  60  is complete, an autoload done bit is also set in the efuse controller  16  power registers  19  to select the inputs for the different settings for the operation of the efuse controller. For example, prior to the autoload process  60 , the width of the clocks to the fuse ROM  14  is selected using the input pins of the efuse controller  16 , the width of the fuse ROM  14  clock is selected by the register setting after the autoload process is done. 
   When the fuse farm  12  is in a power-down mode, any information acquired during the autoload process  60  by the efuse controller  16 , including security information is lost. However, as a result of the fuse scan chain  18  being on a separate power domain VCC, both power and the fuse data acquired during the autoload process  60  is maintained by the devices located in the fuse scan chain, such as the memory devices  20 - 24 . This eliminates the need to reexecute the autoload process  60  each time the fuse farm  12  powers-down or enters a sleep mode, as the autoload process is both time consuming and dynamic power intensive. 
   During the power-down or sleep mode periods experienced by the fuse farm  12 , if a tester through the JTAG interface or a processor through the OCP interface or one or more remote devices request information from a particular row or ROM in the fuse ROM  14 , the requested information is denied until the security information  44  is acquired by the efuse controller  16 . As a result, the system&#39;s security is maintained. In response to the requested information, the fuse farm  12  is instructed to power-up and the efuse controller  16  reads security information  44  bit or bits from row ( 0 ) zero of the requested ROM block  40 . Once the requested security information  44  is obtained, the related pending requests for information are processed. 
   This above operation is further illustrated in the security process  70  of  FIG. 4 . At  72 , the autoload process of  FIG. 3  has been completed. At  74 , a request is made by a device for at least one word from the fuse ROM, such as from a memory device or one or more remote devices. At  76 , a determination is made as to whether the fuse farm is powered down. If the determination is in the affirmative at step  76 , the fuse farm is powered-up at  78  before performing process step  80 . If the determination  76  is in the negative, the efuse controller at  80  reads the requested security information of row ( 0 ) zero of the requested ROM block of fuse ROM. At  82 , the requested word or words are communicated to the requesting device. 
   In another example embodiment, the construct of the efuse controller  16  advantageously reduces processing time by eliminating additional reads from the fuse ROM  14  when obtaining already acquired security information. For example, once a device requests information from row  5  of ROM block  6 , the efuse controller  16  reads the security information  44  bit or bits from row ( 0 ) zero of ROM block  6  before authorizing the read of the requested information. At the same time, the efuse controller sets a security read bit in the power register  19  high. Any subsequent request for information from ROM block  6 , the security bit being high provides an indication that the reading of the security information  44  for ROM block  6  can be avoided, saving time and power. Upon power-down or the entry of sleep mode by the fuse farm  12 , all security bits information in the efuse controller  16  are reset to low. 
   This above operation is further illustrated in the security bit set process  90  of  FIG. 5 . At  92 , the autoload process of  FIG. 3  has been completed. At  94 , a request is made by a device for at least one word from the fuse ROM, such as a memory device or one or more remote devices. At  95 , a determination is made as to whether the security bit for the requested ROM block is set high. If the determination  95  is in the affirmative, the requested word or words are provided to the requesting device at  98 . If the determination  95  is in the negative, the efuse controller reads the security information at  96  for row ( 0 ) zero of requested ROM block of fuse ROM. At  97 , the efuse controller sets the security bit for the requested ROM block high. The requested word or words are then provided to the requesting device at  98 . 
   What have been described above are examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.