for comparison purposes a discussion will be made referring to the conventional array architecture of flash memories , as shown in fig2 . the conventional flash memory array or fig2 is divided into several sectors ( 160 a - 160 k ). each sector contains several sub bit lines 0 - n ( 17 a - 17 n ). each sector has an associated sector decoder ( 150 a - 150 k ). the output of the sector decoders are connected to the main bit lines 0 - n ( 14 a - 14 n ). when a sector is selected , its associated sector decoder will connect the sub bit lines 0 - n to the main bit lines 0 - n 14 a - 14 n . this array architecture is widely used in various kinds of the flash memories due to a problem for disturb conditions resulting from shared word lines and shared bit lines . continuing to refer to fig2 in order to overcome the disturb problem , the flash memories are typically erased in a block or sector size . a typical sector size for flash memories is 64 k bytes or more . using the sector architecture during the erase or program operation , a high voltage is applied to the selected sector only , and the data stored in the sector is erased and programmed together . the sector decoder allows the high voltage to be applied only to the selected sectors ; therefore , the data stored in other sectors will not be disturbed . the high voltage disturb condition will not be accumulated , and the disturb problem is minimized . continuing to refer to fig2 although , the erase operation is performed in a sector , a read or write operation is not allowed to be done simultaneously . for the conventional flash memory , once there is one sector in a write operation , a read or write operation cannot be performed in other sectors . this is because the main bit lines 0 - n 14 a - 14 n of a conventional flash memory are allowed only a single port operation . since the main bit lines are shared for all the sectors , they are used to provide high voltages to the selected sector for a write operation , and cannot be used to connect to any other sector . this limits the array operation to only one sector that can be selected to perform a single operation . for example , when the sector 160 a is selected for a write operation the sub bit lines 17 a - 17 n are connected to the main bit lines 14 a - 14 n . the high voltages are then applied from the main bit lines 14 a - 14 n to the sub bit lines 17 a - 17 n to perform a write operation . all sub bit lines 18 a - 18 n in the other deselected sectors 160 k will not be able to be read or written because the main bit lines 14 a - 14 n have been occupied by the selected sector 160 a . this limits the operation of the conventional flash memories to single port operation . continuing to refer to fig2 when the sub bit lines 17 a - 17 n are selected for the write operation , the sector decoder 160 a is selectively turned on and connects the sub bit lines 17 a - 17 n to the main bit lines 14 a - 14 n . this allows the main bit lines 14 a - 14 n to provide the selected sub bit lines 17 a - 17 n with the voltages according to the required bias condition for the write operation . the array architecture does not provide the sub bit lines with multiple port access capability , and the main bit lines 14 a - 14 n will be tied to the sub bit lines 17 a - 17 n for the write operation . referring to fig3 to overcome the drawback of the conventional flash memory , the present invention discloses a new array architecture that is suitable for multi - port operation . unlike the conventional flash memory array , the main bit lines are separated into two groups 14 a - 14 n and 15 a - 15 n . each group contains several main bit lines 0 - n . both the main bit line groups 14 a - 14 n and 15 a - 15 b are connected to the sector decoders 150 a - l 50 k . the sector decoders 150 a - 150 k have a dual - port input function that allows , for instance , the sub bit lines 17 a - 17 n of a sector 160 a to connect to either main bit line groups 14 a - 14 n or 15 a - 15 n . the sector decoder 150 a - 150 k of each sector can be independently selected to connect the sub bit lines in any selected sector 160 a - 160 k to the two main bit line groups 14 a - 14 n or 15 a - 15 n . continuing to refer to fig3 the sector decoder 150 a , for example , can select the sub bit lines 17 a - 17 n of the sector 160 a to be connected to the first group of main bit lines 14 a - 14 n . at the same time the sector decoder 150 k can select the sub bit lines 18 a - 18 n of the sector 160 k to be connected to the second group of main bit lines 15 a - 15 n . since the selected sub bit lines 17 a - 17 n and 18 a - 18 n are connected to different main bit line groups 14 a - 14 n and 15 a - 15 n , the sub bit lines 17 a - 17 n and 18 a - 18 n can perform different memory operations simultaneously . for example , the first group of the main bit lines 14 a - 14 n can be used to perform the write operation while the second group of main bit lines 15 a - 15 n is used to perform a read operation . referring to fig4 an array architecture suitable for multiple - port operation is shown . the main bit lines are divided into multiple groups 14 a - 14 n to 15 a - 15 n . similar to the dual - port operation shown in fig3 multiple sectors 160 a - 160 k can be independently selected by the sector decoders 150 a - 150 k and connected to the main bit lines groups 14 a - 14 n to 15 a - 15 n . under the control of the main bit lines , each sector can perform different memory operations simultaneously . it should be noted that although the main bit lines are separated into two groups , the number of the main bit lines is not necessarily doubled in the implementation . using different sector decoder scheme can alter the number of the main bit lines . for example , fig5 shows a decoder 160 and a sector decoder 150 of a conventional flash memory . the sector decoder uses the 2 0 decoding scheme which means the decoder inputs and outputs are one - to - one . for this type of sector decoder , the decoder becomes a simple pass - gate function and the number of main bit lines 14 a - 14 d will be equal to the number of the sub bit lines 17 a - 17 d . fig6 shows another sector decoder for a convention flash memory array that uses the 2 1 sector decoder scheme . in this decoder scheme , the relationship between the inputs of the outputs is one - to - two . that means , each main bit line can be decoded and connected to one of two sub bit lines . therefore , the number of the main bit lines will be only half of the sub bit lines . both the decoder schemes shown in fig5 and fig6 are commonly used in the conventional flash memories . choosing the sector decoder scheme is a design consideration and is based on the trade off between the number of the main bit lines and the select gate control lines 31 and 32 . the higher the number m in the 2 m decoder that is used , the less the number of main bit lines that are needed , but the greater the number of the select gate control lines 31 and 32 that have to be used . however , since each sub bit line 17 a - 17 d typically contains a number of memory cells ( e . g . 128 or 512 ), the area penalty increase caused by the extra select gate control lines 31 and 32 is relatively small compared to the area of the sub bit lines . using at least a 2 1 decoder scheme is generally valuable for the flash memories that use more advanced fabrication technology and the main bit line pitch becomes a concern . referring back to the array architecture for the present invention shown in fig3 the total number of the main bit lines 14 a - 14 n and 15 a - 15 n will become twice that of the sub bit lines when using the 2 1 sector decoder . however , the number of the main bit lines can be equal to the number of the sub bit lines when using the 2 1 sector decoder . also , the number of the main bit lines can be divided by factor of m if a 2 m sector decoder is utilized . therefore , the number of the main bit lines can be optimized in terms of the main bit line pitch and the sector decoder size . the basic concept of the present invention is not limited to a dual - port operation only and can be used for any number of multiple - port operations . referring to fig7 shown is a sector 160 a of the present invention that contains several sub bit lines 17 a - 17 d . the main bit lines are divided into two groups 14 a - 14 d and 15 a - 15 d . the sector decoder has a dual - port output function and contains two output ports 150 a and 150 b . the first output port 150 a contains several transistors w 1 - w 4 that are used to select the sub bit lines 17 a - 17 d and connect them to the first group of the main bit lines 14 a - 14 d . the second output port 150 b contains several transistors r 1 - r 4 and is used to select the sub bit lines 17 a - 17 d and connect them to the second group of the main bit lines 15 a - 15 d . the array architecture shown in fig7 allows the two groups of the main bit lines 14 a - 14 d and 15 a - 15 d ) to connect to sub bit lines in two different sectors by turning on the sector decoder 150 a and 150 b . thus , two different operations , such as read and write , can be performed in these two sectors simultaneously . because the sub bit lines 17 a - 17 b of the conventional flash memory of prior art have only one output port for the sector decoder 150 , the main bit lines 14 a - 14 d can be connected to the sub bit lines 17 a - 17 d of only one sector and can perform only one operation at one time . the example of the present invention shown in fig7 uses the 2 0 sector decoder scheme ; therefore , the number of the total main bit lines 14 a - 14 d and 15 a - 15 d are twice of the number of the sub bit lines 17 a - 17 d in each sector . shown in fig8 is another embodiment of the present invention that uses the 2 1 sector decoder scheme . in the 2 1 decoder scheme , one main bit line can be connected to two sub bit lines through selection by the sector decoder . as a result , the number of the total main bit lines 14 a - 14 d and 15 a - 15 d is the same as the sub bit lines 17 a - 17 d . this configuration is compatible with today &# 39 ; s most advanced manufacturing technology , because the pitch of the main bit line that is made by a metal layer is approximately equal to the cell pitch . the operation of this embodiment is very similar to the previous embodiment shown in fig7 . to accomplish the embodiment shown in fig8 the sector decoder must have two output ports 150 a and 150 b . the first output port 150 a contains several transistors w 1 - w 4 that can selectively connect the sub bit lines 17 a - 17 d to the first main bit line group 14 a - 14 d . the second output port 150 b contains several transistors r 1 - r 4 that can selectively connect the sub bit lines 17 a - 17 d to the second main bit line group 15 a - 15 d . thus , the sub bit lines in two different sectors can be selected and connected to the first and the second main bit lines group to perform two different memory operations simultaneously , such as read and write . fig9 shows a third embodiment of the present invention . this embodiment contains the same features for the dual - port operation as the previous embodiments , comprising dual - output - port sector decoders 150 a and 150 b , two main bit line groups 14 a and 15 a . therefore , this embodiment can simultaneously perform two different memory operations in two different sectors . the main difference between the embodiment shown in fig9 and the other embodiments shown in fig7 and 8 comprises the use of the 2 2 sector decoder . this allows one main bit line , 14 a or 15 a , to be decoded and connected to four sub - bit lines 17 a - 17 d which reduces the number of the main bit lines to one fourth of the sub bit lines . in embodiments of the present invention array architecture shown in fig7 and 9 uses 2 0 , 2 1 , and 2 2 sector decoder schemes . it should be noted that the sector decoder can be any 2 m decoder with m being any number . the number m is a design factor , which determines the number of the main bit lines . it should also be noted that , although , 2 m decoders are use herein to describe the present invention , the present invention can also be realized with any other type of decoder . the less frequently used “ odd ” number decoder can be also used to decode 3 , 5 , or 7 number of sub bit lines to one main bit line . also , the invention can be realized by using any type of sector decoders not mentioned in the embodiments of the present invention . although the embodiments of the present invention were described with array architectures providing dual port operations , the array architecture can be modified to provide multiple - port operations using the concept of the present invention shown in fig4 . in fig1 is shown a portion of a non - volatile nor type memory array of prior art . the array is organized into sectors 800 and 801 . main bit lines bl 1 - bl 4 ( 11 , 12 , 13 and 14 ) connect to sectors including sectors 800 and 801 . each sector has a sector gate line as represented by sector gate lines sg 0 ( 30 ) connecting to transistors s 1 - s 4 and sgm ( 3 m ) connecting to transistors s 5 - s 8 . in the first sector 800 word lines wl 00 - wl 0 n ( 400 - 40 n ) and source lines sl 00 - sl 0 n ( 500 - 50 n ) connect to flash memory cells a 1 - a 4 and b 1 - b 4 . sub bit lines 61 - 64 are connected to the main bit lines 11 - 14 by sector gates s 1 - s 4 . in the second sector 801 word lines wlm 0 - wlmn ( 4 m 0 - 4 mn ) and source lines slm 0 - slmn ( 5 m 0 - 5 mn ) connect to flash memory cells a 5 - a 8 and b 5 - b 8 . sub bit lines 65 - 68 are connected to the main bit lines 11 - 14 by sector gates s 5 - s 8 . the memory array shown in fig1 is capable of performing only one memory operation at a time . fig1 shows a nor type flash memory array of the first embodiment of the present invention . two sectors 810 and 811 of the memory array are shown , which uses a two port sector decoder ( not shown ) along with two main bit line groups rbl 1 - rbl 3 and wbl 1 - wbl 2 to provide simultaneous memory operations . the memory cells a 1 - a 4 and b 1 - b 4 in the first sector 810 are connected to sub bit lines 61 - 64 , and the memory cells a 5 - a 8 and b 5 - b 8 in the second sector 811 are connected to sub bit lines 65 - 68 . the array cells a 1 - a 4 through b 1 - b 4 are connected to word lines wl 00 - wl 0 n ( 400 - 40 n ) and source lines sl 00 - sl 0 n ( 500 - 50 n ). the sector decoder drives sector gates w 1 and w 3 at the top of the sector 810 through selector gate line wsg 1 ( 31 w ) and sector gates w 2 and w 4 through sector gate line wsg 2 to select main bit lines wbl 1 ( 11 w ) and wbl 2 ( 12 w ) for a write operation . the sector decoder drives sector gates r 1 and r 3 at the bottom of the array through selector gate line rsg 1 ( 31 r ) and sector gates r 2 and r 4 through sector gate line rsg 2 to select main bit lines rbl 1 ( 11 r ), rbl 2 ( 12 r ) and rbl 2 ( 12 r ) for a read operation . continuing to refer to fig1 , the array cells a 5 - a 8 through b 5 - b 8 are connected to word lines wlm 0 - wlmn ( 4 m 0 - 4 mn ) and source lines slm 0 - slmn ( 5 m 0 - 5 mn ). the sector decoder drives sector gates w 5 and w 7 at the top of the sector 811 through selector gate line wsg 5 ( 35 w ) and sector gates w 6 and w 8 through sector gate line wsg 6 to select main bit lines wbl 1 ( 11 w ) and wbl 2 ( 12 w ) for a write operation . the sector decoder drives sector gates r 5 and r 7 at the bottom of the array through selector gate line rsg 5 ( 35 r ) and sector gates r 6 and r 8 through sector gate line rsg 6 to select main bit lines rbl 1 ( 11 r ), rbl 2 ( 12 r ) and rbl 2 ( 12 r ) for a read operation . the dual port arrangement of the array shown in fig1 allows two memory operations to be performed simultaneously . fig1 shows an example of bias conditions of the present invention for a nor type array to setup programming of the first sector 810 while the second sector 811 is simultaneously read . the bold lines shows the voltages applied to the selected sub bit lines in the first sector 810 to perform a program operation . the sector decoder applies + 10v to the sector gates w 1 and w 3 through the selector gate line 31 w . this connects the + 5v on the main bit line 11 w to the sub bit line 61 . the word line 40 n is biased with + 10v to activate memory cell b 1 , and 0v is applied to the source gate line 50 n to complete the electrical path and allow cell b 1 to be programmed . this bias condition will cause a large current to flow though the channel region of the selected cell b 1 , and induce a channel hot electron injection to program cell b 1 to a high threshold voltage ( vt ) state . at the same time the + 10v on the sector gate line 31 w connects 0v from the main bit line 12 w to the sub bit line 63 deselecting cell b 3 from being programmed . the write bit line 12 w is connected to ground level or left floating . this prevents current from flowing through the channel of the cell b 3 and prevents a program operation . main bit line 11 r has approximately 1 volt applied to perform a read operation in the second sector 811 , which will be described with fig1 . fig1 shows the read operation of the second sector 811 while the first sector 810 is performing a programming operation as demonstrated in fig1 . the bold lines indicate the voltage applied from the read bit lines 11 r , 12 r and 13 r . in order to read the selected cell b 5 , the selector gate for the sector decoder r 5 and r 7 are turned on to connect the sub bit lines 65 and 67 to the read bit lines 11 r and 12 r . the read bit line 11 r is connected to approximately 1 volt . the word line 4 mn is connected to vdd , and the source line 5 mn is connected to ground . this bias condition will verify the vt of the selected cell . if the vt of the cell is in low state , there will be current flowing from the read bit line 11 r to the source line 5 mn . the read bit line 11 r is connected to a sense amplifier circuit that will sense the current flowing in the bit line and generate a logical “ 1 ”. otherwise , the sense amplifier will sense there is no current flowing in the bit line and generate a logical “ 0 ” if the selected cell b 5 is in a high vt state . for the deselected cell b 7 , the read bit line 12 r is applied with a ground level or left floating . this will prevent current flowing through cell b 7 . fig1 shows the conventional and type flash memory array . this and type array features a single - port sector decoder and single main bit line group , thus is only suitable for single port operation . the array is shown with two sectors 800 and 801 . contained within sector 800 are memory cells a 1 - a 4 and b 1 - b 4 . these memory cells are connected to sub bit lines 61 - 64 , word line wl 00 - wl 0 n ( 400 - 40 n ) and source line sl 0 ( 50 ) through selector gates s 21 - s 24 connected to a selector gate line sg 2 ( 31 ). selector gates s 11 - s 14 controlled by selector gate line sg 1 ( 30 ) connect the main bit lines bl 1 - bl 4 ( 11 - 14 ) to the sub bit lines 61 - 64 . continuing to refer to fig1 , contained within sector 801 are memory cells a 5 - a 8 and b 5 - b 8 . these memory cells are connected to sub bit lines 65 - 68 , word line wlm 0 - wlmn ( 4 m 0 - 4 mn ) and source line slm ( 5 m ) through selector gates s 61 - s 64 connected to a selector gate line sg 6 ( 36 ). selector gates s 61 - s 64 controlled by selector gate line sg 6 ( 36 ) connect the main bit lines bl 1 - bl 4 ( 11 - 14 ) to the sub bit lines 65 - 68 . this array has one selector port and can perform only one memory operation at one time . referring to fig1 , an example of an embodiment of the present invention is shown using an and type array structure . there are two sectors shown , sector 820 containing memory cells a 1 - a 4 and b 1 - b 4 , and sector 821 containing memory cells a 5 - a 8 and b 5 - b 8 . each of the sub bit lines 61 w - 64 w for sector 820 are connected to write bit lines wbl 1 and wbl 2 ( 11 w and 12 w ) through write selector gates w 1 - w 4 , and sub bit lines 61 r - 64 r are connected to read bit lines rbl 1 - rbl 3 ( 11 r - 13 r ) through read selector gates r 1 - r 4 . the write selector gates w 1 and w 3 are controlled by a write selector gate line wsg 1 ( 31 w ), and the write selector gates w 2 and w 4 are controlled by a write selector gate line wsg 2 ( 32 w ). the read selector gates r 1 and r 3 are controlled by a read selector gate line rsg 1 ( 31 r ), and the read selector gates r 2 and r 4 are controlled by a read selector gate line rsg 2 ( 32 r ). word lines wl 00 - wl 0 n ( 400 - 40 n ) are connected to the gates of the one transistor flash memory cells a 1 - a 4 and b 1 - b 4 . source line sl 0 is connected to the sources of the memory cells through source gates s 1 - s 4 . the source gates s 1 and s 3 are controlled by source selector gate lines ssg 1 ( 31 s ), and the source gates s 2 and s 4 are controlled by source gate lines ssg 2 ( 32 s ). continuing to refer to fig1 , each of the sub bit lines 65 w - 68 w for sector 821 are connected to write bit lines wbl 1 and wbl 2 ( 11 w and 12 w ) through write selector gates w 1 - w 4 , and sub bit lines 61 r - 64 r are connected to read bit lines rbl 1 - rbl 3 ( 11 r - 13 r ) through read selector gates r 5 - r 8 . the write selector gates w 5 and w 7 are controlled by a write selector gate line wsg 5 ( 35 w ), and the write selector gates w 6 and w 8 are controlled by a write selector gate line wsg 6 ( 36 w ). the read selector gates r 5 and r 7 are controlled by a read selector gate line rsg 5 ( 35 r ), and the read selector gates r 6 and r 8 are controlled by a read selector gate line rsg 6 ( 36 r ). word lines wlm 0 - wlmn ( 4 m 0 - 4 mn ) are connected to the gates of the one transistor flash memory cells a 5 - a 8 and b 5 - b 8 . source line slm is connected to the sources of the memory cells through source gates s 5 - s 8 . the source gates s 5 and s 7 are controlled by source selector gate lines ssg 5 ( 35 s ), and the source gates s 6 and s 8 are controlled by source gate lines ssg 6 ( 36 s ). the dual port architecture shown in fig1 allows the different sectors 820 and 821 to be read and written simultaneously . fig1 shows the bias conditions necessary to program cell b 1 in the first sector 820 while the second sector 821 ) is performing a read operation , simultaneously . in order to program the selected cell b 1 , the write selector gates w 1 and w 3 are turned on by the of the sector decoder to connect the sub bit lines 61 w and 63 w to the write bit lines 11 w and 12 w . for the selected cell b 1 the write bit line 61 w is connected to 0v from the main write bit line 11 w through the write selector gate w 1 . a high voltage , approximately + 10v is applied to to word line 40 n , and the source line is left floating by the source selector gate , which is controlled off with 0v being applied from the on the source selector gate line 31 s . the bias condition will cause an electron to be injected from the bit line 61 w diffusion into the floating gate of the selected cell b 1 and cause the cell to have a high vt state . this program scheme is known as fowler - nordheim tunneling . continuing to refer to fig1 , read bit line 12 w connected to a deselected cell b 3 has a high voltage of approximately 5v applied . this high voltage will reduce the voltage difference between the diffusion region of the bit line and the floating gate of the deselected cell b 3 and effectively halt the cell from being programmed . for the same reason , the sub bit lines 62 w and 64 w are connected to a high voltage of approximately 5v through the source select gates s 2 and s 4 to prevent the deselected cells b 2 and b 4 from being programmed by high voltage of the word line 4 on . fig1 shows the read condition for the second sector 821 when the first sector 820 is performing the program operation as described above with fig1 . to read the selected cell b 5 , the read select gates r 5 and r 7 are turned on by applying vdd to the select gate line 35 r . this will connect the selected sub bit lines 65 r and 67 r to the read bit lines 11 r and 12 r . the read bit line 11 r connects approximately + 1v to the read bit line 65 r . the word line 4 mn is connected to vdd , and the source line 65 w of the selected cell b 5 is connected to ground through the source selector s 5 . this bias condition will cause current to flow flowing , or not flow , through the channel of the selected cell b 5 depending upon whether the vt of the cell b 5 is in a low state or high state , and which will determine the data stored in the cell . for the deselected cells b 6 , b 7 , and b 8 , the sub bit lines are connected to ground or left floating . fig1 shows a nand type conventional flash memory array . there are two sectors shown 800 with memory cells a 1 - a 4 and b 1 - b 4 and 801 with memory cells a 5 - a 8 and b 5 - b 8 . the sub bit lines 61 - 65 of sector 800 are connected to main bit lines bl 1 - b 14 ( 11 - 14 ) through selector gates s 11 - s 14 , which are controlled by a selector gate line sg 1 ( 31 ). word lines wl 00 - wl 0 n ( 400 - 40 n ) are connected to the control gates of transistors of the flash memory cells a 1 - a 4 and b 1 - b 4 , and source line sl 0 ( 50 ) is connected to the memory cells through source gates s 21 - s 24 , which are controlled by source gate line sg 2 ( 32 ). the conventional nand - type array uses single port sector decoder ( not shown ) to decode the sub bit lines 61 - 64 and connect each sub bit line to one single main bit line 11 - 14 . this architecture cannot provide more than multiple port operation . continuing to refer to fig1 , the sub bit lines 61 - 65 of sector 801 are connected to main bit lines bl 1 - b 14 ( 11 - 14 ) through selector gates s 55 - s 58 , which are controlled by a selector gate line sg ( 35 ). word lines wlm 0 - wlmn ( 4 m 0 - 4 mn ) are connected to the control gates of transistors of the flash memory cells a 5 - a 8 and b 5 - b 8 , and source line slm ( 5 m ) is connected to the memory cells through source gates s 65 - s 68 , which are controlled by source gate line sg 6 ( 36 ). the conventional nand - type array uses single port sector decoder ( not shown ) to decode the sub bit lines 65 - 68 and connect each sub bit line to one single main bit line 11 - 14 . fig1 shows a nand - type array configured in accordance with the present invention . there are two sectors 830 and 831 of the array shown in fig1 , where , four groups of selector gates , r 1 and r 2 , w 1 and w 2 , g 1 and g 3 , and g 2 and g 4 , are used to perform the dual port decoding for every two sub bit lines , 61 and 62 and 63 and 64 of sector 830 . through the selection of the selector gates , each of the sub bit lines 61 - 64 can be selectively connected to the write bit lines wbl 1 and wbl 2 ( 11 w and 12 w ) and the read bit lines rbl 1 and rbl 2 ( 11 r and 12 r ). the sub bit lines 61 - 64 of the memory array of the first sector 830 are connected to the main bit lines 11 r and 12 r through read selector gates r 1 and r 2 and selector gates g 1 and g 3 , and are connected to the main bit lines 11 w and 12 w through write selector gates w 1 and w 2 and selector gates g 2 and g 4 . the read selector gates , r 1 and r 2 , are controlled by a read selector gate line rsg 0 ( 30 r ). the write selector gates , w 1 and w 2 , are controlled by a read selector gate line wsg 0 ( 30 w ). the selector gates g 1 and g 3 are controlled by a selector gate control line sg 1 ( 31 ), and the selector gates g 2 and g 4 are controlled by a selector gate control line sg 2 ( 32 ). word lines wl 00 - wl 0 n ( 400 - 40 n ) are connected to the memory cells a 1 - a 4 and b 1 - b 4 , and the source line sl 0 ( 50 ) is connected to the source of the bottom memory cells b 1 - b 4 through source gates s 1 - s 4 controlled by a source selector gate line ssg 0 ( 20 ). continuing to refer to fig1 , four groups of selector gates , r 3 and r 4 , w 3 and w 4 , g 5 and g 7 , and g 6 and g 8 , are used to perform the dual port decoding for every two sub bit lines , 65 and 66 and 67 and 68 of sector 831 . through the selection of the selector gates , each of the sub bit lines 65 - 68 can be selectively connected to the write bit lines wbl 1 and wbl 2 ( 11 w and 12 w ) and the read bit lines rbl 1 and rbl 2 ( 11 r and 12 r ). the sub bit lines 65 - 68 of the memory array of the second sector 831 are connected to the main bit lines 11 r and 12 r through read selector gates r 3 and r 4 and selector gates g 5 and g 7 , and are connected to the main bit lines 11 w and 12 w through write selector gates w 3 and w 4 and selector gates g 6 and g 8 . the read selector gates , r 3 and r 4 , are controlled by a read selector gate line rsgm ( 3 mr ). the write selector gates , w 3 and w 4 , are controlled by a read selector gate line wsgm ( 3 mw ). the selector gates g 5 and g 7 are controlled by a selector gate control line sg 5 ( 35 ), and the selector gates g 6 and g 8 are controlled by a selector gate control line sg 6 ( 36 ). word lines wlm 0 - wlmn ( 4 m 0 - 4 mn ) are connected to the memory cells a 5 - a 8 and b 5 - b 8 , and the source line slm ( 5 m ) is connected to the source of the bottom memory cells b 5 - b 8 through source gates s 5 - s 8 controlled by a source selector gate line ssgm ( 2 m ). the array configuration shown in fig1 is capable of simultaneous memory operations . in fig2 is shown the voltages necessary to program memory cell b 2 in sector 830 . the bold lines show the voltage paths applied from the write bit lines 11 w and 12 w . when the write selectors gates w 1 and w 2 , and the selector gates g 2 and g 4 are turned on by applying vdd to the write selector gate line 30 w and the selector gate line 32 , the voltage from the write bit lines 11 w and 12 w are applied to the sub bit lines 62 and 64 . the program conditions for the nand type array include all the word lines connected to the sector . the selected word line wli is applied with high voltage such as 20 volts . the two adjacent word lines wli + 1 and wli − 1 ) of the selected word line are applied with low voltage such as vdd , and all the other word lines are applied with high voltage such as 10 volts . this bias condition will generate an effect called “ self channel boosting ” that can effectively reduce the disturb condition caused by the word line connected to the deselected cells . for example , if the cell b 4 is deselected , the read bit line 12 w corresponding to the cell b 4 is coupled to vdd . this will shut off the selector gates w 2 and g 4 , and cause the sub bit line 64 of the deselected cell b 4 to become floating . when to the sub bit line 64 is in floating condition , the channel region of the deselected cell b 4 can be coupled by the word line high voltage to at least approximately 10 volts . this channel voltage then can effectively cancel the disturb condition from the word line high voltage around 20 volts . for the selected cell b 2 , the write bit line 11 w is coupled to ground . this voltage will turn on the select gates w 1 and g 2 , and pass to the channel region of the selected cell b 2 . the selected cell b 2 will then be programmed by the fowler - nordheim tunneling , as a result of the high differential voltage between the channel region and the floating gate of the selected cell b 2 . it should be noted that during this operation , the selector gates g 1 and g 3 of the deselected sub bit lines 61 and 63 are turned off . thus , the self - channel boosting phenomenon will also happen to the deselected cells b 1 and b 3 to prevent them from being disturbed by the word line voltage . fig2 shows the read condition of the second sector 831 while the first sector 830 ) is simultaneously in a program operation . to read the selected cell b 5 , the select gates r 3 , r 4 , g 5 , and g 7 are turned on to connect the sub bit lines 65 and 67 to the read bit lines 11 r and 12 r . the selected read bit line 11 r is coupled with approximately 1 volt , while the deselected read bit line 12 r is grounded or floating . all of the deselected word lines in the selected sector 831 are coupled to vdd and the selected word line is coupled with ground . this will allow the current to flow from the read bit line 11 r through all the deselected cells to the selected cell b 5 . if the vt of the selected cell b 5 is lower than zero volts , the channel of the cell b 5 will be turned on by the grounded word line , which can cause current flowing from the read bit line 11 r to the source line 5 m . otherwise , the channel of the selected cell b 5 will be shut off and stop the current flowing on the read bit line 11 r . the sense amplifier connected to the read bit line 11 r will sense the current flowing and determine the data of the cell b 5 . three examples of the embodiments of the present invention have been shown using nor , and , and nand type array structures . it should be noted that the example array architectures which have been shown are not the only ways to realize the basic concept of the invention . using any other array architecture or modified array architecture from the examples but still using the disclosed multiple - port concept , multiple - port architecture , or multiple - port operation will remain in the scope of the present invention . moreover , although the examples in this disclosure of the present invention do not show the array using of a multiple level decoder , such as the tree decoder , the concept of the present invention can be applied to those applications as well . for example , referring to fig3 for the basic dual port array architecture of the present invention . although , the example shows each sector 160 a - 160 k is decoded by a sector decoder 150 a - 150 k , it is not necessary to use only one level of the sector decoder for each sector . alternatively , each sector can also contain several levels of sub bit line decoders . also , outside of the sectors , multiple sectors can be grouped together and multiple levels of decoders can be added to further decode the main bit lines . this arrangement would allow the sector size for the simultaneous operation to be different from the sector size for the erase and write operation . for example , for a typical nor type flash memory array , the typical sector size for the erase operation is approximately 64 k bytes that can be formed by 512 word lines and 1 , 024 bit lines . however , for the and type or nand type flash memory array , the erase sector size typically contains less number of word lines such as 32 word lines . for this small number of word lines , it may not be suitable or necessary to provide each erase sector with the flexibility of being simultaneously read and write . it may need to have a simultaneous read and write function for every 512 word lines rather than 32 word lines , depending on the application . in this case , the sector can be partitioned to use a two level decoder scheme in which the first decoder level uses the conventional sector decoder for every 32 word lines to form the erase sector . in the second decoder level the multiple port sector decoder scheme would be used for every 512 word lines , or every 16 erase sectors , to provide the capability of multiple simultaneous operations . by using a hierarchical decoder scheme , the array architecture can provide a high degree of flexibility in the sector size in terms of the erase disturb concerns and simultaneous operation . various types of the hierarchical decoder schemes can be used according to the concept of the present invention and will still remain in the scope of the invention . by using the disclosed approach of the present invention , the array architectures can become very flexible and can be optimized and suitable for many kinds of applications . while the invention has been particularly shown and described with reference to preferred embodiments thereof , it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention .