The disclosed embodiments relate generally to memory systems, and in particular, to secure erase in a memory device.
Semiconductor memory devices, including flash memory, typically utilize memory cells to store data as an electrical value, such as an electrical charge or voltage. A flash memory cell, for example, includes a single transistor with a floating gate that is used to store a charge representative of a data value. Flash memory is a non-volatile data storage device that can be electrically erased and reprogrammed. More generally, non-volatile memory (e.g., flash memory, as well as other types of non-volatile memory implemented using any of a variety of technologies) retains stored information even when not powered, as opposed to volatile memory, which requires power to maintain the stored information.
In normal operations, as memory components fail, the failed memory components are replaced. In some cases, memory components are replaced on a scheduled maintenance interval. For example, dual in-line memory module (DIMM) devices may be routinely replaced. Traditionally, a DIMM device includes a series of dynamic random-access memory (DRAM) integrated circuits. DRAM is volatile memory since it loses its data quickly when power is removed, so no data remains on traditional DIMM devices when power is removed. However, for memory devices with non-volatile memory, data stored in the non-volatile memory remains stored when the memory devices are removed for service or replacement or in other situations unless measures are taken to erase the data stored in the non-volatile memory. Such measures may be appropriate when data security is desired or required.
Various implementations of systems, methods and devices within the scope of the appended claims each have several aspects, no single one of which is solely responsible for the attributes described herein. Without limiting the scope of the appended claims, after considering this disclosure, and particularly after considering the section entitled “Detailed Description” one will understand how the aspects of various implementations are used to enable secure erase in a memory device. In one aspect, a secure erase operation is performed in accordance with a secure erase trigger.
So that the present disclosure can be understood in greater detail, a more particular description may be had by reference to the features of various implementations, some of which are illustrated in the appended drawings. The appended drawings, however, merely illustrate the more pertinent features of the present disclosure and are therefore not to be considered limiting, for the description may admit to other effective features.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.
The various implementations described herein include systems, methods and/or devices used to enable secure erase in a memory device. Some implementations include systems, methods and/or devices to perform a secure erase operation in accordance with a secure erase trigger.
More specifically, some implementations include a method of erasing data in a memory device. In some implementations, the method includes detecting a secure erase trigger. The method further includes determining a secure erase algorithm from among one or more secure erase algorithms to use in accordance with the detected secure erase trigger. The method further includes performing a secure erase operation in accordance with the selected secure erase algorithm, the secure erase operation including: (1) signaling a secure erase condition to a plurality of controllers on the memory device, (2) erasing one or more non-volatile memory devices on the memory device, (3) monitoring the secure erase operation, and (4) recording data related to the secure erase operation.
In some embodiments, the secure erase trigger includes a secure erase signal from a host system.
In some embodiments, the secure erase signal from the host system is communicated to the memory device through a double data rate (DDR) interface.
In some embodiments, the secure erase signal from the host system is communicated to the memory device through a Serial Presence Detect (SPD) interface.
In some embodiments, the secure erase trigger includes activation of a physical button on the memory device.
In some embodiments, the secure erase trigger is internally generated in the memory device when predefined criteria are satisfied, the predefined criteria including connection of the memory device to a new slot location.
In some embodiments, the secure erase trigger is internally generated in the memory device when predefined criteria are satisfied, the predefined criteria including failure to receive a command to preserve the memory device in a predetermined time period.
In some embodiments, the secure erase trigger is generated by a debug port associated with the memory device, wherein the debug port is password protected.
In some embodiments, the plurality of controllers on the memory device include a storage controller and one or more flash controllers, the one or more flash controllers coupled by the storage controller to a host interface of the memory device.
In some embodiments, the plurality of controllers on the memory device include at least one non-volatile storage controller and at least one other storage controller other than the at least one non-volatile storage controller.
In some embodiments, one of the plurality of controllers on the memory device maps double data rate (DDR) interface commands to serial advance technology attachment (SATA) interface commands.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes putting the memory device into a state that will erase the one or more non-volatile memory devices on the memory device the next time the memory device is powered up.
In some embodiments, performing a secure erase operation further includes preventing continued operation of the memory device by a host system.
In some embodiments, signaling the secure erase condition to the plurality of controllers on the memory device includes separately signaling the secure erase condition to each of the plurality of controllers.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes erasing a subset of flash memory devices associated with a flash controller of the plurality of controllers on the memory device.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes erasing all flash memory devices associated with a flash controller of the plurality of controllers on the memory device.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes erasing all flash memory devices associated with a subset of flash controllers of the plurality of controllers on the memory device.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes erasing all flash memory devices associated with all flash controllers of the plurality of controllers on the memory device.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes erasing the one or more non-volatile memory devices in a predefined sequence.
In some embodiments, the predefined sequence is programmable.
In some embodiments, the method further includes blocking host data from being preserved in response to a data hardening event while performing the secure erase operation. For example, in some embodiments, the method includes, in response to a data hardening event that occurs after initiation but prior to completion of the secure erase operation, saving metadata but not host data for the portions of memory to be erased by the secure erase operation.
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes preserving at least predefined portions of metadata (e.g., usage metrics indicating or corresponding to cumulative usage or remaining endurance, maintained for respective portions (e.g., blocks, superblocks, or other storage units) of the non-volatile memory devices) on the memory device, while host data stored in the one or more non-volatile memory devices on the memory device is erased.
In some embodiments, the method further includes (1) prior to performing the secure erase operation, determining whether a variable is set to prevent the secure erase operation, and (2) in accordance with a determination that the variable is set, preventing performance of the secure erase operation.
In some embodiments, the variable is password protected, thereby preventing modification of the variable's value except in accordance with the provision of a password matching a previously established password.
In some embodiments, the non-volatile memory comprises one or more flash memory devices.
In some embodiments, the memory device includes a dual in-line memory module (DIMM) device.
In another aspect, any of the methods described above are performed by a memory device including (1) an interface for coupling the memory device to a host system, (2) a plurality of controllers (e.g., including a storage controller and one or more flash controllers), and (3) secure erase circuitry including one or more processors, the secure erase circuitry configured to perform or control performance of any of the methods described above.
In yet another aspect, any of the methods described above are performed by a memory device operable to erase data. In some embodiments, the device includes (1) an interface for coupling the memory device to a host system, (2) means for detecting a secure erase trigger, (3) means for determining a secure erase algorithm from among one or more secure erase algorithms to use in accordance with the detected secure erase trigger, and (4) means for performing a secure erase operation in accordance with the selected secure erase algorithm, the means for performing the secure erase operation including: (a) means for signaling a secure erase condition to a plurality of controllers on the memory device, (b) means for erasing one or more non-volatile memory devices on the memory device, (c) means for monitoring the secure erase operation, and (d) means for recording data related to the secure erase operation.
In yet another aspect, a non-transitory computer readable storage medium stores one or more programs for execution by one or more processors of a memory device having a plurality of controllers and secure erase circuitry, the one or more programs including instructions for performing any of the methods described above.
In some embodiments, the non-transitory computer readable storage medium includes a non-transitory computer readable storage medium associated with each of the plurality of controllers on the memory device and a non-transitory computer readable storage medium associated with the secure erase circuitry.
Numerous details are described herein in order to provide a thorough understanding of the example implementations illustrated in the accompanying drawings. However, some embodiments may be practiced without many of the specific details, and the scope of the claims is only limited by those features and aspects specifically recited in the claims. Furthermore, well-known methods, components, and circuits have not been described in exhaustive detail so as not to unnecessarily obscure more pertinent aspects of the implementations described herein.
Computer system 110 is coupled to memory device 120 through data connections 101. However, in some implementations computer system 110 includes memory device 120 as a component and/or sub-system. Computer system 110 may be any suitable computer device, such as a personal computer, a workstation, a computer server, or any other computing device. Computer system 110 is sometimes called a host or host system. In some implementations, computer system 110 includes one or more processors, one or more types of memory, optionally includes a display and/or other user interface components such as a keyboard, a touch screen display, a mouse, a track-pad, a digital camera and/or any number of supplemental devices to add functionality. Further, in some implementations, computer system 110 sends one or more host commands (e.g., read commands and/or write commands) on control line 111 to memory device 120. In some implementations, computer system 110 is a server system, such as a server system in a data center, and does not have a display and other user interface components.
In some implementations, memory device 120 includes NVM devices 140, 142 such as flash memory devices (e.g., NVM devices 140-1 through 140-n and NVM devices 142-1 through 142-k) and NVM controllers 130 such as flash controllers (e.g., NVM controllers 130-1 through 130-m). In some implementations, each NVM controller of NVM controllers 130 includes one or more processing units (also sometimes called CPUs or processors or microprocessors or microcontrollers) configured to execute instructions in one or more programs (e.g., in NVM controllers 130). In some implementations, the one or more processors are shared by one or more components within, and in some cases, beyond the function of NVM controllers 130. NVM devices 140, 142 are coupled to NVM controllers 130 through connections that typically convey commands in addition to data, and optionally convey metadata, error correction information and/or other information in addition to data values to be stored in NVM devices 140, 142 and data values read from NVM devices 140, 142. For example, NVM devices 140, 142 can be configured for enterprise storage suitable for applications such as cloud computing, or for caching data stored (or to be stored) in secondary storage, such as hard disk drives. Additionally and/or alternatively, flash memory (e.g., NVM devices 140, 142) can also be configured for relatively smaller-scale applications such as personal flash drives or hard-disk replacements for personal, laptop and tablet computers. Although flash memory devices and flash controllers are used as an example here, in some embodiments memory device 120 includes other non-volatile memory device(s) and corresponding non-volatile storage controller(s).
In some implementations, memory device 120 also includes host interface 122, SPD device 124, secure erase circuitry 126, and storage controller 128. Memory device 120 may include various additional features that have not been illustrated for the sake of brevity and so as not to obscure more pertinent features of the example implementations disclosed herein, and a different arrangement of features may be possible. Host interface 122 provides an interface to computer system 110 through data connections 101.
In some implementations, secure erase circuitry 126 includes one or more processing units (also sometimes called CPUs or processors or microprocessors or microcontrollers) configured to execute instructions in one or more programs (e.g., in secure erase circuitry 126). In some implementations, the one or more processors and the one or more programs executed by the one or more processors of secure erase circuitry 126 are used to perform functions beyond the function of securely erasing data. Secure erase circuitry 126 is sometimes herein called a supervisory controller or SPD/supervisory controller. Secure erase circuitry 126 is coupled to host interface 122, SPD device 124, storage controller 128, and NVM controllers 130 in order to coordinate the operation of these components, including supervising and controlling functions such as secure erase, data logging, and other aspects of managing functions on memory device 120.
Storage controller 128 is coupled to host interface 122, secure erase circuitry 126, and NVM controllers 130. In some implementations, during a write operation, storage controller 128 receives data from computer system 110 through host interface 122 and during a read operation, storage controller 128 sends data to computer system 110 through host interface 122. Further, host interface 122 provides additional data, signals, voltages, and/or other information needed for communication between storage controller 128 and computer system 110. In some embodiments, storage controller 128 and host interface 122 use a defined interface standard for communication, such as double data rate type three synchronous dynamic random access memory (DDR3). In some embodiments, storage controller 128 and NVM controllers 130 use a defined interface standard for communication, such as serial advance technology attachment (SATA). In some other implementations, the device interface used by storage controller 128 to communicate with NVM controllers 130 is SAS (serial attached SCSI), or other storage interface. In some implementations, storage controller 128 includes one or more processing units (also sometimes called CPUs or processors or microprocessors or microcontrollers) configured to execute instructions in one or more programs (e.g., in storage controller 128). In some implementations, the one or more processors are shared by one or more components within, and in some cases, beyond the function of storage controller 128.
SPD device 124 is coupled to host interface 122 and secure erase circuitry 126. Serial presence detect (SPD) refers to a standardized way to automatically access information about a computer memory module (e.g., memory device 120). For example, information about the type of the device (e.g., where the device type is one of a predefined set of device types), and the storage capacity of the device can be communicated with a host system (e.g., computer system 110) through SPD device 124. In another example, if the memory module has a failure, the failure can be communicated with a host system (e.g., computer system 110) through SPD device 124.
In some embodiments, SPD device 124 is a non-volatile memory device used to store data associated with secure erase circuitry 126. For example, in some embodiments, SPD device 124 stores data that indicates which events can trigger a secure erase operation (e.g., a host command, a change in slot location within a host, etc.), erase sequencing lists (e.g., for use in limited peak power usage), trigger matching codes (e.g., used as a key to allow secure erase operations), and/or other data associated with secure erase circuitry 126. Further, in some embodiments, SPD device 124 is used to record data related to a secure erase operation. For example, in some implementations, SPD device 124 records (1) a timestamp or other time value that indicates or represents the time (e.g., a real time clock value) when a secure erase operation was triggered (or requested or generated) (e.g., Thursday, Oct. 17, 2013, at 12:03:17 AM), (2) current status of the request to perform the secure erase operation, (3) current completion status of the secure erase operation, (4) reason for the secure erase operation (e.g., what type of secure erase trigger was detected), (5) the length of time the secure erase operation took to complete, and/or (6) other information regarding the secure erase operation.
In some embodiments, memory 206, or the computer readable storage medium of memory 206 further stores a configuration module for configuring memory device 120 and secure erase circuitry 126, and/or configuration values (such as one or more predefined sequences for a secure erase operation) for configuring secure erase circuitry 126, neither of which is explicitly shown in
In some embodiments, the secure erase module 214 optionally includes the following modules or sub-modules, or a subset thereof:
In some embodiments, secure erase module 214 does not include an erase module 218, and instead each of the NVM controllers 130 has an erase module (e.g., erase module 414,
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 206 may store a subset of the modules and data structures identified above. Furthermore, memory 206 may store additional modules and data structures not described above. In some embodiments, the programs, modules, and data structures stored in memory 206, or the computer readable storage medium of memory 206, provide instructions for implementing any of the methods described below with reference to
Although
In some embodiments, the secure erase module 312, if provided, includes the following modules or sub-modules, or a subset thereof:
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 306 may store a subset of the modules and data structures identified above. Furthermore, memory 306 may store additional modules and data structures not described above. In some embodiments, the programs, modules, and data structures stored in memory 306, or the computer readable storage medium of memory 306, provide instructions for implementing respective operations in the methods described below with reference to
Although
In some embodiments, the secure erase module 412 optionally includes the following modules or sub-modules, or a subset thereof:
Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 406 may store a subset of the modules and data structures identified above. Furthermore, memory 406 may store additional modules and data structures not described above. In some embodiments, the programs, modules, and data structures stored in memory 406, or the computer readable storage medium of memory 406, provide instructions for implementing respective operations in the methods described below with reference to
Although
A memory device (e.g., memory device 120,
In some embodiments, the secure erase trigger includes (504) a secure erase signal from a host system (e.g., computer system 110,
In some embodiments, the secure erase trigger includes (510) activation of a physical button on the memory device. For example, in some implementations, a user presses a physical button on the memory device (e.g., memory device 120,
In some embodiments, the secure erase trigger is (512) internally generated in the memory device (e.g., memory device 120,
In some embodiments, the secure erase trigger is (514) internally generated in the memory device (e.g., memory device 120,
In some embodiments, the secure erase trigger is (516) generated by a debug port associated with the memory device (e.g., memory device 120,
Next, after the memory device (e.g., memory device 120,
Next, the memory device performs (520) a secure erase operation in accordance with the selected secure erase algorithm. For example, if it was determined in operation 518 to use a first secure erase algorithm in accordance with the detected secure erase trigger, then the memory device performs a secure erase operation in accordance with the first secure erase algorithm. In some implementations, a secure erase module (e.g., secure erase module 214,
First, the secure erase operation includes (520) signaling (522) a secure erase condition to a plurality of controllers on the memory device (e.g., storage controller 128 and NVM controllers 130,
In some embodiments, the plurality of controllers on the memory device include (524) a storage controller (e.g., storage controller 128,
In some embodiments, the plurality of controllers on the memory device include (526) at least one non-volatile storage controller and at least one other controller other than the at least one non-volatile storage controller. In some implementations, the at least one non-volatile storage controller is a flash controller (e.g., NVM controller 130-1,
In some embodiments, one of the plurality of controllers on the memory device maps (528) double data rate (DDR) interface commands to serial advance technology attachment (SATA) interface commands. For example, a storage controller (e.g., storage controller 128,
In some embodiments, signaling (522) the secure erase condition to the plurality of controllers on the memory device includes separately signaling (530) the secure erase condition to each of the plurality of controllers (e.g., storage controller 128, NVM controller 130-1, . . . , NVM controller 130-m,
Next, the secure erase operation includes (520) erasing (532) one or more non-volatile memory devices (e.g., NVM devices 140, 142,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes putting (534) the memory device into a state that will erase the one or more non-volatile memory devices (e.g., NVM devices 140, 142,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes erasing (536) a subset of flash memory devices associated with a flash controller of the plurality of controllers on the memory device (e.g., erasing a subset of NVM devices 140-1 through 140-n associated with NVM controller 130-1). For example, in some embodiments, erasing a subset of flash memory devices associated with a flash controller of the plurality of controllers on the memory device includes erasing two (out of n) flash memory devices (e.g., NVM device 140-1 and NVM device 140-3,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes erasing (538) all flash memory devices associated with a flash controller of the plurality of controllers on the memory device. For example, in some embodiments, erasing all flash memory devices associated with a flash controller of the plurality of controllers on the memory device includes erasing n (out of n) flash memory devices (e.g., NVM device 140-1 through NVM device 140-n,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes erasing (540) all flash memory devices associated with a subset of flash controllers of the plurality of controllers on the memory device. For example, in some embodiments, erasing all flash memory devices associated with a subset of flash controllers of the plurality of controllers (e.g., associated with 2 flash controllers out of m flash controllers) on the memory device includes erasing n (out of n) flash memory devices (e.g., NVM device 140-1 through NVM device 140-n,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes erasing (542) all flash memory devices associated with all flash controllers of the plurality of controllers on the memory device. For example, in some embodiments, erasing all flash memory devices associated with all flash controllers of the plurality of controllers on the memory device includes erasing n (out of n) flash memory devices (e.g., NVM device 140-1 through NVM device 140-n,
In some embodiments, erasing (532) one or more non-volatile memory devices on the memory device includes erasing (544) the one or more non-volatile memory devices in a predefined sequence. In some embodiments, since secure erase functions typically consume more power than regular operations, the erasing is sequenced so a peak power limit is not reached or exceeded. As explained above with respect to operation 530, in some implementations, the one or more non-volatile memory devices are erased sequentially, in parallel, or with a combination of sequential and parallel sequencing. In some implementations, an erase module on secure erase circuitry and/or on one or more controllers (e.g., erase module 218,
In some embodiments, the predefined sequence is (546) programmable. For example, in some implementations, the predefined sequence is programmed to include sequential erasing (e.g., erasing NVM devices associated with NVM controller 130-1, followed by erasing NVM devices associated with NVM controller 130-2, etc.). In some implementations, the predefined sequence is programmed to include parallel erasing (e.g., erasing NVM devices associated with a first NVM controller 130-1 in parallel with erasing NVM devices associated with a second NVM controller 130). In some implementations, the predefined sequence is programmed to include a combination of sequential and parallel sequencing (e.g., erasing NVM devices associated with a first NVM controller 130-1, followed by erasing NVM devices associated with a second NVM controller 130 in parallel with erasing NVM devices associated with a third NVM controller 130).
In some embodiments, the non-volatile memory comprises (548) one or more flash memory devices (e.g., NVM devices 140, 142,
In some embodiments, the memory device is or includes (550) a dual in-line memory module (DIMM) device. In some implementations, the memory device is compatible with a DIMM memory slot. For example, in some implementations, the memory device is compatible with a 240-pin DIMM memory slot and is compatible with signaling in accordance with a DDR3 interface specification.
Next, the secure erase operation includes (520) monitoring (552) the secure erase operation. In some implementations, monitoring the secure erase operation includes monitoring (1) current completion status of the secure erase operation, (2) time spent on the secure erase operation, and/or (3) other information regarding the secure erase operation. In some implementations, a monitor module (e.g., monitor module 220,
The secure erase operation also includes (520) recording (554) data related to the secure erase operation. In some embodiments, data related to the secure erase operation is recorded to non-volatile memory associated with the secure erase circuitry (e.g., SPD device 124 associated with secure erase circuitry 126,
Optionally, the secure erase operation includes (520) preventing (556) continued operation of the memory device by a host system. In some embodiments, for example, if the memory device is powered off during the secure erase operation, after the memory device powers back up, the memory device disallows (e.g., ignores, or does not execute) host commands (e.g., from computer system 110,
Optionally, the memory device blocks (558) host data (e.g., data received from one or more hosts, and associated error correction values) from being preserved (sometimes called “hardened”) in response to data hardening events that occur while performing the secure erase operation. For example, while performing the secure erase operation, the memory device does not allow data hardening events to harden host data (e.g., host data is not transferred from volatile memory to non-volatile memory in response to a power failure). Instead, in some implementations, if the memory device loses power during the secure erase operation, the memory device saves the current secure erase state and device usage and/or endurance metadata for the non-volatile memory devices being erased, and resumes the secure erase operation after the memory device regains power. In some implementations, a prevention module (e.g., prevention module 224,
In some embodiments, erasing one or more non-volatile memory devices on the memory device includes preserving at least predefined portions of metadata (e.g., usage metrics indicating or corresponding to cumulative usage or remaining endurance, maintained for respective portions (e.g., blocks, superblocks, or other storage units) of the non-volatile memory devices) on the memory device, while host data stored in the one or more non-volatile memory devices on the memory device is erased. For further information concerning preserving metadata while erasing data, see U.S. Provisional Patent Application No. 61/911,403, filed Dec. 3, 2013, and U.S. application Ser. No. 14/135,256, filed Dec. 19, 2013, both of which are herein incorporated by reference in their entireties.
Optionally, prior to performing the secure erase operation, the memory device determines (560) whether a variable is set to prevent the secure erase operation. In some embodiments, the variable is stored in non-volatile memory associated with the secure erase circuitry (e.g., in SPD device 124 associated with secure erase circuitry 126,
In some embodiments, the aforementioned variable is password protected (562), thereby preventing modification of the variable's value except in accordance with the provision of a password matching a previously established password. In some implementations, the variable is stored in non-volatile memory and is safeguarded against modification (sometimes called editing) unless a password matching the previously established password is entered. In some embodiments, editing the variable includes setting the variable to prevent the secure erase operation. In some embodiments, editing the variable includes resetting the variable to allow the secure erase operation. In some implementations, the variable is stored as a flag. In some implementations, the variable is stored as a command.
Further, in some implementations, in accordance with a determination that the variable is set, the memory device prevents (564) performance of the secure erase operation. In some embodiments, as long as the variable is set, performance of the secure erase operation is prevented (e.g., secure erase functionality is disabled when the variable is set). In some implementations, a prevention module (e.g., prevention module 224,
In some implementations, with respect to any of the methods described above, the non-volatile memory is a single flash memory device, while in other implementations, the non-volatile memory includes a plurality of flash memory devices.
In some implementations, with respect to any of the methods described above, a memory device includes (1) an interface for coupling the memory device to a host system, (2) a plurality of controllers (e.g., including a storage controller and one or more flash controllers), and (3) secure erase circuitry including one or more processors, the memory device configured to perform or control performance of any of the methods described above.
It will be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, which changing the meaning of the description, so long as all occurrences of the “first contact” are renamed consistently and all occurrences of the second contact are renamed consistently. The first contact and the second contact are both contacts, but they are not the same contact.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the claims to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain principles of operation and practical applications, to thereby enable others skilled in the art.
This application claims priority to U.S. Provisional Patent Application No. 61/897,782, filed Oct. 30, 2013, which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4173737 | Skerlos et al. | Nov 1979 | A |
4888750 | Kryder et al. | Dec 1989 | A |
4916652 | Schwarz et al. | Apr 1990 | A |
5129089 | Nielsen | Jul 1992 | A |
5270979 | Harari et al. | Dec 1993 | A |
5329491 | Brown et al. | Jul 1994 | A |
5381528 | Brunelle | Jan 1995 | A |
5404485 | Ban | Apr 1995 | A |
5519847 | Fandrich et al. | May 1996 | A |
5530705 | Malone, Sr. | Jun 1996 | A |
5537555 | Landry et al. | Jul 1996 | A |
5551003 | Mattson et al. | Aug 1996 | A |
5636342 | Jeffries | Jun 1997 | A |
5657332 | Auclair et al. | Aug 1997 | A |
5666114 | Brodie et al. | Sep 1997 | A |
5708849 | Coke et al. | Jan 1998 | A |
5765185 | Lambrache et al. | Jun 1998 | A |
5890193 | Chevallier | Mar 1999 | A |
5936884 | Hasbun et al. | Aug 1999 | A |
5943692 | Marberg et al. | Aug 1999 | A |
5946714 | Miyauchi | Aug 1999 | A |
5982664 | Watanabe | Nov 1999 | A |
6000006 | Bruce et al. | Dec 1999 | A |
6006345 | Berry, Jr. | Dec 1999 | A |
6016560 | Wada et al. | Jan 2000 | A |
6018304 | Bessios | Jan 2000 | A |
6044472 | Crohas | Mar 2000 | A |
6070074 | Perahia et al. | May 2000 | A |
6119250 | Nishimura et al. | Sep 2000 | A |
6138261 | Wilcoxson et al. | Oct 2000 | A |
6182264 | Ott | Jan 2001 | B1 |
6192092 | Dizon et al. | Feb 2001 | B1 |
6260120 | Blumenau et al. | Jul 2001 | B1 |
6295592 | Jeddeloh | Sep 2001 | B1 |
6311263 | Barlow et al. | Oct 2001 | B1 |
6408394 | Vander Kamp et al. | Jun 2002 | B1 |
6412042 | Paterson et al. | Jun 2002 | B1 |
6442076 | Roohparvar | Aug 2002 | B1 |
6449625 | Wang | Sep 2002 | B1 |
6484224 | Robins et al. | Nov 2002 | B1 |
6516437 | Van Stralen et al. | Feb 2003 | B1 |
6564285 | Mills et al. | May 2003 | B1 |
6647387 | McKean et al. | Nov 2003 | B1 |
6678788 | O'Connell | Jan 2004 | B1 |
6757768 | Potter et al. | Jun 2004 | B1 |
6775792 | Ulrich et al. | Aug 2004 | B2 |
6810440 | Micalizzi, Jr. et al. | Oct 2004 | B2 |
6836808 | Bunce et al. | Dec 2004 | B2 |
6836815 | Purcell et al. | Dec 2004 | B1 |
6842436 | Moeller | Jan 2005 | B2 |
6865650 | Morley et al. | Mar 2005 | B1 |
6871257 | Conley et al. | Mar 2005 | B2 |
6895464 | Chow et al. | May 2005 | B2 |
6966006 | Pacheco et al. | Nov 2005 | B2 |
6978343 | Ichiriu | Dec 2005 | B1 |
6980985 | Amer-Yahia et al. | Dec 2005 | B1 |
6981205 | Fukushima et al. | Dec 2005 | B2 |
6988171 | Beardsley et al. | Jan 2006 | B2 |
7020017 | Chen et al. | Mar 2006 | B2 |
7024514 | Mukaida et al. | Apr 2006 | B2 |
7028165 | Roth et al. | Apr 2006 | B2 |
7032123 | Kane et al. | Apr 2006 | B2 |
7043505 | Teague et al. | May 2006 | B1 |
7076598 | Wang | Jul 2006 | B2 |
7100002 | Shrader | Aug 2006 | B2 |
7102860 | Wenzel | Sep 2006 | B2 |
7111293 | Hersh et al. | Sep 2006 | B1 |
7126873 | See et al. | Oct 2006 | B2 |
7133282 | Sone | Nov 2006 | B2 |
7155579 | Neils et al. | Dec 2006 | B1 |
7162678 | Saliba | Jan 2007 | B2 |
7173852 | Gorobets et al. | Feb 2007 | B2 |
7184446 | Rashid et al. | Feb 2007 | B2 |
7212440 | Gorobets | May 2007 | B2 |
7275170 | Suzuki | Sep 2007 | B2 |
7295479 | Yoon et al. | Nov 2007 | B2 |
7328377 | Lewis et al. | Feb 2008 | B1 |
7516292 | Kimura et al. | Apr 2009 | B2 |
7523157 | Aguilar, Jr. et al. | Apr 2009 | B2 |
7527466 | Simmons | May 2009 | B2 |
7529466 | Takahashi | May 2009 | B2 |
7533214 | Aasheim et al. | May 2009 | B2 |
7546478 | Kubo et al. | Jun 2009 | B2 |
7566987 | Black et al. | Jul 2009 | B2 |
7571277 | Mizushima | Aug 2009 | B2 |
7574554 | Tanaka et al. | Aug 2009 | B2 |
7596643 | Merry, Jr. et al. | Sep 2009 | B2 |
7669003 | Sinclair et al. | Feb 2010 | B2 |
7681106 | Jarrar et al. | Mar 2010 | B2 |
7685494 | Varnica et al. | Mar 2010 | B1 |
7707481 | Kirschner et al. | Apr 2010 | B2 |
7761655 | Mizushima et al. | Jul 2010 | B2 |
7765454 | Passint | Jul 2010 | B2 |
7774390 | Shin | Aug 2010 | B2 |
7840762 | Oh et al. | Nov 2010 | B2 |
7870326 | Shin et al. | Jan 2011 | B2 |
7890818 | Kong et al. | Feb 2011 | B2 |
7913022 | Baxter | Mar 2011 | B1 |
7925960 | Ho et al. | Apr 2011 | B2 |
7934052 | Prins et al. | Apr 2011 | B2 |
7945825 | Cohen et al. | May 2011 | B2 |
7954041 | Hong et al. | May 2011 | B2 |
7971112 | Murata | Jun 2011 | B2 |
7974368 | Shieh et al. | Jul 2011 | B2 |
7978516 | Olbrich et al. | Jul 2011 | B2 |
7996642 | Smith | Aug 2011 | B1 |
8006161 | Lestable et al. | Aug 2011 | B2 |
8032724 | Smith | Oct 2011 | B1 |
8041884 | Chang | Oct 2011 | B2 |
8042011 | Nicolaidis et al. | Oct 2011 | B2 |
8069390 | Lin | Nov 2011 | B2 |
8190967 | Hong et al. | May 2012 | B2 |
8250380 | Guyot et al. | Aug 2012 | B2 |
8254181 | Hwang et al. | Aug 2012 | B2 |
8259506 | Sommer et al. | Sep 2012 | B1 |
8312349 | Reche et al. | Nov 2012 | B2 |
8412985 | Bowers et al. | Apr 2013 | B1 |
8429436 | Fillingim et al. | Apr 2013 | B2 |
8438459 | Cho et al. | May 2013 | B2 |
8453022 | Katz | May 2013 | B2 |
8627117 | Johnston | Jan 2014 | B2 |
8634248 | Sprouse et al. | Jan 2014 | B1 |
8694854 | Dar et al. | Apr 2014 | B1 |
8724789 | Altberg et al. | May 2014 | B2 |
8832384 | de la Iglesia | Sep 2014 | B1 |
8885434 | Kumar | Nov 2014 | B2 |
8898373 | Kang et al. | Nov 2014 | B1 |
8909894 | Singh et al. | Dec 2014 | B1 |
8910030 | Goel | Dec 2014 | B2 |
8923066 | Subramanian et al. | Dec 2014 | B1 |
9043517 | Sprouse et al. | May 2015 | B1 |
9128690 | Lotzenburger et al. | Sep 2015 | B2 |
20010050824 | Buch | Dec 2001 | A1 |
20020024846 | Kawahara et al. | Feb 2002 | A1 |
20020036515 | Eldridge et al. | Mar 2002 | A1 |
20020083299 | Van Huben et al. | Jun 2002 | A1 |
20020099904 | Conley | Jul 2002 | A1 |
20020116651 | Beckert et al. | Aug 2002 | A1 |
20020122334 | Lee et al. | Sep 2002 | A1 |
20020152305 | Jackson et al. | Oct 2002 | A1 |
20020162075 | Talagala et al. | Oct 2002 | A1 |
20020165896 | Kim | Nov 2002 | A1 |
20030041299 | Kanazawa et al. | Feb 2003 | A1 |
20030043829 | Rashid et al. | Mar 2003 | A1 |
20030079172 | Yamagishi et al. | Apr 2003 | A1 |
20030088805 | Majni et al. | May 2003 | A1 |
20030093628 | Matter et al. | May 2003 | A1 |
20030163594 | Aasheim et al. | Aug 2003 | A1 |
20030163629 | Conley et al. | Aug 2003 | A1 |
20030188045 | Jacobson | Oct 2003 | A1 |
20030189856 | Cho et al. | Oct 2003 | A1 |
20030198100 | Matsushita et al. | Oct 2003 | A1 |
20030204341 | Guliani et al. | Oct 2003 | A1 |
20030212719 | Yasuda et al. | Nov 2003 | A1 |
20030225961 | Chow et al. | Dec 2003 | A1 |
20040024957 | Lin et al. | Feb 2004 | A1 |
20040024963 | Talagala et al. | Feb 2004 | A1 |
20040057575 | Zhang et al. | Mar 2004 | A1 |
20040062157 | Kawabe | Apr 2004 | A1 |
20040073829 | Olarig | Apr 2004 | A1 |
20040085849 | Myoung et al. | May 2004 | A1 |
20040114265 | Talbert | Jun 2004 | A1 |
20040143710 | Walmsley | Jul 2004 | A1 |
20040148561 | Shen et al. | Jul 2004 | A1 |
20040153902 | Machado et al. | Aug 2004 | A1 |
20040167898 | Margolus et al. | Aug 2004 | A1 |
20040181734 | Saliba | Sep 2004 | A1 |
20040199714 | Estakhri et al. | Oct 2004 | A1 |
20040210706 | In et al. | Oct 2004 | A1 |
20040237018 | Riley | Nov 2004 | A1 |
20050060456 | Shrader et al. | Mar 2005 | A1 |
20050060501 | Shrader | Mar 2005 | A1 |
20050073884 | Gonzalez et al. | Apr 2005 | A1 |
20050108588 | Yuan | May 2005 | A1 |
20050114587 | Chou et al. | May 2005 | A1 |
20050138442 | Keller, Jr. et al. | Jun 2005 | A1 |
20050144358 | Conley et al. | Jun 2005 | A1 |
20050144361 | Gonzalez et al. | Jun 2005 | A1 |
20050144367 | Sinclair | Jun 2005 | A1 |
20050144516 | Gonzalez et al. | Jun 2005 | A1 |
20050154825 | Fair | Jul 2005 | A1 |
20050172065 | Keays | Aug 2005 | A1 |
20050172207 | Radke et al. | Aug 2005 | A1 |
20050193161 | Lee et al. | Sep 2005 | A1 |
20050201148 | Chen et al. | Sep 2005 | A1 |
20050231765 | So et al. | Oct 2005 | A1 |
20050249013 | Janzen et al. | Nov 2005 | A1 |
20050251617 | Sinclair et al. | Nov 2005 | A1 |
20050257120 | Gorobets et al. | Nov 2005 | A1 |
20050273560 | Hulbert et al. | Dec 2005 | A1 |
20050281088 | Ishidoshiro et al. | Dec 2005 | A1 |
20050289314 | Adusumilli et al. | Dec 2005 | A1 |
20060010174 | Nguyen et al. | Jan 2006 | A1 |
20060039196 | Gorobets et al. | Feb 2006 | A1 |
20060039227 | Lai et al. | Feb 2006 | A1 |
20060053246 | Lee | Mar 2006 | A1 |
20060069932 | Oshikawa et al. | Mar 2006 | A1 |
20060085671 | Majni et al. | Apr 2006 | A1 |
20060087893 | Nishihara et al. | Apr 2006 | A1 |
20060103480 | Moon et al. | May 2006 | A1 |
20060107181 | Dave et al. | May 2006 | A1 |
20060136570 | Pandya | Jun 2006 | A1 |
20060136655 | Gorobets et al. | Jun 2006 | A1 |
20060136681 | Jain et al. | Jun 2006 | A1 |
20060156177 | Kottapalli et al. | Jul 2006 | A1 |
20060195650 | Su et al. | Aug 2006 | A1 |
20060244049 | Yaoi et al. | Nov 2006 | A1 |
20060259528 | Dussud et al. | Nov 2006 | A1 |
20060291301 | Ziegelmayer | Dec 2006 | A1 |
20070011413 | Nonaka et al. | Jan 2007 | A1 |
20070058446 | Hwang et al. | Mar 2007 | A1 |
20070061597 | Holtzman et al. | Mar 2007 | A1 |
20070076479 | Kim et al. | Apr 2007 | A1 |
20070081408 | Kwon et al. | Apr 2007 | A1 |
20070083697 | Birrell et al. | Apr 2007 | A1 |
20070088716 | Brumme et al. | Apr 2007 | A1 |
20070091677 | Lasser et al. | Apr 2007 | A1 |
20070101096 | Gorobets | May 2007 | A1 |
20070113019 | Beukema et al. | May 2007 | A1 |
20070133312 | Roohparvar | Jun 2007 | A1 |
20070147113 | Mokhlesi et al. | Jun 2007 | A1 |
20070150790 | Gross et al. | Jun 2007 | A1 |
20070156842 | Vermeulen et al. | Jul 2007 | A1 |
20070157064 | Falik et al. | Jul 2007 | A1 |
20070174579 | Shin | Jul 2007 | A1 |
20070180188 | Fujibayashi et al. | Aug 2007 | A1 |
20070180346 | Murin | Aug 2007 | A1 |
20070191993 | Wyatt | Aug 2007 | A1 |
20070201274 | Yu et al. | Aug 2007 | A1 |
20070204128 | Lee et al. | Aug 2007 | A1 |
20070208901 | Purcell et al. | Sep 2007 | A1 |
20070234143 | Kim | Oct 2007 | A1 |
20070245061 | Harriman | Oct 2007 | A1 |
20070245099 | Gray et al. | Oct 2007 | A1 |
20070263442 | Cornwall et al. | Nov 2007 | A1 |
20070268754 | Lee et al. | Nov 2007 | A1 |
20070277036 | Chamberlain et al. | Nov 2007 | A1 |
20070279988 | Nguyen | Dec 2007 | A1 |
20070291556 | Kamei | Dec 2007 | A1 |
20070294496 | Goss et al. | Dec 2007 | A1 |
20070300130 | Gorobets | Dec 2007 | A1 |
20080013390 | Zipprich-Rasch | Jan 2008 | A1 |
20080019182 | Yanagidaira et al. | Jan 2008 | A1 |
20080022163 | Tanaka et al. | Jan 2008 | A1 |
20080028275 | Chen et al. | Jan 2008 | A1 |
20080043871 | Latouche et al. | Feb 2008 | A1 |
20080052446 | Lasser et al. | Feb 2008 | A1 |
20080052451 | Pua et al. | Feb 2008 | A1 |
20080056005 | Aritome | Mar 2008 | A1 |
20080059602 | Matsuda et al. | Mar 2008 | A1 |
20080071971 | Kim et al. | Mar 2008 | A1 |
20080077841 | Gonzalez et al. | Mar 2008 | A1 |
20080077937 | Shin et al. | Mar 2008 | A1 |
20080086677 | Yang et al. | Apr 2008 | A1 |
20080112226 | Mokhlesi | May 2008 | A1 |
20080141043 | Flynn et al. | Jun 2008 | A1 |
20080144371 | Yeh et al. | Jun 2008 | A1 |
20080147714 | Breternitz et al. | Jun 2008 | A1 |
20080147964 | Chow et al. | Jun 2008 | A1 |
20080147998 | Jeong | Jun 2008 | A1 |
20080148124 | Zhang et al. | Jun 2008 | A1 |
20080163030 | Lee | Jul 2008 | A1 |
20080168191 | Biran et al. | Jul 2008 | A1 |
20080168319 | Lee et al. | Jul 2008 | A1 |
20080170460 | Oh et al. | Jul 2008 | A1 |
20080229000 | Kim | Sep 2008 | A1 |
20080229003 | Mizushima et al. | Sep 2008 | A1 |
20080229176 | Arnez et al. | Sep 2008 | A1 |
20080270680 | Chang | Oct 2008 | A1 |
20080282128 | Lee et al. | Nov 2008 | A1 |
20080285351 | Shlick et al. | Nov 2008 | A1 |
20080313132 | Hao et al. | Dec 2008 | A1 |
20090003058 | Kang | Jan 2009 | A1 |
20090019216 | Yamada et al. | Jan 2009 | A1 |
20090031083 | Willis et al. | Jan 2009 | A1 |
20090037652 | Yu et al. | Feb 2009 | A1 |
20090070608 | Kobayashi | Mar 2009 | A1 |
20090116283 | Ha et al. | May 2009 | A1 |
20090125671 | Flynn et al. | May 2009 | A1 |
20090144598 | Yoon et al. | Jun 2009 | A1 |
20090168525 | Olbrich et al. | Jul 2009 | A1 |
20090172258 | Olbrich et al. | Jul 2009 | A1 |
20090172259 | Prins et al. | Jul 2009 | A1 |
20090172260 | Olbrich et al. | Jul 2009 | A1 |
20090172261 | Prins et al. | Jul 2009 | A1 |
20090172262 | Olbrich et al. | Jul 2009 | A1 |
20090172308 | Prins et al. | Jul 2009 | A1 |
20090172335 | Kulkarni et al. | Jul 2009 | A1 |
20090172499 | Olbrich et al. | Jul 2009 | A1 |
20090193058 | Reid | Jul 2009 | A1 |
20090204823 | Giordano et al. | Aug 2009 | A1 |
20090207660 | Hwang et al. | Aug 2009 | A1 |
20090213649 | Takahashi et al. | Aug 2009 | A1 |
20090222708 | Yamaga | Sep 2009 | A1 |
20090228761 | Perlmutter et al. | Sep 2009 | A1 |
20090249160 | Gao et al. | Oct 2009 | A1 |
20090268521 | Ueno et al. | Oct 2009 | A1 |
20090292972 | Seol et al. | Nov 2009 | A1 |
20090296466 | Kim et al. | Dec 2009 | A1 |
20090296486 | Kim et al. | Dec 2009 | A1 |
20090310422 | Edahiro et al. | Dec 2009 | A1 |
20090319864 | Shrader | Dec 2009 | A1 |
20100002506 | Cho et al. | Jan 2010 | A1 |
20100008175 | Sweere et al. | Jan 2010 | A1 |
20100011261 | Cagno et al. | Jan 2010 | A1 |
20100020620 | Kim et al. | Jan 2010 | A1 |
20100037012 | Yano et al. | Feb 2010 | A1 |
20100061151 | Miwa et al. | Mar 2010 | A1 |
20100091535 | Sommer et al. | Apr 2010 | A1 |
20100103737 | Park | Apr 2010 | A1 |
20100110798 | Hoei et al. | May 2010 | A1 |
20100115206 | de la Iglesia et al. | May 2010 | A1 |
20100118608 | Song et al. | May 2010 | A1 |
20100138592 | Cheon | Jun 2010 | A1 |
20100153616 | Garratt | Jun 2010 | A1 |
20100161936 | Royer et al. | Jun 2010 | A1 |
20100174959 | No et al. | Jul 2010 | A1 |
20100199027 | Pucheral et al. | Aug 2010 | A1 |
20100199125 | Reche | Aug 2010 | A1 |
20100199138 | Rho | Aug 2010 | A1 |
20100202196 | Lee et al. | Aug 2010 | A1 |
20100202239 | Moshayedi et al. | Aug 2010 | A1 |
20100208521 | Kim et al. | Aug 2010 | A1 |
20100262889 | Bains | Oct 2010 | A1 |
20100281207 | Miller et al. | Nov 2010 | A1 |
20100281342 | Chang et al. | Nov 2010 | A1 |
20100306222 | Freedman et al. | Dec 2010 | A1 |
20100332858 | Trantham et al. | Dec 2010 | A1 |
20110010514 | Benhase et al. | Jan 2011 | A1 |
20110022819 | Post et al. | Jan 2011 | A1 |
20110051513 | Shen et al. | Mar 2011 | A1 |
20110066597 | Mashtizadeh et al. | Mar 2011 | A1 |
20110066806 | Chhugani et al. | Mar 2011 | A1 |
20110072302 | Sartore | Mar 2011 | A1 |
20110078407 | Lewis | Mar 2011 | A1 |
20110083060 | Sakurada et al. | Apr 2011 | A1 |
20110099460 | Dusija et al. | Apr 2011 | A1 |
20110113281 | Zhang et al. | May 2011 | A1 |
20110122691 | Sprouse | May 2011 | A1 |
20110131444 | Buch et al. | Jun 2011 | A1 |
20110138260 | Savin | Jun 2011 | A1 |
20110173378 | Filor et al. | Jul 2011 | A1 |
20110179249 | Hsiao | Jul 2011 | A1 |
20110199825 | Han et al. | Aug 2011 | A1 |
20110205823 | Hemink et al. | Aug 2011 | A1 |
20110213920 | Frost et al. | Sep 2011 | A1 |
20110222342 | Yoon et al. | Sep 2011 | A1 |
20110225346 | Goss et al. | Sep 2011 | A1 |
20110228601 | Olbrich et al. | Sep 2011 | A1 |
20110231600 | Tanaka et al. | Sep 2011 | A1 |
20110239077 | Bai et al. | Sep 2011 | A1 |
20110264843 | Haines et al. | Oct 2011 | A1 |
20110271040 | Kamizono | Nov 2011 | A1 |
20110283119 | Szu et al. | Nov 2011 | A1 |
20110289125 | Guthery | Nov 2011 | A1 |
20110320733 | Sanford et al. | Dec 2011 | A1 |
20120011393 | Roberts et al. | Jan 2012 | A1 |
20120017053 | Yang et al. | Jan 2012 | A1 |
20120023144 | Rub | Jan 2012 | A1 |
20120054414 | Tsai et al. | Mar 2012 | A1 |
20120063234 | Shiga et al. | Mar 2012 | A1 |
20120072639 | Goss et al. | Mar 2012 | A1 |
20120096217 | Son et al. | Apr 2012 | A1 |
20120110250 | Sabbag et al. | May 2012 | A1 |
20120117317 | Sheffler | May 2012 | A1 |
20120117397 | Kolvick et al. | May 2012 | A1 |
20120131286 | Faith et al. | May 2012 | A1 |
20120151124 | Baek et al. | Jun 2012 | A1 |
20120151253 | Horn | Jun 2012 | A1 |
20120151294 | Yoo et al. | Jun 2012 | A1 |
20120173797 | Shen | Jul 2012 | A1 |
20120173826 | Takaku | Jul 2012 | A1 |
20120185750 | Hayami | Jul 2012 | A1 |
20120195126 | Roohparvar | Aug 2012 | A1 |
20120203951 | Wood et al. | Aug 2012 | A1 |
20120210095 | Nellans et al. | Aug 2012 | A1 |
20120216079 | Fai et al. | Aug 2012 | A1 |
20120233391 | Frost et al. | Sep 2012 | A1 |
20120236658 | Byom et al. | Sep 2012 | A1 |
20120239858 | Melik-Martirosian | Sep 2012 | A1 |
20120239868 | Ryan et al. | Sep 2012 | A1 |
20120239976 | Cometti et al. | Sep 2012 | A1 |
20120259863 | Bodwin et al. | Oct 2012 | A1 |
20120275466 | Bhadra et al. | Nov 2012 | A1 |
20120278564 | Goss | Nov 2012 | A1 |
20120284574 | Avila et al. | Nov 2012 | A1 |
20120284587 | Yu et al. | Nov 2012 | A1 |
20130007073 | Varma | Jan 2013 | A1 |
20130007343 | Rub et al. | Jan 2013 | A1 |
20130007543 | Goss et al. | Jan 2013 | A1 |
20130024735 | Chung et al. | Jan 2013 | A1 |
20130031438 | Hu et al. | Jan 2013 | A1 |
20130036418 | Yadappanavar et al. | Feb 2013 | A1 |
20130038380 | Cordero et al. | Feb 2013 | A1 |
20130047045 | Hu et al. | Feb 2013 | A1 |
20130070527 | Sabbag et al. | Mar 2013 | A1 |
20130073924 | D'Abreu et al. | Mar 2013 | A1 |
20130079942 | Smola et al. | Mar 2013 | A1 |
20130086131 | Hunt et al. | Apr 2013 | A1 |
20130086132 | Hunt et al. | Apr 2013 | A1 |
20130094288 | Patapoutian et al. | Apr 2013 | A1 |
20130111279 | Jeon et al. | May 2013 | A1 |
20130111298 | Seroff et al. | May 2013 | A1 |
20130117606 | Anholt et al. | May 2013 | A1 |
20130121084 | Jeon et al. | May 2013 | A1 |
20130124792 | Melik-Martirosian et al. | May 2013 | A1 |
20130124888 | Tanaka et al. | May 2013 | A1 |
20130128666 | Avila et al. | May 2013 | A1 |
20130132652 | Wood et al. | May 2013 | A1 |
20130176784 | Cometti et al. | Jul 2013 | A1 |
20130179646 | Okubo et al. | Jul 2013 | A1 |
20130191601 | Peterson et al. | Jul 2013 | A1 |
20130194865 | Bandic et al. | Aug 2013 | A1 |
20130194874 | Mu et al. | Aug 2013 | A1 |
20130232289 | Zhong et al. | Sep 2013 | A1 |
20130238576 | Binkert et al. | Sep 2013 | A1 |
20130254507 | Islam | Sep 2013 | A1 |
20130258738 | Barkon et al. | Oct 2013 | A1 |
20130265838 | Li | Oct 2013 | A1 |
20130282955 | Parker et al. | Oct 2013 | A1 |
20130290611 | Biederman et al. | Oct 2013 | A1 |
20130297613 | Yu | Nov 2013 | A1 |
20130301373 | Tam | Nov 2013 | A1 |
20130304980 | Nachimuthu | Nov 2013 | A1 |
20130343131 | Wu et al. | Dec 2013 | A1 |
20130346672 | Sengupta et al. | Dec 2013 | A1 |
20140013188 | Wu et al. | Jan 2014 | A1 |
20140032890 | Lee et al. | Jan 2014 | A1 |
20140063905 | Ahn et al. | Mar 2014 | A1 |
20140075133 | Li et al. | Mar 2014 | A1 |
20140082261 | Cohen et al. | Mar 2014 | A1 |
20140082310 | Nakajima | Mar 2014 | A1 |
20140082459 | Li et al. | Mar 2014 | A1 |
20140095775 | Talagala et al. | Apr 2014 | A1 |
20140101389 | Nellans et al. | Apr 2014 | A1 |
20140122818 | Hayasaka et al. | May 2014 | A1 |
20140122907 | Johnston | May 2014 | A1 |
20140136762 | Li et al. | May 2014 | A1 |
20140136883 | Cohen | May 2014 | A1 |
20140136927 | Li et al. | May 2014 | A1 |
20140143505 | Sim et al. | May 2014 | A1 |
20140181458 | Loh et al. | Jun 2014 | A1 |
20140201596 | Baum et al. | Jul 2014 | A1 |
20140223084 | Lee et al. | Aug 2014 | A1 |
20140258755 | Stenfort | Sep 2014 | A1 |
20140269090 | Flynn et al. | Sep 2014 | A1 |
20140310494 | Higgins et al. | Oct 2014 | A1 |
20140359381 | Takeuchi et al. | Dec 2014 | A1 |
20150023097 | Khoueir et al. | Jan 2015 | A1 |
20150037624 | Thompson et al. | Feb 2015 | A1 |
20150153799 | Lucas et al. | Jun 2015 | A1 |
20150153802 | Lucas et al. | Jun 2015 | A1 |
20150212943 | Yang et al. | Jul 2015 | A1 |
Number | Date | Country |
---|---|---|
1 299 800 | Apr 2003 | EP |
1465203 | Oct 2004 | EP |
1 990 921 | Nov 2008 | EP |
2 386 958 | Nov 2011 | EP |
2 620 946 | Jul 2013 | EP |
2002-532806 | Oct 2002 | JP |
WO 2007036834 | Apr 2007 | WO |
WO 2007080586 | Jul 2007 | WO |
WO 2008075292 | Jun 2008 | WO |
WO 2008121553 | Oct 2008 | WO |
WO 2008121577 | Oct 2008 | WO |
WO 2009028281 | Mar 2009 | WO |
WO 2009032945 | Mar 2009 | WO |
WO 2009058140 | May 2009 | WO |
WO 2009084724 | Jul 2009 | WO |
WO 2009134576 | Nov 2009 | WO |
WO 2011024015 | Mar 2011 | WO |
Entry |
---|
A. Ashkenazi; Platform independent overall security architecture in multi-processor system-on-chip integrated circuits for use in mobile phones and handheld devices; Science Direct; Year: 2007; p. 407-425. |
International Search Report and Written Opinion dated Jul. 25, 2014 received in International Patent Application No. PCT/US2014/029453, which corresponds to U.S. Appl. No. 13/963,444, 9 pages (Frayer). |
International Search Report and Written Opinion dated Mar. 7, 2014, received in International Patent Application No. PCT/US2013/074772, which corresponds to U.S. Appl. No. 13/831,218, 10 pages (George). |
Interntional Search Report and Written Opinion dated March 24, 2014, received in International Patent Appiication No. PCT/US2013/074777, which corresponds to U.S. Appl. No. 13/831,308, 10 pages (George). |
International Search Report and Written Opinion dated Mar. 7, 2014, received in International Patent Application No PCT/US2013/074779, which corresponds to U.S. Appl. No. 13/831,374, 8 pages (George). |
Barr, Introduction to Watchdog Timers, Oct. 2001, 3 pgs. |
Canim, Buffered Bloom ilters on Solid State Storage, ADMS*10, Singapore, Sep. 13-17, 2010, 8 pgs. |
Kang, A Multi-Channel Architecture for High-Performance NAND Flash-Based Storage System, J. Syst. Archit., 53, 9, Sep. 2007, 15 pgs. |
Kim, A Space-Efficient Flash Translation Layer for CompactFlash Systems, May 2002, 10 pgs. |
Lu, A Forest-structured Bloom Filter with Flash Memory, MSST 2011, Denver, CO, May 23-27, 2011, article, 6 pgs. |
Lu, A Forest-structured Bloom Filter with Flash Memory, MSST 2011, Denver, CO, May 23-27, 2011, presentation slides, 25 pgs. |
McLean, Information Technology-AT Attachment with Packet Interface Extension, Aug. 19, 1998, 339 pgs. |
Park, A High Performance Controller for NAND Flash-Based Solid State Disk (NSSD), Feb. 12-16, 2006, 4 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88133, Mar. 19, 2009, 7 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88136, Mar. 19, 2009, 7 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88146, Feb. 26, 2009, 10 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88154, Feb. 27, 2009, 8 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88164, Feb. 13, 2009, 6 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88206, Feb. 18, 2009, 8 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88217, Feb. 19, 2009, 7 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88229, Feb. 13, 2009, 7 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88232, Feb. 19, 2009, 8 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US08/88236, Feb. 19, 2009, 7 pgs. |
Pliant Technology, International Search Report / Written Opinion, PCT/US2011/028637, Oct. 27, 2011, 11 pgs. |
Pliant Technology, Supplementary ESR, 08866997.3, Feb. 23, 2012, 6 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/042764, Aug. 31, 2012, 12 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/042771, Mar. 4, 2013, 14 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/042775, Sep. 26, 2012, 8 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/059447, Jun. 6, 2013, 12 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/U52012/059453, Jun. 6, 2013, 12 pgs. |
Sandisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/059459, Feb. 14, 2013, 9 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/065914, May 23, 2013, 7 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/065916, Apr. 5, 2013, 7 pgs. |
SanDisk Enterprise IP LLC, International Search Report / Written Opinion, PCT/US2012/065919, Jun. 17, 2013, 8 pgs. |
SanDisk Enterprise IP LLC, Notification of the Decision to Grant a Patent Right for Patent for Invention, CN 200880127623.8, Jul. 4, 2013, 1 pg. |
SanDisk Enterprise IP LLC, Office Action, CN 200880127623.8, Apr. 18, 2012, 12 pgs. |
SanDisk Enterprise IP LLC, Office Action, CN 200880127623.8, Dec. 31, 2012, 9 pgs. |
SanDisk Enterprise IP LLC, Office Action, JP 2010-540863, Jul. 24, 2012, 3 pgs. |
Watchdog Timer and Power Savin Modes, Microchip Technology Inc., 2005, 14 pgs. |
Zeidman, 1999 Verilog Designer's Library, 9 pgs. |
Bayer, “Prefix B-Trees”, ip.com Journal, ip.com Inc., West Henrietta, NY, Mar. 30, 2007, 29 pages. |
Bhattacharjee et al., “Efficient Index Compression in DB2 LUW”, IBM Research Report, Jun. 23, 2009, http://domino.research.ibm.com/library/cyberdig.nsf/papers/40B2C45876D0D747852575E100620CE7/$File/rc24815.pdf 13 pages. |
Oracle, “Oracle9i: Database Concepts”, Jul. 2001, http://docs.oracle.com/cd/A91202—01/901—doc/server.901/a88856.pdf, 49 pages. |
International Search Report and Written Opinion dated Jun. 8, 2015, received in International Patent Application No. PCT/US2015/018252, which corresponds to U.S. Appl. No. 14/339,072, 9 pages (Busch). |
International Search Report and Written Opinion dated Jun. 2, 2015, received in International Patent Application No. PCT/US2015/018255, which corresponds to U.S. Appl. No. 14/336,967, 14 pages (Chander). |
International Search Report and Written Opinion dated Jun. 30, 2015, received in International Patent Application No. PCT/US2015/023927, which corresponds to U.S. Appl. No. 14/454,687, 11 pages (Kadayam). |
Office Action dated Dec. 8, 2014, received in Chinese Patent Application No. 201180021660.2, which corresponds to U.S. Appl. No. 12/726,200, 7 pages (Olbrich). |
Office Action dated Jul. 31, 2015, received in Chinese Patent Application No. 201180021660.2, which corresponds to U.S. Appl. No. 12/726,200, 9 pages (Olbrich). |
International Search Report and Written Opinion dated Jul. 23, 2015, received in International Patent Application No. PCT/US2015/030850, which corresponds to U.S. Appl. No. 14/298,843, 12 pages (Ellis). |
Invitation to Pay Additional Fees dated Feb. 13, 2015, received in International Patent Application No. PCT/US2014/063949, which corresponds to U.S. Appl. No. 14/135,433, 6 pages (Delpapa). |
International Search Report and Written Opinion dated Jan. 21, 2015, received in International Application No. PCT/US2014/059748, which corresponds to U.S. Appl. No. 14/137,511, 13 pages (Dancho). |
International Search Report and Written Opinion dated Feb. 18, 2015, received in International Application No. PCT/US2014/066921, which corresponds to U.S. Appl. No. 14/135,260, 13 pages (Fitzpatrick). |
Lee et al., “A Semi-Preemptive Garbage Collector for Solid State Drives,” Apr. 2011, IEEE, pp. 12-21. |
Office Action dated Feb. 17, 2015, received in Chinese Patent Application No. 20121033498.1, which corresponds to U.S. Appl. No. 12/082,207, 9 pages (Prins). |
International Search Report and Written Opinion dated Mar. 17, 2015, received in International Patent Application No. PCT/US2014/065987, which corresponds to U.S. Appl. No. 14/135,400, 12 pages (George). |
International Search Report and Written Opinion dated Mar. 17, 2015, received in International Patent Application No. PCT/US2014/067467, which corresponds to U.S. Appl. No. 14/135,420, 13 pages (Lucas). |
International Search Report and Written Opinion dated Apr. 20, 2015, received in International Patent Application No. PCT/US2014/063949, which corresponds to U.S. Appl. No. 14/135,433, 21 pages (Delpapa). |
International Search Report and Written Opinion dated Mar. 9, 2015, received in International Patent Application No. PCT/US2014/059747, which corresponds to U.S. Appl. No. 14/137,440, 9 pages (Fitzpatrick). |
Gasior, “Gigabyte's i-Ram storage device, Ram disk without the fuss,” The Tech Report, p. 1, Jan. 25, 2006, 5 pages. |
IBM Research-Zurich, “The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modeling,” Mar. 31, 2010, pp. 1-15. |
International Search Report and Written Opinion dated Sep. 14, 2015, received in International Patent Application No. PCT/US2015/036807, which corresponds to U.S. Appl. No. 14/311,152, 9 pages (Higgins). |
Oestreicher et al., “Object Lifetimes in Java Card,” 1999, USENIX, 10 pages. |
Number | Date | Country | |
---|---|---|---|
20150121537 A1 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
61897782 | Oct 2013 | US |