P
US6519691B2ExpiredUtilityPatentIndex 74

Method of controlling a memory device by way of a system bus

Assignee: MICRON TECHNOLOGY INCPriority: Apr 23, 1997Filed: May 11, 2001Granted: Feb 11, 2003
Est. expiryApr 23, 2017(expired)· nominal 20-yr term from priority
Inventors:LAKHANI VINOD CNORMAN ROBERT DCHEVALLIER CHRISTOPHE J
G06F 2212/2022G06F 12/0661
74
PatentIndex Score
6
Cited by
13
References
58
Claims

Abstract

A non-volatile memory system having a memory controller, an array of memory cells and a memory operation manager. The operation manager carries out memory program, read and erase operation upon receipt of program, read and erase instruction from the controller, typically over a system bus. The address block circuitry is provided in the manager which is capable of performing an memory operation on a single address or on multiple addresses depending upon the state of the address block circuitry as determined by the controller. Multiple addresses can be generated based upon a single address provided by the controller so that sectors of the memory can be programmed or read thereby simplifying memory operations and reducing the overhead of the memory controller.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
       1. A method of controlling a memory device by way of a system bus, with the memory device including an array of memory cells and a system bus having a data bus, the method comprising: 
       transferring enable/disable information over the system bus to the memory device;  
       transferring over the data bus a first read address corresponding to an array address to be read;  
       loading different portions of the first read address into at least three address registers associated with the memory device;  
       transferring a first read command over the system bus;  
       in response to the first read command, reading a first one of the memory cells at an address corresponding to the first read address in the address registers;  
       in response to the enable/disable information, modifying the first read address within one of the address registers to generate a second read address;  
       after generating the second read address, transferring a second read command over the system bus;  
       in response to the second read command, reading a second one of the memory cells at an address corresponding to the second read address;  
       after reading the second memory cell— 
       transferring different enable/disable information over the system bus to the memory device;  
       transferring over the data bus a third read address unrelated to the second read address;  
       loading different portions of the third address into the same address registers;  
       transferring a third read command over the system bus;  
       in response to the third read command and the different enable/disable information, reading a third one of the memory cells at an address corresponding to the third read address.  
     
     
       2. The method of  claim 1  where modifying the first read address comprises incrementing a counter located in the memory device. 
     
     
       3. The method of  claim 1  where transferring the different enable/disable information over the bus disables incrementing of the counter. 
     
     
       4. The method of  claim 1  where the second address is independent of any read address transferred over the system bus subsequent to transferring the first read address. 
     
     
       5. The method of  claim 1  further comprising, before transferring the different enable/disable information: 
       modifying the second read address to generate a further read address;  
       after generating the further read address, transferring a further read command over the system bus;  
       in response to the further read command, reading a further one of the memory cells at an addres corresponding to the further read address.  
     
     
       6. The method of  claim 5  further comprising repeating the operations of that claim at least once. 
     
     
       7. The method of  claim 6  where the operations are repeated until a predetermined sector of cells has been read. 
     
     
       8. The method of  claim 1  where only a portion of the first address is modified in generating the second read address. 
     
     
       9. The method of  claim 8  where the modified portion is a low-order portion of the first read address. 
     
     
       10. The method of  claim 1  where transferring the first read address over the data bus comprises: 
       transferring only a portion of the read address over the data bus together with a first load-address command over the system bus;  
       thereafter transferring a further portion of the read address over the data bus together with a second load-address command over the system bus.  
     
     
       11. The method of  claim 10  where the enable/disable information is transferred when the second load-address command is transferred. 
     
     
       12. A method of controlling a memory device by way of a system bus, with the memory device including an array of memory cells and a system bus having a data bus, the method comprising: 
       transferring over the data bus a first program address corresponding to a first array address to be programmed;  
       loading different portions of the first read address into at least three address registers associated with the memory device;  
       transferring enable/disable information over the system bus to the memory device;  
       transferring a first program command over the system bus;  
       transferring data to be programmed over the system bus;  
       in response to the first program command, programming a first one of the memory cells, at an address corresponding to the first program address in the address registers, with at least a portion of the data to be programmed;  
       in response to the enable/disable information, modifying the first array address within one of the address registers to generate a modified array address;  
       after generating the modified array address, transferring a second program command over the system bus;  
       in response to the second program command, programming a second one of the memory cells, at an address corresponding to the modified array address, with at least a portion of the data to be programmed;  
       after programming the second memory cell— 
       transferring different enable/disable information over the system bus;  
       transferring over the data bus a third program address unrelated to the second program address;  
       transferring a third program command over the system bus;  
       loading different portions of the third address into the same address registers;  
       in response to the third program command and the different enable/disable information, programing a third one of the memory cells, at an address corresponding to the third program address, with further data to be programmed.  
     
     
       13. The method of  claim 12  where modifying the first program address comprises incrementing a counter located in the memory device. 
     
     
       14. The method of  claim 13  where transferring the different enable/disable information disables incrementing of the counter. 
     
     
       15. The method of  claim 12  where the data to be programmed into the first and second cells is transferred to the memory device in a single operation. 
     
     
       16. The method of  claim 12  further comprising, before transferring the different enable/disable information: 
       modifying the second program address to generate a further program address;  
       after generating the further program address, transferring a further program command over the system bus;  
       in response to the further program command, programming a further one of the memory cells at an address corresponding to the further program address.  
     
     
       17. The method of  claim 16  further comprising repeating the operations of that claim at least once. 
     
     
       18. The method of  claim 17  where the operations are repeated until a predetermined sector of cells has been programmed. 
     
     
       19. The method of  claim 12  where only a portion of the first address is modified in generating the second program address. 
     
     
       20. The method of  claim 19  where the modified portion is a low-order portion of the first program address. 
     
     
       21. The method of  claim 12  where transferring the first program address over the data bus comprises: 
       transferring only a portion of the program address over the data bus together with a first load-address command over the system bus;  
       thereafter transferring a further portion of the program address over the data bus together with a second load-address command over the system bus.  
     
     
       22. The method of  claim 21  where the enable/disable information is transferred when the second load-address command is transferred. 
     
     
       23. A method of controlling a memory device including an array of memory cells and a system bus having a data bus, the method comprising 
       transferring over the data bus a first read address corresponding to an array address;  
       transferring enable/disable information over the system bus;  
       transferring a first read command over the system bus;  
       in response to the first read command, reading one of the memory cells at an address corresponding to the first read address;  
       in response to the enable/disable information, modifying only a predetermined low-order portion of the first read address within the memory device itself to generate a second read address;  
       after generating the second read address, transferring a second read command over the system bus;  
       in response to the second read command, reading one of the memory cells at an address corresponding to the second read address.  
     
     
       24. The method of  claim 23  where the memory cells are non-volatile. 
     
     
       25. The method of  claim 23  where the system bus comprises a tag bus separate from the data bus, the read commands and at least a part of the enable/disable information being transferred over the tag bus. 
     
     
       26. The method of  claim 25  where the read addresses and a further part of the enable/disable information are transferred over the data bus. 
     
     
       27. The method of  claim 23  where the second address is independent of a read address transferred over the data bus subsequent to transferring the first read address. 
     
     
       28. The method of  claim 23  where only a portion of the first address is modified in generating the second read address. 
     
     
       29. The method of  claim 28  where the modified portion is a low-order portion of the first read address. 
     
     
       30. The method of  claim 23  where modifying the first read address comprises incrementing a counter located in the memory device. 
     
     
       31. The method of  claim 23  where transferring the first read address over the data bus comprises: 
       transferring only a portion of the read address over the data bus together with a first load-address command over the system bus;  
       thereafter transferring a further portion of the read address over the data bus together with a second load-address command over the system bus.  
     
     
       32. The method of  claim 31  where the enable/disable information is transferred when the second load-address command is transferred. 
     
     
       33. A method of controlling a memory device including an array of memory cells and a system bus having a data bus, said method comprising: 
       transferring over the data bus a first program address corresponding to an address of the memory array to be programmed;  
       loading different portions of the first program address into at least three address registers associated with the memory device;  
       transferring program data to the memory device;  
       transferring enable/disable information over the system bus;  
       selecting at least one but less than all of the address registers;  
       transferring a first program command over the system bus;  
       generating a second program address by modifying only the selected register(s) based upon the enable/disable information;  
       transferring a further program command over the system bus;  
       programming the array at the first and second program addresses with the program data.  
     
     
       34. The method of  claim 33  where the memory cells are non-volatile. 
     
     
       35. The method of  claim 33  where the system bus comprises a tag bus separate from the data bus, the read commands and at least a part of the enable/disable information being transferred over the tag bus. 
     
     
       36. The method of  claim 35  where the read addresses and a further part of the enable/disable information are transferred over the data bus. 
     
     
       37. The method of  claim 33  further comprising enabling an increment function of a counter located at the memory device in response to the enable/disable information, the counter providing at least a portion of the modified program address. 
     
     
       38. The method of  claim 37  where the first command loads the counter with the portion of the first program address. 
     
     
       39. The method of  claim 37  further comprising incrementing the counter in response to the modified program command. 
     
     
       40. The method of  claim 33  where a portion of the data to be programmed is transferred each time one of the program commands is transferred. 
     
     
       41. The method of  claim 33  where the data to be programmed is programmed in a single program operation after the data to be programmed has been transferred. 
     
     
       42. A method of controlling a memory device including an array of memory cells and a system bus having a tag bus and a data bus, the method comprising: 
       in response to a first read command and a first value of enable/disable information transferred at least partially over the tag bus,  
       transferring over the data bus a first read address corresponding to an array address;  
       loading different portions of the first read address into at least three address registers associated with the memory device;  
       in response to the first read command, reading one of the memory cells at an address corresponding to the first read address;  
       selecting at least one but less than all of the address registers;  
       iterating the following operations until an end condition occurs;  
       in response to first enable/disable information, modifying the first read address within only the selected register(s) to generate a modified read address;  
       after generating the modified read address, transferring a further read command;  
       in response to the further read command, reading one of the memory cells at an address corresponding to the modified read address.  
     
     
       43. The method of  claim 42  where the end condition comprises reaching a read address signifying an end of a sector of addresses. 
     
     
       44. The method of  claim 42  where the end condition comprises receiving a different value of the enable/disable information. 
     
     
       45. The method of  claim 42  where the enable/disable information is partially transferred over the data bus. 
     
     
       46. The method of  claim 45  further comprising, in response to receiving the different enable/disable information value: 
       transferring over the system bus a another read address unrelated to the second read address;  
       transferring another read command over the tag bus;  
       in response to the other read command, reading another one of the memory cells at an address corresponding to the other read address.  
     
     
       47. A method of controlling a memory device including an array of memory cells and a system bus having a tag bus and a data bus, the method comprising: 
       in response to a first program command and a first value of enable/disable information transferred at least partially over the tag bus,  
       transferring over the data bus a first program address corresponding to an array address;  
       loading different portions of the first read address into at least three address registers associated with the memory device;  
       in response to the first program command, programing one of the memory cells at an address corresponding to the first program address;  
       selecting at least one but less than all of the address registers;  
       iterating the following operations until an end condition occurs;  
       in response to the first value of the enable/disable information, modifying the first program address within only the selected register(s) to generate a modified program address;  
       after generating the modified program address, transferring a further program command;  
       in response to the further program command, programing one of the memory cells at an address corresponding to the modified program address.  
     
     
       48. The method of  claim 47  where data to be programmed into the memory cells is transferred to the memory device over the data bus. 
     
     
       49. The method of  claim 48  where the data to be programmed into multiple ones of the cells is transferred in a single operation. 
     
     
       50. The method of  claim 47  where the end condition comprises reaching a program address signifying an end of a sector of addresses. 
     
     
       51. The method of  claim 47  where the end condition comprises receiving a different value of the enable/disable information. 
     
     
       52. The method of  claim 47  where the enable/disable information is partially transferred over the data bus. 
     
     
       53. The method of  claim 47  further comprising, in response to receiving the different enable/disable information value: 
       transferring over the system bus a another program address unrelated to the second program address;  
       transferring another program command over the tag bus;  
       in response to the other program command, programing another one of the memory cells at an address corresponding to the other program address.  
     
     
       54. A method of controlling a memory device by way of a system bus, with the memory device including an array of memory cells and a system bus having a tag bus and a data bus, the method comprising: 
       transferring an address of a block of cells over the data bus;  
       transferring an erase command over the system bus;  
       applying an erase pulse simultaneously to all cells in the block of the memory cells for setting them all to the same predetermined value;  
       verifying whether all cells of the block contain the predetermined value, comprising  
       transferring over the data bus a first read address corresponding to an array address in the block;  
       transferring a predetermined value of enable/disable information over the system bus;  
       transferring a first read command over the system bus;  
       in response to the first read command, reading one of the memory cells in the block at an address corresponding to the first read address;  
       in response to the predetermined enable/disable information value, modifying the first read address only within the same block to generate a further read address;  
       after generating the further read address, transferring a further read command over the system bus;  
       in response to the further read command, reading one of the memory cells in the block at an address corresponding to the further read address;  
       iterating until all memory cells in the block have been read;  
       if any of the cells in the block do not have the predetermined value, applying a further erase pulse and repeating the verifying operation.  
     
     
       55. The method of  claim 54  further comprising repeating the applying and verifying operations until all the cells in the block contain the predetermined value. 
     
     
       56. The method of  claim 54  where only a portion of the first address is modified in generating the further read address. 
     
     
       57. The method of  claim 56  where the modified portion is a low-order portion of the first read address. 
     
     
       58. The method of  claim 54  where modifying the first read address comprises incrementing a counter located in the memory device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.