Reliably Erasing Data From Flash-Based Solid State Drives

Transcription

Reliably Erasing Data From Flash-Based Solid State DrivesMichael Wei , Laura M. Grupp , Frederick E. Spada† , Steven Swanson Department† Centerof Computer Science and Engineering, University of California, San Diegofor Magnetic Recording and Research, University of California, San DiegoAbstractReliably erasing data from storage media (sanitizing themedia) is a critical component of secure data management. While sanitizing entire disks and individual files iswell-understood for hard drives, flash-based solid statedisks have a very different internal architecture, so itis unclear whether hard drive techniques will work forSSDs as well.We empirically evaluate the effectiveness of harddrive-oriented techniques and of the SSDs’ built-in sanitization commands by extracting raw data from theSSD’s flash chips after applying these techniques andcommands. Our results lead to three conclusions:First, built-in commands are effective, but manufacturers sometimes implement them incorrectly. Second,overwriting the entire visible address space of an SSDtwice is usually, but not always, sufficient to sanitize thedrive. Third, none of the existing hard drive-orientedtechniques for individual file sanitization are effective onSSDs.This third conclusion leads us to develop flash translation layer extensions that exploit the details of flashmemory’s behavior to efficiently support file sanitization.Overall, we find that reliable SSD sanitization requiresbuilt-in, verifiable sanitize operations.1IntroductionAs users, corporations, and government agencies storemore data in digital media, managing that data and accessto it becomes increasingly important. Reliably removing data from persistent storage is an essential aspect ofthis management process, and several techniques that reliably delete data from hard disks are available as built-inATA or SCSI commands, software tools, and governmentstandards.These techniques provide effective means of sanitizing hard disk drives (HDDs) – either individual files theystore or the drive in their entirety. Software methods typically involve overwriting all or part of the drive multipletimes with patterns specifically designed to obscure anyremnant data. The ATA and SCSI command sets include“secure erase” commands that should sanitize an entiredisk. Physical destruction and degaussing are also effective.Flash-based solid-state drives (SSDs) differ from harddrives in both the technology they use to store data (flashchips vs. magnetic disks) and the algorithms they useto manage and access that data. SSDs maintain a layerof indirection between the logical block addresses thatcomputer systems use to access data and the raw flashaddresses that identify physical storage. The layer of indirection enhances SSD performance and reliability byhiding flash memory’s idiosyncratic interface and managing its limited lifetime, but it can also produce copiesof the data that are invisible to the user but that a sophisticated attacker can recover.The differences between SSDs and hard drives make ituncertain whether techniques and commands developedfor hard drives willl be effective on SSDs. We have developed a procedure to determine whether a sanitizationprocedure is effective on an SSDs: We write a structureddata pattern to the drive, apply the sanitization technique,dismantle the drive, and extract the raw data directlyfrom the flash chips using a custom flash testing system.We tested ATA commands for sanitizing an entireSSD, software techniques to do the same, and softwaretechniques for sanitizing individual files. We find thatwhile most implementations of the ATA commands arecorrect, others contain serious bugs that can, in somecases, result in all the data remaining intact on the drive.Our data shows software-based full-disk techniques areusually, but not always, effective, and we have found evidence that the data pattern used may impact the effectiveness of overwriting. Single-file sanitization techniques,however, consistently fail to remove data from the SSD.Enabling single-file sanitization requires changes tothe flash translation layer that manages the mapping between logical and physical addresses. We have devel-

