fig2 shows a typical implementation of an sram memory array . each sram bitcell block contains a typical 6 - transistor sram cell as shown in fig1 . fig2 shows only a small portion of such an array , each array may actually contain thousands of cells . no limitation to any particular size of array is intended , nor should any such limitation be inferred . it should also be noted that the 6 - transistor cell may be used in other implementations than just an sram . by employing differently sized transistors , the cell could also be a data latch . for simplicity of discussion , both an sram cell and a data latch will be referred to as a memory cell . a single wordline and column or columns are selected by the ‘ write select n ’. multiple columns may be selected depending upon the architecture and number of bits to be addressed simultaneously . the array receives ‘ write data ’ and the data and its complement route to the selected bitline and bitline /, respectively . the bitline and bitline / have complemented data , with one line receiving a logic low or 0 signal and one line receiving a logic high or 1 signal . the line driving a logic 0 signal will achieve a full 0 level . the n - channel ‘ write select ’ transistor , such as 22 or 24 connected to the write selection circuit 26 for the left memory array , will reduce the high voltage of the logic 1 signal by a threshold voltage as the logic 1 signal passes through the n - channel transistor . referring to fig1 , if a p - channel transistor , such as p 1 or p 2 , exists on the side driving to a logic 1 level , the p - channel transistor will provide the additional drive necessary to bring the reduced high level signal up to a full logic 1 level in the memory cell . if the p - channel transistor does not exist , or functions weakly , the high level signal will not be driven to the full level . the write to the cell finishes by shutting off the previously selected wordline , and the memory cell disconnects from bitline and bitline /. for ease of discussion , the side driving a high logic 1 signal will be referred to here as the ‘ high side .’ the side driving a low logic 0 signal will be referred to as the ‘ low side .’ when the p - channel transistor exists , the high side signal will have a full logic 1 level and the low side signal will have a full logic 0 level . the cell will maintain this state . if the p - channel transistor does not exist , or functions weakly , the low side will have a signal of a full logic 0 level and the high side will have a logic 1 signal of a reduced level . generally , enough voltage will exist initially that the cell will function correctly during subsequent reads due to charge storage on the small cell capacitance . the reads that occur before significant stored charge leaks away will function correctly . when enough charge leaks away and the high signal level drops to a point where the cell becomes unstable and ‘ flips ,’ the high side will drop to a logic 0 level and the low side will drive to a logic 1 level . the cell will remain in a state opposite to that which was purposely written . the leakage process takes an indeterminable amount of time to cause the cell to flip . the time depends on a number of variables , including cell capacitance , power supply voltage during writing , relative strength or weakness of the p - channel transistor , process parameters , temperature , etc . it is impossible to consistently and reliably determine this time for all possible cases . however , using modified sram array circuitry it becomes possible to test the sram cell data retention more reliably and more quickly than previously . fig3 shows an example of such a circuit . in fig3 , the write driver circuit 26 of fig2 has been adapted as write driver circuit 30 to include write driver circuit 26 and two extra p - channel transistors 34 and 36 . during normal operation , transistors 34 and 36 remain active and provide a direct connection from the driver circuit 26 to the high power supply allowing complementary full level output high and low signals , during retention testing , a full high voltage level is not required , but rather one side is driven to a low level as is normally done , while the side that is normally driven to a full high level is rather driven to a level that is offset to be slightly elevated above the low level . transistors 34 and 36 isolate write driver circuit 26 from the high power supply eliminating any potential current path between the low and high power supplies and allowing better control of the elevated offset voltage by external means due to elimination of any shunting path . an additional circuit block 32 , a data retention test circuit , allows for a special test mode . the data retention test circuit may include ‘ pull - down ’ transistors to reduce the voltage level of the high signal . this circuit will allow one side of the driver circuit 26 to achieve a low level and the other side to achieve a low level plus an offset of an n - channel threshold voltage . the threshold offset is determined by n - channel transistors 35 and 37 . the offset voltage could similarly be achieved by using other circuit elements in place of the diode connected n - channel transistors 35 and 37 . another embodiment of the data retention test circuit is shown in fig4 . in this case , write driver circuit 26 is unaltered from that shown in fig2 , but the logic block 28 that controls block 26 is provided such that both p - channel transistors in the driver circuit are disabled or off during data retention test by retn - test low , and both n - channel transistors in the driver circuit are enabled or on . in the retention test mode , the levels presented by data retention test circuit block 32 pass through the n - channel transistors of write driver 26 to the selected bitline and bitline /. as previously stated , the data retention test circuit 32 can be implemented in a variety of ways as shown in fig5 and 6 . other means to achieve the offset voltage include a diode connect p - channel transistor , a current source , or a resistance provided by a biased n - channel or p - channel transistor or a discrete resistor . fig5 and 6 shows alternative examples of the data retention test circuitsy . in fig5 , the n - channel transistors 35 and 37 that determine the threshold offset voltage , the offset voltage controllers , in fig4 have been replaced with current sources 40 and 42 as the offset voltage controllers . the use of current sources may provide a ‘ programmability ’ aspect to the circuit , as manipulation of the current may allow the timing of the charge cycle to be controlled , as discussed with regard to fig7 . in fig6 , the resistors 44 and 46 are employed as the offset voltage controllers . in fig7 , write driver circuit 26 and logic block 28 remain unaltered from fig2 . retention test circuit 50 is implemented such that during normal operation , n - channel transistors 51 and 52 provide a low impedance path to the ground supply and thus have no impact on the normal functioning of the write driver circuit 26 . while in the retention test mode only one of the transistors 51 or 52 will provide a low impedance path to the ground supply . the other transistor of the pair will provide a moderately higher impedance to the ground supply determined by the current mirror established by either current source 54 in combination with n - channel transistors 51 , 56 , and 58 , or current source 43 in combination with n - channel transistors 52 , 55 , and 57 . in the case of a retention test write 1 , the current mirror established by current source 54 in concert with n - channel transistors 51 , 56 , and 58 will establish a voltage that is slightly offset above ground on the selected bitline . transistor 52 will be biased such that it is low impedance to the ground supply and will establish a voltage that is at ground level on the selected bitline /. the special test mode alters the logic high voltage during a write cycle , while all of the timings remain the same as in a usual write operation . in some cases a longer write cycle may be required to allow achievement of a sufficient offset voltage . when in the special test mode , the high side of the memory cell latch that would normally be driven to a full logic 1 level receives instead a signal having a voltage that is offset by a few hundred millivolts above the complement 0 state . the offset level voltage can be achieved by a variety of means as previously discussed . the offset voltage needs to be just high enough that in the cross coupled latch of a memory cell one side of the latch has a slight advantage , or head start , when both sides are allowed to begin charging following the wordline shutting off a the end of the write cycle . at the end of the retention test write operation , both sides of the cell are required to charge toward a high state , with one side of the cell beginning to charge from ground and one side beginning to charge from ground plus the slight offset voltage . during the charging process that occurs at the end of each retention test write operation , each p - channel transistor is expected to provide charging current to each respective side of the memory cell latch that would act to drive it to a full logic 1 level . for a memory cell that is fully intact , where both p - channel transistors are present , the side of the cell that has received the slightly positive offset voltage can be expected to win a race to charge to a 1 level against the side of the cell that has received a ground voltage level . in this case , the side of the cell that is given the head start achieves a high level first , and the cell will set in the correct state . if a p - channel transistor that should be present on either side of a memory cell is missing or very weak , it will not be able to provide sufficient charging current . the opposite side of the cell that began at ground will charge faster to a high state even though it began with a lesser voltage and will achieve the high level first , setting the cell in an incorrect state . fig8 shows results of testing performed using the special test mode . in these figures , the top trace shows the wordline and the second trace shows the bitline and the bitline /. the third trace shows a fully intact memory cell with traces for ‘ mem ’ and ‘ mem /’, and the fourth trace shows a memory cell with a faulty p - channel transistor with traces for mem and mem /. the process starts at t 0 . at t 1 , a normal write = 1 operation occurs during the first wordline pulse , and the bitline and bitline / drive to complemented data . the bitline and bitline / drive to complemented data , in this example , a logic 0 state for the bitline / and a logic 1 state for the bitline . in the functional memory cell shown in the third set of traces , the mem signal achieves a full logic 1 level due to the presence of a p - channel transistor in the cell and the mem / signal achieves a full logic 0 level . for the faulty memory cell shown in the fourth set of traces , the mem signal achieves a degraded high voltage level that is passed through select transistor n 4 due to a missing p - channel transistor p 2 of fig1 while mem / signal achieves a full logic 0 level . the system remains in the state achieved after the first wordline pulse from t 1 to t 3 with a degraded high state on mem and full logic 0 on mem /. this latch state can remain for manv milliseconds or even seconds , but eventually the mem state will degrade further to the point where the cell will flip and switch to the opposite state . a normal write = 0 operation occurs between t 3 and t 4 during the second wordline pulse . in both the fully functioning memory cell and the faulty memory cell , the mem signal achieves a logic 0 and the mem / signal achieves a full logic 1 because both cells have fully intact p - channel transistors on this side of the memory cell latch . both cells will maintain the data state . the third wordline pulse at t 6 is for the data retention test , specifically a retention write = 1 . during a normal write cycle , the memorv cell formed by the inverters shown in fig1 is forced externally by the bitlines to one of the two bistable states . using the adapted array of fig3 , the bitline and consequently the mem side of the cell is driven to a slightly offset voltage above the complemented 0 state rather than a stronger high level while the bitline / and consequently the mem / side of the cell is driven to a full ground or 0 state . this establishes a race condition inside of the latch , with the mem side receiving a slight ‘ head start ’ versus the mem / side . if the p - channel functions correctly , it will charge the mem side fast enough to pull the slightly offset positive voltage up to a full high level and correctly set the latch . this is shown by the third set of traces at t 6 . if , on the other hand , the p - channel on the mem side of the cell does not exist or does not function correctly , the mem / side of the cell that had the logic 0 will charge faster and the latch will be set to the opposite of the intended state . in the second set of traces , the bitline has a level only slightly higher than the bitline /. the third set of traces of the fully functioning memory cell show that the mem signal attains a full logic 1 level , the expected value . the fourth set of traces show that the mem signal 50 fails to write the 1 and fails the test , returning a full logic 0 signal for an expected value of full logic 1 level . a subsequent read would show this incorrect state . it should be noted that in most cases the timing and functions remains as in a normal write cycle . the test merely requires two passes through an otherwise normal memory test , one pass for each p - channel transistor in the cell . the results become available in a predictable , relatively short , period of time . further , the test returns a stable , known result , rather than returning what is an expected value that may not remain as expected for very much longer . thus , although there has been described to this point a particular embodiment for a method and apparatus for testing sram data retention , it is not intended that such specific references be considered as limitations upon the scope of this invention except in - so - far as set forth in the following claims .