Semiconductor memory having both volatile and non-volatile functionality and method of operating
Semiconductor memory having both volatile and non-volatile modes and methods of operation. A semiconductor storage device includes a plurality of memory cells each having a floating body for storing, reading and writing data as volatile memory. The device includes a floating gate or trapping layer for storing data as non-volatile memory, the device operating as volatile memory when power is applied to the device, and the device storing data from the volatile memory as non-volatile memory when power to the device is interrupted.
1. A method of operating a semiconductor storage device comprising a plurality of memory cells each having a floating body for storing, reading and writing data as volatile memory, a buried layer beneath said floating body, and a floating gate or trapping layer above said floating body for storing data as non-volatile memory, the method comprising:
reading and storing data to the floating bodies as volatile memory while power is applied to the device;
transferring the data stored in the floating bodies, by a parallel, non-algorithmic process, to the floating gates or trapping layers corresponding to the floating bodies, when power to the device is interrupted; and
storing the data in the floating gates or trapping layers as non-volatile memory.
2. The method of claim 1 , further comprising:
transferring the data stored in the floating gates or trapping layers, by a parallel, non-algorithmic restore process, to the floating bodies corresponding to the floating gates or trapping layers, when power is restored to the cell;
and storing the data in the floating bodies as volatile memory.
3. The method of claim 2 , further comprising restoring the floating gates or trapping layers to a predetermined charge state after the restore process.
4. The method of claim 2 , further comprising writing a predetermined state to the floating bodies prior to the transferring the data stored in the floating gates or trapping layers to the floating bodies.
5. The method of claim 4 , wherein the predetermined state is state “0”.
6. The method of claim 1 , further comprising initializing the floating gates or trapping layers, to each have the same predetermined state prior to the transferring.
7. The method of claim 6 , wherein the predetermined state comprises a positive charge.
8. The method of claim 1 , wherein the data transferred is stored in the floating gates or trapping layers with charges that are complementary to charges of the floating bodies when storing the data.
9. A method of selecting a semiconductor memory cell in a string, comprising a plurality of semiconductor memory cells each having a floating body for storing data as volatile memory, and a floating gate or trapping layer for storing data as non-volatile memory, the method comprising:
selecting at least one of said semiconductor memory cells; and
turning on at least one passing cell in said string, wherein each said passing cell is a cell not having been selected in said string.
10. The method of claim 9 , further comprising reading said at least one selected memory cell during a volatile mode operation.
11. The method of claim 9 , further comprising writing said at least one selected memory cell during a volatile mode operation.
12. The method of claim 9 , wherein each said memory cell in said string includes a control gate, said method further comprising applying a voltage to the control gates, wherein voltage applied to said control gates of said passing cells is greater than voltage applied to said control gate of said at least one selected cell.
13. A method of operating a semiconductor device to economize power usage, wherein said semiconductor device comprises a string of memory cells each having a floating body for storing, reading and writing data as volatile memory, and a floating gate or trapping layer for storing data as non-volatile memory, the method comprising:
monitoring activity of at least one of said cells; and
after a predetermined period of time during which said at least one cell has remained idle, performing a shadowing operation thereby storing a state of said at least one cell in said non-volatile memory.
14. The method of claim 13 , wherein said monitoring comprises monitoring activity of each of said memory cells.
15. The method of claim 13 , further comprising:
shutting down power to said memory string.
16. The method of claim 13 , further comprising:
shutting down power to the volatile memory of said floating body of said at least one memory cell.
17. The method of claim 13 , wherein said at least one cell comprises at least two cells and said shadowing operation occurs in a parallel, non-algorithmic manner.
18. The method of claim 13 , further comprising:
restoring a volatile memory state into said floating body of each of said at least one cells, respectively, when said volatile memory data is needed, wherein said volatile memory state is the same as a volatile memory state stored in said floating body before performing said shadowing operation.