oped three mechanisms to support single-file sanitizationand implemented them in a simulated SSD. The mechanisms rely on a detailed understanding of flash memory’sbehavior beyond what datasheets typically supply. Thetechniques can either sacrifice a small amount of performance for continuous sanitization or they can preservecommon case performance and support sanitization ondemand.We conclude that the complexity of SSDs relative tohard drives requires that they provide built-in sanitization commands. Our tests show that since manufacturersdo not always implement these commands correctly, thecommands should be verifiable as well. Current and proposed ATA and SCSI standards provide no mechanismfor verification and the current trend toward encryptingSSDs makes verification even harder.The remainder of this paper is organized as follows:Section 2 describes the sanitization problem in detail.Section 3 presents our verification methodology and results for existing hard disk-oriented techniques. Section 4 describes our FTL extensions to support single-filesanitization, and Section 5 presents our conclusions.2Sanitizing SSDsThe ability to reliably erase data from a storage deviceis critical to maintaining the security of that data. Thispaper identifies and develops effective methods for erasing data from solid-state drives (SSDs). Before we canaddress these goals, however, we must understand whatit means to sanitize storage. This section establishesthat definition while briefly describing techniques usedto erase hard drives. Then, it explains why those techniques may not apply to SSDs.2.1Defining “sanitized”In this work, we use the term “sanitize” to describe theprocess of erasing all or part of a storage device so thatthe data it contained is difficult or impossible to recover.Below we describe five different levels of sanitizationstorage can undergo. We will use these terms to categorize and evaluate the sanitization techniques in Sections 3and 4.The first level is logical sanitization. Data in logically sanitized storage is not recoverable via standardhardware interfaces such as standard ATA or SCSI commands. Users can logically sanitize an entire hard driveor an individual file by overwriting all or part of thedrive, respectively. Logical sanitization correspondsto “clearing” as defined in NIST 800-88 [25], one ofseveral documents from governments around the world[11, 26, 9, 13, 17, 10] that provide guidance for data destruction.The next level is digital sanitization. It is not possibleto recover data from digitally sanitized storage via anydigital means, including undocumented drive commandsor subversion of the device’s controller or firmware. Ondisks, overwriting and then deleting a file suffices forboth logical and digital sanitization with the caveat thatoverwriting may not digitally sanitize bad blocks that thedrive has retired from use. As we shall see, the complexity of SSDs makes digitally sanitizing them more complicated.The next level of sanitization is analog sanitization.Analog sanitization degrades the analog signal that encodes the data so that reconstructing the signal is effectively impossible even with the most advanced sensingequipment and expertise. NIST 800-88 refers to analogsanitization as “purging.”An alternative approach to overwriting or otherwiseobliterating bits is to cryptographically sanitize storage.Here, the drive uses a cryptographic key to encrypt anddecrypt incoming and outgoing data. To sanitize thedrive, the user issues a command to sanitize the storagethat holds the key. The effectiveness of cryptographicsanitization relies on the security of the encryption system used (e.g., AES [24]), and upon the designer’s ability to eliminate “side channel” attacks that might allowan adversary to extract the key or otherwise bypass theencryption.The correct choice of sanitization level for a particular application depends on the sensitivity of the dataand the means and expertise of the expected adversary.Many government standards [11, 26, 9, 13, 17, 10] andsecure erase software programs use multiple overwritesto erase data on hard drives. As a result many individualsand companies rely on software-based overwrite techniques for disposing of data. To our knowledge (basedon working closely with several government agencies),no one has ever publicly demonstrated bulk recovery ofdata from an HDD after such erasure, so this confidenceis probably well-placed.1 .2.2SSD challengesThe internals of an SSD differ in almost every respectfrom a hard drive, so assuming that the erasure techniques that work for hard drives will also work for SSDsis dangerous.SSDs use flash memory to store data. Flash memory isdivided into pages and blocks. Program operations applyto pages and can only change 1s to 0s. Erase operationsapply to blocks and set all the bits in a block to 1. As aresult, in-place update is not possible. There are typically64-256 pages in a block (see Table 5).A flash translation layer (FTL) [15] manages the mapping between logical block addresses (LBAs) that arevisible via the ATA or SCSI interface and physical pages1 Ofcourse, there may have been non-public demonstration.

