The present invention relates to write-once memory devices, and in particular to methods for deleting stored digital data from such devices.
Non-volatile memory is becoming standard in many products such as digital cameras and digital audio players, and write-once memory devices offer the advantage of low manufacturing costs. Upcoming copy protection standards such as the Secure Digital Media Interface require memory contents to be erased. However, erasing digital files is not possible with write-once memories, since a write-once memory by definition cannot be restored to its original, unwritten state once a file has been written into the memory.
The preferred embodiments described below operate with a write-once memory that includes a plurality of memory cells. The memory stores a digital file, and for this reason some of the memory cells are in an original, unprogrammed digital state, while others of the memory cells are in a programmed digital state. In response to a received delete command associated with the stored digital file, the embodiments described below over-write at least a portion of the stored digital file with a destructive pattern. This destructive pattern switches at least some of the memory cells associated with the digital file from the original, unprogrammed state to the programmed state. For example, some or all of the memory cells associated with the stored file can be over-written with the destructive pattern (111111).
This section has been provided by way of general introduction, and it is not intended to limit the scope of the following claims.
a, 3b and 3c are schematic diagrams of a plurality of memory cells prior to storage of a digital file, subsequent to storage of a digital file, and subsequent to being over-written with a destructive pattern, respectively.
Turning now to the drawings,
The data storage system 10 can take any suitable form, and may for example be implemented as a digital camera, a digital audio player, a personal digital assistant, a game player, a cellular telephone, an electronic book, or a general purpose programmable computer. The memory array controller 20 and the 3-D write-once memory array 30 can be implemented as any suitable memory device. See for example the 3-D write-once memory devices shown in Johnson U.S. Pat. No. 6,034,882, Knall U.S. patent application Ser. No. 09/560,626, and Johnson U.S. patent application Ser. No. 09/638,428, all three assigned to the assignee of the present invention and hereby incorporated by reference. Further details regarding alternative structures for the memory device are presented in U.S. patent applications Ser. No. 09/638,427 (now U.S. Pat. No. 6,424,581) and Ser. No. 09/638,334, both filed on the same day as the present application, assigned to the assignee of the present application, and hereby incorporated by reference in their entirety.
As explained in the Knall and Johnson patent documents in detail, 3-D write-once memory arrays provide important economies in terms of reduced size of the memory array and associated reductions in manufacturing cost. In particular, a write-once memory array can be fabricated from memory cells, each having only two associated conductors: a wordline and a bitline. Such memory cells can be fabricated at a density of 3×107 memory cells per square millimeter of substrate.
In particular, the cost advantages of the present invention are important in consumer products such as digital cameras, digital audio players and electronic books. In these applications, the write-once memory array 30 is preferably field programmable, and the data storage system 10 field programs the memory array 30 with a desired digital medium, such as a file of one or a sequence of images, a text file such as that suitable for an electronic book, or a digital audio file.
In spite of its many advantages, a write-once memory array provides the disadvantage that it can only be written once. That is, the memory cells of the write-once memory array are fabricated in an initial, unprogrammed digital state, and selected memory cells can then be switched to an alternative, programmed digital state. In one example, the original, unprogrammed digital state can be identified as the Logic 0 state and the programmed digital state can be identified as the Logic 1 state (though the reverse is also possible). Because a memory cell cannot be erased once it is written, it is not possible to erase the files from a write-once memory array by restoring the associated memory cells to the Logic 0 state.
As shown in
As shown in block 42 of
a through 3c provide a specific example of memory cell states that can result from the method of
It is not essential in all embodiments that all of the memory cells associated with file(j) be over-written with the destructive data pattern. As shown in the example of
Of course, many alternative data destruction patterns can be used, as long as they achieve the desired result of obliterating the selected portion or portions of the data file to be deleted. For example, the data sequence (01010101) can be used for the pattern, as can (00001111). Also, the pattern may be aperiodic.
Furthermore, it may be preferable in some applications to obliterate the portion of the allocation table associated with a file to be deleted rather than the data of the file itself. Such an alternative embodiment is illustrated in
The simplest implementation of the functions described above is to use software, due to the shorter time needed to implement, debug and upgrade a software system. However, hardware implementations are also possible. In this case, the controller 20 of
As another alternative, the over-write function described above can be performed in a manner that reduces the time required for the over-write operation. For example, the controller 20 can simultaneously over-write memory cells in multiple layers that share a given row and column address, thereby over-writing the memory cells in a plurality of layers of a 3-D memory array at one time rather than selecting them individually. Similarly, the controller can over-write a complete page, block or other set of memory cells simultaneously to increase the speed of the over-write operation.
In some applications it may be desirable to over-write only a small portion of memory cells associated with a particular file. For example, with the Secure Digital Media Interface used by the recording industry to control copying of digital music, one may wish to eliminate a section of the file that shows how many time a user has listened to or made copies of the data. This allows a user to reset the data without rewriting the entire data file.
One advantage of the embodiments described above is that the end user can simply use the data storage system in the conventional manner, commanding that files be deleted. Either the data storage system or the memory array controller automatically implements this delete command by over-writing as described above.
In many applications the data storage system 10 may be useable both with write-once memory arrays as described above as well as with re-writable memory arrays. For example, the memory device may be a modular, portable device that is readily connected to and disconnected from the data storage system. In this case, the method of
Control is then transferred either to block 72 or block 74, depending upon whether the installed memory device is a write-once memory device or not. If so, a destructive data pattern is written in block 74 over some or all the memory cells associated with the file to be deleted. Any of the techniques described above can be used. In this connection, the term “memory cells associated” with a particular file is intended broadly to include both the memory cells of the allocation table that identify the physical addresses of the memory cells storing the data of the associated file, as well as these data-storing cells themselves.
In the event the installed memory device is not a write-once memory device, the file to be deleted is deleted in the conventional manner in block 72. This is often done by clearing the pointers of the file allocation table (for example, by resetting the pointers to the Logic 0 state described above).
An advantage of this method is that the implementation of a file delete command is automatically optimized for the particular type of memory device that is currently installed. As explained above, write-once memory devices differ substantially from re-writable memory devices, and for this reason the same delete techniques are not optimal from both types of memory devices. This optimization is provided in this embodiment in a manner that is completely invisible to the end user, and thus all the advantages described above are obtained without complicating the commands used by the end user to delete files.
As used herein, the term “stored digital file” is intended broadly to encompass addressing pointers such as those of the allocation table described above, as well as the digital data itself.
“Programmed digital state” is intended broadly to encompass one or more states. For example, a programmed digital state can equal the Logic 1 state in a binary storage system, or the Logic 1 or the Logic 2 state in a three-state digital system.
The term “simultaneously” is intended broadly to encompass operations that overlap in time, whether or not they start and stop at precisely the same instant.
The term “block” as applied to memory cells refers to a contiguous set of memory cells, including a memory page for example.
The forgoing detailed description has described only a few of the many possible implementations of the present invention. For this reason, this detailed description is intended by way of illustration, and not by way of limitation. It is only the following claims, including all equivalents, that are intended to define the scope of this invention.
This application is a continuation of U.S. application Ser. No. 09/638,439, filed Aug. 14, 2000 now U.S. Pat. No. 6,658,438, which is hereby incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
3668655 | Allen | Jun 1972 | A |
4272880 | Pashley | Jun 1981 | A |
4442507 | Roesner | Apr 1984 | A |
4489478 | Sakurai | Dec 1984 | A |
4498226 | Inoue et al. | Feb 1985 | A |
4499539 | Vosacek | Feb 1985 | A |
4499557 | Holmberg et al. | Feb 1985 | A |
4646266 | Ovshinsky et al. | Feb 1987 | A |
4677742 | Johnson | Jul 1987 | A |
4691299 | Rivest et al. | Sep 1987 | A |
4868804 | Le Carvennec et al. | Sep 1989 | A |
4939598 | Kulakowski et al. | Jul 1990 | A |
5029125 | Sciupac | Jul 1991 | A |
5065389 | Roth | Nov 1991 | A |
5070384 | McCollum et al. | Dec 1991 | A |
5241659 | Parulski et al. | Aug 1993 | A |
5306935 | Esquivel et al. | Apr 1994 | A |
5315178 | Snider | May 1994 | A |
5427979 | Chang | Jun 1995 | A |
5441907 | Sung et al. | Aug 1995 | A |
5448372 | Axman et al. | Sep 1995 | A |
5535156 | Levy et al. | Jul 1996 | A |
5563947 | Kikinis | Oct 1996 | A |
5596639 | Kikinis | Jan 1997 | A |
5602987 | Harari et al. | Feb 1997 | A |
5640343 | Gallagher et al. | Jun 1997 | A |
5745407 | Levy et al. | Apr 1998 | A |
5835396 | Zhang | Nov 1998 | A |
6000020 | Chin et al. | Dec 1999 | A |
6034882 | Johnson et al. | Mar 2000 | A |
6104638 | Larner et al. | Aug 2000 | A |
6321360 | Takeuchi et al. | Nov 2001 | B1 |
6377526 | Vining et al. | Apr 2002 | B1 |
6590852 | McCormick, Jr. | Jul 2003 | B1 |
6658438 | Moore et al. | Dec 2003 | B1 |
Number | Date | Country |
---|---|---|
WO 9914763 | Mar 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20040098416 A1 | May 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09638439 | Aug 2000 | US |
Child | 10674289 | US |