EP1839154A4 - System and method of erasing non-volatile recording media - Google Patents
System and method of erasing non-volatile recording mediaInfo
- Publication number
- EP1839154A4 EP1839154A4 EP04813277A EP04813277A EP1839154A4 EP 1839154 A4 EP1839154 A4 EP 1839154A4 EP 04813277 A EP04813277 A EP 04813277A EP 04813277 A EP04813277 A EP 04813277A EP 1839154 A4 EP1839154 A4 EP 1839154A4
- Authority
- EP
- European Patent Office
- Prior art keywords
- recording medium
- volatile recording
- erasure
- erasure area
- area identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
Definitions
- the disclosure relates to secure and efficient erasure of data.
- the disclosure relates to erasure of data that is stored on a recording medium.
- non-volatile recording media can be a hard drive, solid state flash drive, PCMCIA card, PC card, magnetic tape, or optical storage medium. Other types of non-volatile recording media can also be used.
- a complete and secure erasure methodology is utilized in high security systems such as those used in the military to ensure that data once stored in non-volatile recording media can never be recovered. Further, lower level security systems can utilize complete erasure to protect personal or confidential data.
- One current method for erasing data is deleting the pointer that points to the target data to be erased. Although the data is inaccessible through the deleted pointer, the data remains recorded in memory and is potentially accessible through other means. The erased data can potentially be revived if, for example, the nonvolatile recording medium is entirely parsed out memory location by memory location. Accordingly, solely erasing the pointer does not securely erase the data from the non-volatile recording medium.
- a data pattern can include a variety of digits and/or alphanumeric characters.
- the data pattern can include a series of ones, zeroes, or a random combination of ones and zeroes.
- the erasure procedure may leave traces of the value previously stored in a particular memory location. Although these traces are not easily read, the traces can be read by using extraordinary measures.
- an erasure area identifier is transmitted from a processor in a computing device to a non-volatile recording medium controller.
- the erasure area identifier corresponds to a plurality of memory locations in an erasure area in the non-volatile recording medium.
- the non-volatile recording medium controller is operably connected with the non-volatile recording medium.
- a data pattern is also transmitted from the processor in the computing device to the non-volatile recording medium controller.
- the data pattern is transmitted in a single transfer.
- an erasure command is transmitted from the processor in the computing device to the non-volatile recording medium controller.
- the non-volatile recording medium controller constructs a plurality of instructions to overwrite the plurality of memory locations in the erasure area identified by the erasure area identifier. Each of the instructions writes at least one of the memory locations in the erasure area identified by the erasure area identifier with the data pattern.
- the erasure area identifier is randomly generated. In another aspect, the erasure area identifier is inputted by the user. In another aspect, the erasure area identifier includes a start memory location in the erasure area and a memory location count. In another aspect, the erasure area identifier defines the erasure area according to a cylinder-head-sector addressing scheme. In yet another aspect, the erasure area identifier defines the erasure area according to a logical block addressing scheme.
- the erasure area identifier or the data pattern are pre-stored in a storage device, the storage device coupled with the processor in the computing device.
- the data pattern is randomly generated or inputted by the user.
- the processor in the computing device a signal indicative of a status of the data in the erasure area of the non-volatile recording medium.
- the non-volatile recording medium is a hard disk. In another aspect, the non-volatile recording medium is a solid-state PROM memory. In another aspect, the non-volatile recording medium is a solid-state flash memory. In another aspect, the non-volatile recording medium is a magnetic tape.
- a method of securely erasing data from a non-volatile recording medium An erasure command is transmitted from a processor in a computing device to a non-volatile recording medium controller.
- the non-volatile recording medium controller is operably connected with the non-volatile recording medium.
- a plurality of instructions are constructed to overwrite a plurality of memory locations corresponding to an erasure area identified by a pre-stored erasure area identifier.
- Each of the instructions writes at least one of the memory locations in the erasure area identified by the pre-stored erasure area identifier with a pre-stored data pattern.
- the erasure area or the data pattern are pre-stored in the non-volatile recording medium.
- a erasure area identifier is transmitted from a processor in a computing device to a non-volatile recording medium controller, wherein the erasure area identifier corresponds to a plurality of memory locations in the erasure area in the non-volatile recording medium, and wherein the non-volatile recording medium controller is operably connected with the non-volatile recording medium.
- a data pattern is transmitted from the processor in the computing device to the nonvolatile recording medium controller, wherein the data pattern is being transmitted a number of times which is less than the number of memory locations in the plurality of memory locations in the erasure area.
- an erasure command is transmitted from the processor in the computing device to the non-volatile recording medium controller, the non-volatile recording medium controller constructing a plurality of instructions to overwrite the plurality of memory locations in the erasure area identified by the erasure area identifier, each of the instructions writing at least one of the memory locations in the erasure area identified by the erasure area identifier with the data pattern.
- a non-volatile recording medium erasure system There is a processor in a computing device that transmits an erasure area identifier, a data pattern and an erasure command.
- the erasure area identifier corresponds to a plurality of memory locations in the erasure area in the non-volatile recording medium.
- the non-volatile recording medium controller is operably connected with the non-volatile recording medium, and constructs a plurality of instructions to overwrite the plurality of memory locations in the erasure area identified by the erasure area identifier.
- Each of the instructions writing at least one of the memory locations in the erasure area identified by the erasure area identifier with the data pattern.
- the data pattern can being transmitted a single time or a number of times which is less than the number of memory locations in the plurality of memory locations in the erasure area. In another aspect, if the erasure area identifier is zero, all memory locations in the non-volatile recording medium are written with the data pattern.
- a data pattern and an erasure area identifier are transmitted from a processor in a computing device to a non-volatile recording medium controller in a single transfer.
- the erasure area identifier corresponds to a plurality of memory locations in the erasure area in the non-volatile recording medium.
- the non-volatile recording medium controller is operably connected with the non-volatile recording medium.
- An erasure command is transmitted from the processor in the computing device to the non-volatile recording medium controller.
- the non-volatile recording medium controller constructing a plurality of instructions to overwrite the plurality of memory locations in the erasure area identified by the erasure area identifier. Each of the instructions writing at least one of the memory locations in the erasure area identified by the erasure area identifier with the data pattern.
- Figure 1 A illustrates a computing system for securely erasing data stored in a non-volatile recording medium.
- Figure 1 B illustrates a computing system wherein the non-volatile recording medium is a hard disk drive.
- Figure 2A illustrates a tabular diagram of the content of an erasure message sent to a hard drive with cylinder-head-sector addressing.
- Figure 2B illustrates a tabular diagram of the content of an erasure message sent to a hard drive with logical block addressing.
- Figure 3 illustrates a flow diagram of a non-volatile recording medium erasure.
- the method and system described below provide faster erasure of data stored on non-volatile recording media than previously seen.
- erasure of data on a non-volatile recording medium involves the use of a data pattern.
- the data pattern is usually sent to the non-volatile recording medium every time a memory location is overwritten.
- a large number of transfers of the data pattern is usually required because a secure erase generally involves overwriting thousands, if not millions, of memory locations on the non-volatile recording medium.
- the transfer of each data pattern to the non-volatile recording medium requires a significant amount of time.
- the method and system described below reduces the amount of time needed to perform a secure erasure by reducing the number of transfers of the data pattern to the non-volatile recording medium.
- FIG. 1A illustrates a computing system 100 for securely erasing data stored in a non-volatile recording medium 130.
- the non-volatile recording medium 130 includes a controller 120 and a storage module 125.
- the controller 120 can be a computer processor that stores data in the storage module 125 by directing the reading and writing of data on the storage module 125.
- the controller 120 communicates with external devices such as a computing device 140.
- the computing device 140 communicates with the controller 120 to manage the data that is written and erased from the storage module 125.
- the computing device 140 includes a CPU 110 and a random access memory (“RAM”) 180.
- the CPU 110 manages the RAM memory 180.
- the computing device 140 may receive user input through an input/output device 150.
- the input/output device 150 can be a keyboard, a mouse, a touchpad, a joystick, a touch-screen, a voice recognition system, etc.
- the computing device 140 can be a personal computer, a laptop, a cellular phone, a personal data assistant, a media player, a media recorder, a server, a digital video recorder, an embedded control system in a media recorder, an embedded control system in a digital video recorder, an embedded control system in any other electrical device, etc.
- a user enters an erasure command to erase specific data from the storage module 125.
- the computing device 140 receives the erasure command entered by the user through the input/output device 150.
- the input/output device 150 then provides the erasure command entered by the user to the CPU 110.
- the erasure command is triggered or generated by the CPU 110.
- the CPU 110 communicates with the controller 120 by transmitting and receiving various commands in relation to the data to be stored in the storage module 125.
- One such message that is sent from the CPU 110 to the controller 120 is an erasure message.
- the erasure message can include an erasure command, a data pattern, and an erasure area identifier.
- the CPU 110 generates the data pattern.
- the data pattern is randomly generated from a random number generator.
- the CPU 110 has a random number generator.
- the user inputs the data pattern.
- the erasure area identifier specifies a collection of memory locations in the storage module 125 where the data to be erased resides.
- the erasure area identifier is either inputted by the user or generated by the CPU 110.
- a user may input the name of a file to be deleted.
- the CPU 110 can search the corresponding address of the file in the nonvolatile recording medium.
- the CPU 110 can then generate the erasure area identifier based on the size of the file and the starting address in the non-volatile recording medium.
- an application running on the computer device 140 may require a file to be deleted, and the CPU 110 generates the erasure area identifier based on the address of the file in the non-volatile recording medium.
- the user specifies the erasure area identifier through the input/output device 150.
- the erasure area identifier may define the erasure area in various manners.
- the erasure area identifier can be a list of memory locations.
- the erasure area identifier can be a starting memory location and an ending memory location.
- the erasure area identifier can be a starting memory location and a memory location count.
- the erasure area identifier can be a flag which indicates that all the writeable locations on the storage module 125 are to be written with the data pattern.
- the erasure message is transmitted a single time from the CPU 110 to the controller 120. After the controller 120 receives the message, the controller 120 writes the data pattern to the memory locations in the storage module 125 that correspond to the erasure area identifier.
- the data pattern would normally have to be transferred to the non-volatile recording medium sixty billion times. If the data pattern is only transferred once, the transfer time becomes negligible. The total erasure time is then reduced to the amount of time it takes to write the data in the non-volatile recording medium. In this particular example, the total erasure time is reduced by fifteen minutes. Furthermore, in this example, fifteen minutes would be saved for each additional data pattern used. Thus, if a secure erase requires three data patterns to be used as part of the erasure, 0x55, OxAA, OxFF, the total time saved would be forty-five minutes.
- the CPU 110 sends multiple erasure messages to the controller 120.
- all erasure messages contain the same data pattern but different erasure area identifiers.
- the number of erasure messages is less than the number of total memory locations to be overwritten.
- the controller 120 receives a first erasure message with a first erasure area identifier and a first data pattern.
- the controller 120 starts writing the first data pattern on the memory locations of the storage module 120 specified by the first erasure area identifier.
- the controller 120 receives a second message with a second erasure area and the first data pattern.
- the number of messages sent to the controller is less than the sum of the number of memory locations in the erasure area of the storage module 125 specified by the erasure area identifier. Therefore, the total transfer time is reduced because not every memory location requires a transfer.
- multiple erasure messages can contain the same erasure area identifier but different data patterns. For instance, a first erasure message can overwrite a rage of memory locations with a first data pattern while a second erasure message can erase the same set of memory locations with a second data pattern to ensure a secure erasure with multiple data patterns.
- the first erasure message can overwrite a first range of memory locations, with the first data pattern, and the second erasure message can overwrite a second range of memory locations with the second data pattern.
- the controller 120 can write to multiple locations at a time. In one embodiment, the controller 120 starts writing the second erasure area before the first erasure command is completed. As a result of the controller 120 simultaneously writing to multiple memory locations of the storage module 125, the time needed to overwrite the data stored in the memory locations is further reduced.
- the erasure message does not contain a data pattern.
- the data pattern can be pre-stored in the storage module 125.
- the controller 120 acquires the data pattern by retrieving the data pattern from the storage module 125.
- the storage module stores a collection of data patterns to be retrieved by the controller 120.
- the data pattern is hardwired on the controller 120.
- the erasure message does not contain the erasure area identifier because the erasure area identifier is pre-stored in the storage module 125.
- the controller 120 acquires the erasure area identifier by retrieving the erasure area from the storage module 125.
- the erasure area identifier is hardwired on the controller 120.
- Figure 1 B illustrates a computing system 101 wherein the non-volatile recording medium is a hard disk drive 130.
- the computing system 101 includes the computing device 110 which communicates with the hard disk drive 130 by sending and receiving commands related to data storage.
- the hard disk drive 130 includes a hard disk controller 120 that operates the write and read commands on the hard disk 170.
- the erasure message is then transmitted to the hard disk controller 120 in the hard disk drive 130.
- the hard disk controller 120 parses the erasure message and identifies the parameters contained in the erasure message such as the erasure command, the data pattern, and the erasure area identifier.
- Figure 2A illustrates a tabular diagram 200 of the content of an erasure message sent to a non-volatile recording medium which has cylinder-head-sector ("CHS") addressing.
- the erasure message illustrated by the tabular diagram 200 is used to write data to the erasure area of the hard disk 170.
- the erasure message 200 is used to write data to the erasure area of a non-volatile recording medium with a logical memory structure similar to that of the hard disk 170.
- the erasure message contains an erasure command, an erasure area identifier, and a data pattern.
- the erasure message utilizes seven registers.
- the command register 207 contains a "Fill" command. The name of the "Fill” command suggests that the erasure area is to be "filled” with the data pattern contained in the feature register 201. It will be apparent to one skilled in the art, that the name of the command may have many other variations such as Erase, SecureErase, Delete, SecureDelete, etc.
- the erasure area identifier can be stored in registers 202 through 206.
- registers 202 through 206 contain a starting address and a sector count.
- the starting address can be defined by a combination of a cylinder number, a head number and a sector number.
- the head number is stored in register 206 containing the drive information in bits 1-4, and containing the head information in bit 0.
- the cylinder information is contained in a cylinder high register 205 for a cylinder high parameter; a cylinder low register 204 for a cylinder low parameter.
- the cylinder number uses one or both registers depending on the length of the cylinder.
- a sector number register 203 indicates the first sector for writing.
- the sector count register 202 indicates the number of sectors to be written with the same data pattern. In another embodiment, if the sector count is zero then the entire non-volatile recording medium is written with the data pattern. In another embodiment, if the sector count is the total number of sectors in the non-volatile recording medium, then the entire non-volatile recording medium is written with the data pattern.
- the data pattern is contained in the feature register 201.
- Figure 2B illustrates a tabular diagram 201 of the content of an erasure message sent to a non-volatile recording medium that has logical block addressing ("LBA").
- the erasure message illustrated by the tabular diagram 200 is used to write data to the erasure area of the hard disk 170 ( Figure 1 B).
- the erasure message 201 is used to write data to the erasure area of a non-volatile recording medium with a logical memory structure similar to that of a hard disk 170 ( Figure 1 B).
- the erasure area identifier can be stored in registers 202 to 206.
- the starting address is defined by a sector number stored in one of the registers of the erasure message.
- the starting address is stored in multiple registers of the erasure message.
- bit 0 in the driver/head register 206, cylinder high register 205, cylinder low register 204, and sector number register 203 are registers used to store the LBA address at which the erasure area starts.
- the LBA address may be large enough to use some or all of these registers.
- Figure 3 illustrates a process 300 of erasing data from non-volatile recording medium.
- the data pattern is set.
- the data pattern can be set by user input, computer random generation, computer calculation, etc.
- the erasure area identifier is set.
- the set erasure area identifier, the set data pattern, and an erasure command are transmitted to the non-volatile recording medium.
- the data pattern, the erasure command and the erasure area identifier are transmitted to a hard disk drive controller.
- the data pattern, the erasure command and the erasure area identifier are transmitted to a flash memory controller.
- all three components can be transmitted together in a single erasure message.
- a subcombination of the three components can be transmitted in a single erasure message.
- a construction instruction is performed at process block 318.
- the construction instruction creates a write instruction that includes the memory address to be overwritten, the data pattern used, and a write command.
- the write instruction is interpreted and the data pattern is written to the memory location indicated by the write instruction.
- a decision block 325 logic is utilized to decide whether to continue writing or not. To accomplish this, the erasure area identifier is examined to determine whether there are remaining locations in the erasure area to write the data pattern. If there are remaining locations in the erasure area, another write instruction is constructed by process block 318 and executed by process block 320. After the write instruction is executed at process block 320, the erasure area identifier is examined again at decision block 325 to determine whether there are any more locations to write the data pattern. If so, another write instruction is constructed and execute on the next memory location, and so on.
- a counter may be used and initialized with a value equivalent to the memory location count value. The counter can then be decreased every time a memory location is written with the data pattern. If the counter value is zero, then there are no more memory locations to be written over. In another embodiment, the counter can be initialized with a value of zero, and increased by a value of one every time a memory location is written with the data pattern. If the counter value is equivalent to the number of memory locations in the erasure area then there are no more memory locations to be written over. [0048] Once all memory locations have been written over, a status signal can be sent at process block 330 from the non-volatile recording medium indicating that the secure erase has been successful. In one embodiment, the CPU receives the status signal.
- the method 300 starts over from the beginning.
- a data pattern is set at process block 305
- an erasure area identifier is set at process block 310, and then the data pattern, the erasure area identifier and the erasure command are transmitted at process block 315 to the non-volatile recording medium.
- all the write instructions are constructed at process block 318 and the memory locations in the erasure area are written over at process block 320. If a third erasure is desired, the method 300 starts over again, and so on.
- a user may decide to complete another erasure on the non-volatile recording medium.
- the user can choose the number and the sequence of erasure messages. For example, a user may choose to send four subsequent erasure messages to the hard disk controller 120 as part of a secure erase procedure.
- Common data patterns that are written consecutively to a hard disk or another non-volatile recording medium are the hexadecimal values 0x55, OxAA, OxFF, and 0x00. By consecutively writing different binary data patterns to the same memory location, any traces of the original file data values are obliterated.
- a computing device may logically calculate that another erasure is necessary and start method 300 again. The computing device can have the hexadecimal values stored in memory and use them randomly when issuing a new erasure in the non-volatile recording medium.
Abstract
Description
Claims
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2004/040940 WO2006062511A1 (en) | 2004-12-06 | 2004-12-06 | System and method of erasing non-volatile recording media |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1839154A1 EP1839154A1 (en) | 2007-10-03 |
EP1839154A4 true EP1839154A4 (en) | 2008-07-09 |
Family
ID=36578211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04813277A Withdrawn EP1839154A4 (en) | 2004-12-06 | 2004-12-06 | System and method of erasing non-volatile recording media |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1839154A4 (en) |
JP (1) | JP2008523468A (en) |
AU (1) | AU2004325580A1 (en) |
CA (1) | CA2591333A1 (en) |
IL (1) | IL183682A0 (en) |
WO (1) | WO2006062511A1 (en) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100876084B1 (en) | 2007-02-13 | 2008-12-26 | 삼성전자주식회사 | Computing system capable of delivering deletion information to flash storage |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
WO2008070814A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a scalable, composite, reconfigurable backplane |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8195874B2 (en) | 2009-04-10 | 2012-06-05 | Hitachi, Ltd. | Storage apparatus and method for shredding storage medium |
CN102696010B (en) | 2009-09-08 | 2016-03-23 | 才智知识产权控股公司(2) | For by the device of data cache on solid storage device, system and method |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US8289801B2 (en) | 2009-09-09 | 2012-10-16 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
US8601222B2 (en) | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
EP2652623B1 (en) | 2010-12-13 | 2018-08-01 | SanDisk Technologies LLC | Apparatus, system, and method for auto-commit memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8966191B2 (en) | 2011-03-18 | 2015-02-24 | Fusion-Io, Inc. | Logical interface for contextual storage |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US8799612B2 (en) | 2012-07-17 | 2014-08-05 | International Business Machines Corporation | Monitoring of extent of writing of unobscured data to improve erase performance on a magnetic medium |
US8995071B2 (en) | 2012-07-17 | 2015-03-31 | International Business Machines Corporation | Monitoring of residual encrypted data to improve erase performance on a magnetic medium |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9304709B2 (en) * | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
GB2620445A (en) * | 2022-07-08 | 2024-01-10 | Kirintec Ltd | Data erasure system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530828A (en) * | 1992-06-22 | 1996-06-25 | Hitachi, Ltd. | Semiconductor storage device including a controller for continuously writing data to and erasing data from a plurality of flash memories |
US6338114B1 (en) * | 1999-08-18 | 2002-01-08 | International Business Machines Corporation | Method, system, and program for using a table to determine an erase operation to perform |
US20020181134A1 (en) * | 2001-06-04 | 2002-12-05 | Xerox Corporation | Secure data file erasure |
US6658438B1 (en) * | 2000-08-14 | 2003-12-02 | Matrix Semiconductor, Inc. | Method for deleting stored digital data from write-once memory device |
US6748482B1 (en) * | 2000-09-27 | 2004-06-08 | Intel Corporation | Multiple non-contiguous block erase in flash memory |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69034227T2 (en) * | 1989-04-13 | 2007-05-03 | Sandisk Corp., Sunnyvale | EEprom system with block deletion |
US6212600B1 (en) * | 1998-01-21 | 2001-04-03 | Infraworks Corporation | Method and apparatus for sanitization of fixed storage devices |
US6507911B1 (en) * | 1998-07-22 | 2003-01-14 | Entrust Technologies Limited | System and method for securely deleting plaintext data |
US6034882A (en) * | 1998-11-16 | 2000-03-07 | Matrix Semiconductor, Inc. | Vertically stacked field programmable nonvolatile memory and method of fabrication |
US20010025343A1 (en) * | 2000-03-27 | 2001-09-27 | Roy Chrisop | Random bit mask generation for obscuring data on nonvolatile memory device |
JP2003140835A (en) * | 2001-11-02 | 2003-05-16 | Nec Gumma Ltd | Data storage device |
JP3673213B2 (en) * | 2001-11-30 | 2005-07-20 | 株式会社東芝 | Disk storage device and data erasing method applied to the same |
US6983351B2 (en) * | 2002-04-11 | 2006-01-03 | International Business Machines Corporation | System and method to guarantee overwrite of expired data in a virtual tape server |
US7461176B2 (en) * | 2003-05-02 | 2008-12-02 | Hitachi, Ltd. | Method for initialization of storage systems |
JP2005018415A (en) * | 2003-06-26 | 2005-01-20 | Toshiba Corp | Information processor and data erasing method used in the same |
-
2004
- 2004-12-06 WO PCT/US2004/040940 patent/WO2006062511A1/en active Application Filing
- 2004-12-06 EP EP04813277A patent/EP1839154A4/en not_active Withdrawn
- 2004-12-06 JP JP2007544321A patent/JP2008523468A/en not_active Abandoned
- 2004-12-06 CA CA002591333A patent/CA2591333A1/en not_active Abandoned
- 2004-12-06 AU AU2004325580A patent/AU2004325580A1/en not_active Abandoned
-
2007
- 2007-06-05 IL IL183682A patent/IL183682A0/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530828A (en) * | 1992-06-22 | 1996-06-25 | Hitachi, Ltd. | Semiconductor storage device including a controller for continuously writing data to and erasing data from a plurality of flash memories |
US6338114B1 (en) * | 1999-08-18 | 2002-01-08 | International Business Machines Corporation | Method, system, and program for using a table to determine an erase operation to perform |
US6658438B1 (en) * | 2000-08-14 | 2003-12-02 | Matrix Semiconductor, Inc. | Method for deleting stored digital data from write-once memory device |
US6748482B1 (en) * | 2000-09-27 | 2004-06-08 | Intel Corporation | Multiple non-contiguous block erase in flash memory |
US20020181134A1 (en) * | 2001-06-04 | 2002-12-05 | Xerox Corporation | Secure data file erasure |
Non-Patent Citations (2)
Title |
---|
GUTMANN P: "Secure Deletion of Data from Magnetic and Solid-State Memory", PROCEEDINGS OF THE USENIX SECURITY SYMPOSIUM, XX, XX, 22 July 1996 (1996-07-22), pages 14COMPLETE, XP002190890 * |
See also references of WO2006062511A1 * |
Also Published As
Publication number | Publication date |
---|---|
IL183682A0 (en) | 2007-09-20 |
JP2008523468A (en) | 2008-07-03 |
WO2006062511A1 (en) | 2006-06-15 |
AU2004325580A1 (en) | 2006-06-15 |
EP1839154A1 (en) | 2007-10-03 |
CA2591333A1 (en) | 2006-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1839154A1 (en) | System and method of erasing non-volatile recording media | |
US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
US6388908B1 (en) | Recording system, data recording device, memory device, and data recording method | |
CN1307554C (en) | Data recorder and method for recording data in flash memory | |
EP0712067B1 (en) | Flash disk card | |
US5787484A (en) | System and method which compares data preread from memory cells to data to be written to the cells | |
US8024530B2 (en) | Security erase of a delete file and of sectors not currently assigned to a file | |
US5841699A (en) | Storage device and method to detect its degradation | |
US6477632B1 (en) | Storage device and accessing method | |
US7564721B2 (en) | Method and apparatus for improving storage performance using a background erase | |
US5619452A (en) | Semiconductor disk device with a constant data-writing time period | |
JP2007193449A (en) | Information recorder, and control method therefor | |
US20060120235A1 (en) | System and method of erasing non-volatile recording media | |
US5724544A (en) | IC memory card utilizing dual eeproms for image and management data | |
JP2007193448A (en) | Information recorder, and control method therefor | |
US20080244173A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US7120766B2 (en) | Apparatus and method to initialize information disposed in an information storage and retrieval system | |
JP2007193866A (en) | Information recording device and its control method | |
US5617380A (en) | Apparatus and method for drive management for multi-pass storage devices | |
US20070250661A1 (en) | Data recording apparatus and method of controlling the same | |
KR100479170B1 (en) | Access control device for memory and method thereof | |
KR20070114704A (en) | System and method of erasing non-volatile recording media | |
US20030210489A1 (en) | Data eraser and data erasing program | |
CN101111825A (en) | System and method for erasing nonvolatile recording medium | |
JPH04313882A (en) | Record control system for memory card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070705 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1105697 Country of ref document: HK |
|
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20080605 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G11C 16/16 20060101ALI20080530BHEP Ipc: G06F 3/06 20060101AFI20080530BHEP Ipc: G06F 12/00 20060101ALI20080530BHEP Ipc: G11B 5/024 20060101ALI20080530BHEP |
|
17Q | First examination report despatched |
Effective date: 20081105 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20100701 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1105697 Country of ref document: HK |