1614Number of copiesof flash memory. Because of the mismatch in granularity between erase operations and program operations inflash, in-place update of the sector at an LBA is not possible.Instead, to modify a sector, the FTL will write the newcontents for the sector to another location and update themap so that the new data appears at the target LBA. As aresult, the old version of the data remains in digital formin the flash memory. We refer to these “left over” data asdigital remnants.Since in-place updates are not possible in SSDs, theoverwrite-based erasure techniques that work well forhard drives may not work properly for SSDs. Thosetechniques assume that overwriting a portion of the LBAspace results in overwriting the same physical media thatstored the original data. Overwriting data on an SSD results in logical sanitization (i.e., the data is not retrievablevia the SATA or SCSI interface) but not digital sanitization.Analog sanitization is more complex for SSDs than forhard drives as well. Gutmann [20, 19] examines the problem of data remnants in flash, DRAM, SRAM, and EEPROM, and recently, so-called “cold boot” attacks [21] recovered data from powered-down DRAM devices. Theanalysis in these papers suggests that verifying analogsanitization in memories is challenging because there aremany mechanisms that can imprint remnant data on thedevices.The simplest of these is that the voltage level on anerased flash cell’s floating gate may vary depending onthe value it held before the erase command. Multi-levelcell devices (MLC), which store more than one bit perfloating gate, already provide stringent control the voltage in an erased cell, and our conversations with industry[1] suggest that a single erasure may be sufficient. Fordevices that store a single bit per cell (SLC) a single erasure may not suffice. We do not address analog erasurefurther in this work.The quantity of digital remnant data in an SSD can bequite large. The SSDs we tested contain between 6 and25% more physical flash storage than they advertise astheir logical capacity. Figure 1 demonstrates the existence of the remnants in an SSD. We created 1000 smallfiles on an SSD, dismantled the drive, and searched forthe files’ contents. The SSD contained up to 16 stalecopies of some of the files. The FTL created the copiesduring garbage collection and out-of-place updates.Complicating matters further, many drives encryptdata and some appear to compress data as well to improve write performance: one of our drives rumored touse compression is 25% faster for writes of highly compressible data than incompressible data. This adds anadditional level of complexity not present in hard drives.Unless the drive is encrypted, recovering remnant data12108642002004006008001000File numberFigure 1: Multiple copies This graph shows The FTLduplicating files up to 16 times. The graph exhibits aspiking pattern which is probably due to the page-levelmanagement by the FTL.Figure 2: Ming the Merciless Our custom FPGA-basedflash testing hardware provides direct access to flashchips without interference from an FTL.from the flash is not difficult. Figure 2 shows the FPGAbased hardware we built to extract remnants. It cost 1000 to build, but a simpler, microcontroller-based version would cost as little as 200, and would require onlya moderate amount of technical skill to construct.These differences between hard drives and SSDs potentially lead to a dangerous disconnect between userexpectations and the drive’s actual behavior: An SSD’sowner might apply a hard drive-centric sanitization technique under the misguided belief that it will render thedata essentially irrecoverable. In truth, data may remainon the drive and require only moderate sophistication toextract. The next section quantifies this risk by applyingcommonly-used hard drive-oriented techniques to SSDsand attempting to recover the “deleted” data.

88-byte fingerprint512-Byte ATA SectorFingerprint 0(88 bytes)Fingerprint 1(88 bytes)Fingerprint 2(88 bytes)Fingerprint 3(88 bytes)Fingerprint 4Padding(88 bytes)(72 bytes)“Magic” Header (8 bytes)Generation #(8 bytes)LBA(8 bytes)Iteration #(8 bytes)Checksum(4 bytes)GUID(8 bytes)Bit Pattern(44 bytes)Figure 3: Fingerprint structure The easily-identifiedfingerprint simplifies the task of identifying and reconstructing remnant data.3Existing techniquesThis section describes our procedure for testing sanitization techniques and then uses it to determine how wellhard drive sanitization techniques work for SSDs. Weconsider both sanitizing an entire drive at once and selectively sanitizing individual files. Then we briefly discuss our findings in relation to government standards forsanitizing flash media.3.1Validation methodologyOur method for verifying digital sanitization operationsuses the lowest-level digital interface to the data in anSSD: the pins of the individual flash chips.To verify a sanitization operation, we write an identifiable data pattern called a fingerprint (Figure 3) to theSSD and then apply the sanitization technique under test.The fingerprint makes it easy to identify remnant digital data on the flash chips. It includes a sequence number that is unique across all fingerprints, byte patterns tohelp in identifying and reassembling fingerprints, and achecksum. It also includes an identifier that we use toidentify different sets of fingerprints. For instance, allthe fingerprints written as part of one overwrite pass orto a particular file will have the same identifier. Eachfingerprint is 88 bytes long and repeats fives times in a512-byte ATA sector.Once we have applied the fingerprint and sanitized thedrive, we dismantle it. We use the flash testing systemin Figure 2 to extract raw data from its flash chips. Thetesting system uses an FPGA running a Linux softwarestack to provide direct access to the flash chips.Finally, we assemble the fingerprints and analyze themto determine if the sanitization was successful. SSDsvary in how they spread and store data across flash chips:some interleave bytes between chips (e.g., odd bytes onone chip and even bytes on another) and others invertdata before writing. The fingerprint’s regularity makesit easy to identify and reassemble them, despite thesecomplications. Counting the number of fingerprints thatremain and categorizing them by their IDs allows us toSSD#ABCDEFGHIJ?K?L?Ctlr #& -TLC10-MLC11-MLCSECURITYSEC. ERASEERASE UNITUNIT ENHNot SupportedFailed sSuccessNot SupportedNot SupportedNot SupportedNot SupportedNot SupportedNot SupportedNot ot SupportedNot SupportedNot Supported Drive reported success but all data remained on drive†Sanitization only successful under certain conditions‡Drive encrypted, unable to verify if keys were deleted?USB mass storage device does not support ATA security [30]Table 1: Built-in ATA sanitize commands Support forbuilt-in ATA security commands varied among drives,and three of the drives tested did not properly executea sanitize command it reported to support.measure the sanitization’s effectiveness.3.2Whole-drive sanitizationWe evaluate three different techniques for sanitizing anentire SSD: issuing a built-in sanitize command, repeatedly writing over the drive using normal IO operations,and degaussing the drive. Then we briefly discuss leveraging encryption to sanitize SSDs.3.2.1Built-in sanitize commandsMost modern drives have built-in sanitize commands thatinstruct on-board firmware to run a sanitization protocol on the drive. Since the manufacturer has full knowledge of the drive’s design, these techniques should bevery reliable. However, implementing these commandsis optional in the drive specification standards. For instance, removable USB drives do not support them asthey are not supported under the USB Mass Storage Device class [30].The ATA security command set specifies an “ERASEUNIT” command that erases all user-accessible areas onthe drive by writing all binary zeros or ones [3]. There isalso an enhanced “ERASE UNIT ENH” command thatwrites a vendor-defined pattern (presumably because thevendor knows the best pattern to eliminate analog remnants). The new ACS-2 specification [4], which is stillin draft at the time of this writing, specifies a “BLOCKERASE” command that is part of its SANITIZE featureset. It instructs a drive to perform a block erase on allmemory blocks containing user data even if they are notuser-accessible.

We collected 12 different SSDs and determined if theysupported the security and sanitize feature sets. If theSSD supported the command, we verified effectivenessby writing a fingerprint to the entire drive several timesand then issuing the command. Overwriting severaltimes fills as much of the over-provision area as possible with fingerprint data.Support and implementation of the built in commandsvaried across vendors and firmware revisions (Table 1).Of the 12 drives we tested, none supported the ACS-2“SANITIZE BLOCK ERASE” command. This is notsurprising, since the standard is not yet final. Eight of thedrives reported that they supported the ATA SECURITYfeature set. One of these encrypts data, so we could notverify if the sanitization was successful. Of the remaining seven, only four executed the “ERASE UNIT” command reliably.Drive B’s behavior is the most disturbing: it reportedthat sanitization was successful, but all the data remainedintact. In fact, the filesystem was still mountable. Twomore drives suffered a bug that prevented the ERASEUNIT command from working unless the drive firmwarewas recently reset, otherwise the command would onlyerase the first LBA. However, they accurately reportedthat the command failed.The wide variance among the drives leads us to conclude that each implementation of the security commands must be individually tested before it can be trustedto properly sanitize the drive.In addition to the standard commands, several drivemanufacturers also provide special utilities that issuenon-standard erasure commands. We did not test thesecommands, but we expect that results would be similarto those for the ATA commands: most would work correctly but some may be buggy. Regardless, we feel thesenon-standard commands are of limited use: the typicaluser may not know which model of SSD they own, letalone have the wherewithal to download specialized utilities for them. In addition, the usefulness of the utilitydepends on the manufacture keeping it up-to-date andavailable online. Standardized commands should workcorrectly almost indefinitely.3.2.2Overwrite techniquesThe second sanitization method is to use normal IO commands to overwrite each logical block address on thedrive. Repeated software overwrite is at the heart ofmany disk sanitization standards [11, 26, 9, 13, 17, 10]and tools [23, 8, 16, 5]. All of the standards and toolswe have examined use a similar approach: They sequentially overwrite the entire drive with between 1 and 35 bitpatterns. The US Air Force System Instruction 5020 [2]is typical: It first fills the drive with binary zeros, thenbinary ones, and finally an arbitrary character. The dataSSDInit:ABCDFJKLSeq. 20 PassSeq.Rand. 20N/A 1N/A 22222121 hr.?270 hr.?2140 hr.?258 hr.?Rand. 20 PassSeq.Rand.N/A N/A N/A N/A 22N/A N/A 121 hr.?121 hr.?70 hr.?70 hr.?140 hr.?140 hr.?58 hr.?58 hr.? Insufficient drives to perform test? Test took too long to perform, time for single pass indicated.Table 2: Whole-disk software overwrite. The numberin each column indicates the number of passes needed toerase data on the drive. Drives G through I encrypt, sowe could not conclude anything about the success of thetechniques.is then read back to confirm that only the character ispresent.The varied bit patterns aim to switch as many of thephysical bits on the drive as possible and, therefore, makeit more difficult to recover the data via analog means.Bit patterns are potentially important for SSDs as well,but for different reasons. Since some SSDs compressdata before storing, they will write fewer bits to the flashif the data is highly compressible. This suggests thatfor maximum effectiveness, SSD overwrite proceduresshould use random data. However, only one of the driveswe tested (Drive G) appeared to use compression, andsince it also encrypts data we could not verify sanitization.Since our focus is on digital erasure, the bit patternsare not relevant for drives that store unencrypted, uncompressed data. This means we can evaluate overwritetechniques in general by simply overwriting a drive withmany generations of fingerprints, extracting its contents,and counting the number of generations still present onthe drive. If k generations remain, and the first generation is completely erased, then k passes are sufficient toerase the drive.The complexity of SSD FTLs means that the usagehistory before the overwrite passes may impact the effectiveness of the technique. To account for this, we prepared SSDs by writing the first pass of data either sequentially or randomly. Then, we performed 20 sequential overwrites. For the random writes, we wrote everyLBA exactly once, but in a pseudo-random order.Table 2 shows the results for the eight non-encryptingdrives we tested. The numbers indicate how many generations of data were necessary to erase the drive. Forsome drives, random writes were prohibitively slow, taking as long as 121 hours for a single pass, so we do not

perform the random write test on these drives. In mostcases, overwriting the entire disk twice was sufficient tosanitize the disk, regardless of the previous state of thedrive. There were three exceptions: about 1% (1 GB)of the data remained on Drive A after twenty passes. Wealso tested a commercial implementation of the four-pass5220.22-M standard [12] on Drive C. For the sequentialinitialization case, it removed all the data, but with random initialization, a single fingerprint remained. Sinceour testing procedure destroys the drive, we did not perform some test combinations.Overall, the results for overwriting are poor: whileoverwriting appears to be effective in some cases across awide range of drives, it is clearly not universally reliable.It seems unlikely that an individual or organization expending the effort to sanitize a device would be satisfiedwith this level of performance.3.2.3DegaussingWe also evaluated degaussing as a method for erasingSSDs. Degaussing is a fast, effective means of destroying hard drives, since it removes the disks low-level formatting (along with all the data) and damages the drivemotor. The mechanism flash memories use to store datais not magnetism-based, so we did not expect the degausser to erase the flash cells directly. However, thestrong alternating magnetic fields that the degausser produces will induce powerful eddy currents in chip’s metallayers. These currents may damage the chips, leavingthem unreadable.We degaussed individual flash chips written with ourfingerprint rather than entire SSDs. We used seven chips(marked with † in Table 5) that covered SLC, MLC andTLC (triple-level cell) devices across a range of processgeneration feature sizes. The degausser was a Security,Inc. HD-3D hard drive degausser that has been evaluated for the NSA and can thoroughly sanitize modernhard drives. It degaussed the chips by applying a rotating14,000 gauss field co-planar to the chips and an 8,000gauss perpendicular alternating field. In all cases, thedata remained intact.3.2.4EncryptionMany recently-introduced SSDs encrypt data by default,because it provides increased security. It also provides aquick means to sanitize the device, since deleting the encryption key will, in theory, render the data on the driveirretrievable. Drive E takes this approach.The advantage of this approach is that it is very fast:The sanitization command takes less than a second forDrive E. The danger, however, is that it relies on the controller to properly sanitize the internal storage locationthat holds the encryption key and any other derived values that might be useful in cryptanalysis. Given the bugswe found in some implementations of secure erase commands, it is unduly optimistic to assume that SSD vendors will properly sanitize the key store. Further, there isno way verify that erasure has occurred (e.g., by dismantling the drive).A hybrid approach called SAFE [29] can provide bothspeed and verifiability. SAFE sanitizes the key store andthen performs an erase on each block in a flash storagearray. When the erase is finished, the drive enters a “verifiable” state. In this state, it is possible to dismantle thedrive and verify that the erasure portion of the sanitization process was successful.3.3Single-file sanitizationSanitizing single files while leaving the rest of the datain the drive intact is important for maintaining data security in drives that are still in use. For instance, usersmay wish to destroy data such as encryption keys, financial records, or legal documents when they are no longerneeded. Furthermore, for systems such as personal computers and cell phone where the operating system, programs, and user data all reside on the same SSD, sanitizing single files is the only sanitization option that willleave the system in a usable state.Erasing a file is a more delicate operation than erasing the entire drive. It requires erasing data from oneor more ranges of LBAs while leaving the rest of thedrive’s contents untouched. Neither hard disks nor SSDsinclude specialized commands to erase specific regionsof the drive2 .Many software utilities [14, 5, 28, 23] attempt to sanitize individual files. All of them use the same approachas the software-based full-disk erasure tools: they overwrite the file multiple times with multiple bit patterns andthen delete it. Other programs will repeatedly overwritethe free space (i.e., space that the file system has not allocated to a file) on the drive to securely erase any deletedfiles.We test 13 protocols, published as a variety of government standards, as well as commercial software designed to erase single files. To reduce the number ofdrives needed to tests these techniques, we tested multiple techniques simultaneously on one drive. We formatted the drive under windows and filled a series of 1 GBfiles with different fingerprints. We then applied one erasure technique to each file, disassembled the drive, andsearched for the fingerprints.Because we applied multiple techniques to the drive atonce, the techniques may interact: If the first techniqueleaves data behind, a later technique might overwrite it.However, the amount of data we recover from each file2 The ACS-2 draft standard [4] provide a “TRIM” command thatinforms drive that a range of LBAs is no longer in use, but this does nothave any reliable effect on data security.

Overwrite operationFilesystem deleteGutmann [19]Gutmann “Lite” [19]US DoD 5220.22-M (7) [11]RCMP TSSIT OPS-II [26]Schneier 7 Pass [27]German VSITR [9]US DoD 5220.22-M (4) [11]British HMG IS5 (Enh.) [14]US Air Force 5020 [2]US Army AR380-19 [6]Russian GOST P50739-95 [14]British HMG IS5 (Base.) [14]Pseudorandom Data [14]Mac OS X Sec. Erase Trash [5]Data recoveredSSDsUSB4.3 - 91.3%99.4%0.8 - 4.3%71.7%0.02 - 8.7%84.9%0.01 - 4.1%0.0 - 8.9%0.01 - 9.0%0.0 - 23.5%1.7 - 8.0%0.0 - 16.2%5.3 - 5.7%0.0 - 9.3%5.6 - 6.5%0.0 - 11.5%4.3 - 7.6%0.0 - 34.7%5.8 - 7.3%0.0 - 63.5%6.91 - 7.07%1.1%7.07 - 13.86%1.1%6.3 - 58.3%0.6%6.16 - 75.7%1.1%67.0%9.8%Table 3: Single-file overwriting. None of the protocolstested successfully sanitized the SSDs or the USB drivein all cases. The ranges represent multiple experimentswith the same algorithm (see text).DriveC (SSD)CCL (USB key)LLOverwrites100 100 100 defrag.100 100 100 defrag.Free Space20 MB19,800 MB20 MB6 MB500 MB6 MBRecovered87%79%86%64%53%62%Table 4: Free space overwriting Free space overwriting left most of the data on the drive, even with varyingamounts of free space. Defragmenting the data had onlya small effect on the data left over (1%).is a lower bound on amount left after the technique completed. To moderate this effect, we ran the experimentthree times, applying the techniques in different orders.One protocol, described in 1996 by Gutmann [19], includes 35 passes and had a very large effect on measurements for protocols run immediately before it, so wemeasured its effectiveness on its own drive.All single-file overwrite sanitization protocols failed(Table 3): between 4% and 75% of the files’ contentsremained on the SATA SSDs

"secure erase" commands that should sanitize an entire disk. Physical destruction and degaussing are also effec-tive. Flash-based solid-state drives (SSDs) differ from hard drives in both the technology they use to store data (flash chips vs. magnetic disks) and the algorithms they use to manage and access that data. SSDs maintain a layer