US20100017558A1 - Memory device operable in read-only and re-writable modes of operation - Google Patents
Memory device operable in read-only and re-writable modes of operation Download PDFInfo
- Publication number
- US20100017558A1 US20100017558A1 US12/421,229 US42122909A US2010017558A1 US 20100017558 A1 US20100017558 A1 US 20100017558A1 US 42122909 A US42122909 A US 42122909A US 2010017558 A1 US2010017558 A1 US 2010017558A1
- Authority
- US
- United States
- Prior art keywords
- memory
- memory device
- command
- physical address
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Definitions
- Portable memory devices such as memory cards, are often used with consumer electronic devices, such as mobile phones and personal computers (PCs), to store and/or transport data.
- many portable memory devices contain circuitry, such as a microprocessor or controller, that can transform logical addresses received from the host device to physical addresses used by the memory device, thereby allowing the circuitry on the memory device to control where data is stored in the storage medium.
- OTP one-time programmable
- memory devices with OTP memory arrays may not be compatible with host devices that use the popular DOS FAT file system or other file systems that expect to be able to rewrite to a memory address.
- FTP few-time programmable
- FIG. 1 is an illustration of a host device in communication with a memory device of an embodiment.
- FIG. 2 is an illustration of a dual-mode behavior of a memory device of an embodiment.
- FIGS. 3 and 4 are illustrations of how a controller of a memory device of an embodiment makes logical memory appear rewritable even though the underlying memory is one-time programmable.
- FIG. 5 is an illustration of a relationship between logical memory and physical memory of an embodiment.
- OTP one-time programmable
- FTP few-time programmable
- An OTP memory is a memory in which memory cells are fabricated in an initial, un-programmed digital state and can be switched to an alternative, programmed digital state at a time after fabrication.
- the original, un-programmed digital state can be identified as the Logic 1 (or Logic 0) state
- the programmed digital state can be identified as the Logic 0 (or Logic 1) state.
- an original, un-programmed digital state of a storage location e.g., the Logic 1 state
- a programmed digital state e.g., the Logic 0 state
- an FTP memory is a memory in which memory cells can be written to more than once but not as many times as a typical rewritable (or write-many) memory array.
- the memory device is configured to behave exactly the same as a standard flash rewritable memory device until the memory is fully consumed, at which point the memory device would stop performing write operations. Until the memory is consumed, the memory device is essentially indistinguishable from a normal rewritable memory device. In this way, such a memory device would be backwards-compatible with existing host applications and devices.
- U.S. Patent Application Publication No. US 2006/0047920 and U.S. Pat. No. 6,895,490 which are both hereby incorporated by reference, provide further details on backwards-compatible memory devices.
- the following embodiments provide a memory device that leverages the existing definition of a read-only memory (ROM) card type, provide read compatibility with existing host devices (such as existing SecureDigital (SD) host devices), and minimize the effort to modify host devices to write to an OTP memory device.
- the memory device takes the form of an SD memory card, based on OTP memory, that operates in accordance with a formal OTP card type specification set forth by the SecureDigital (SD) Association.
- SD SecureDigital
- a memory device that powers up in a read-only memory (ROM) mode to be compatible with existing specifications and readable in existing SD-compliant host devices.
- ROM read-only memory
- a memory device that implements a new function (using a protocol defined in the SD specifications) to switch the memory device into a read/write (R/W) mode.
- R/W mode the memory device generally behaves like a standard rewritable (e.g., flash) card, so minimal changes are needed for host devices to implement support for the OTP card.
- the memory card defines a new command (preferably compliant with the definition in the SD specifications) for the host device to track physical memory consumption.
- FIG. 1 is an illustration of a host device 10 in communication with a memory card 20 of an embodiment.
- the phrase “in communication with” means in direct communication with or in indirect communication with through one or more components, which may or may not be shown or described herein.
- the host device 10 is in communication with the memory card 20 via mating ports.
- a memory card 20 is being used for illustration in FIG. 1
- a memory card 20 is just one example of a memory device that can be used with these embodiment.
- a “memory device” can take any suitable form, such as, but not limited to, a memory card, a Universal Serial Bus (USB) device, and a hard drive.
- the memory device takes the form of a solid-state memory card, such as a SecureDigital (SD) memory card.
- SD SecureDigital
- the memory card 20 comprises a controller 30 in communication with one or more memory devices 40 .
- the memory device(s) 40 can comprise any suitable type of memory, such as, but not limited to, solid state, optical, and magnetic memory.
- at least some of the memory device(s) 40 comprise OTP and/or FTP memory.
- the various memory devices can each use the same or different memory technologies (e.g., (i) all OTP, (ii) OTP and FTP, or (iii) OTP, FTP, and rewritable).
- the memory device 40 comprises a field-programmable solid-state memory array.
- the memory cells in the memory array can be organized in a two-dimensional or three-dimensional fashion.
- the memory array is a three-dimensional array, such as an array described in U.S. Pat. No. 6,034,882 to Johnson et al., which is hereby incorporated by reference.
- the controller 30 is operative to perform various functions, some of which are described below. While a controller 30 is shown in FIG. 1 , it should be understood that the memory card 20 can comprise any suitable circuitry 130 .
- circuitry can include one or more components and be a pure hardware implementation and/or a combined hardware/software (or firmware) implementation. Accordingly, “circuitry” can take the form of one or more of a controller, microprocessor, or processor that executes computer-readable program code (e.g., software or firmware stored in the memory device(s) 40 , logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, for example.
- computer-readable program code e.g., software or firmware stored in the memory device(s) 40 , logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, for example.
- a “host device” refers to any device that can be put in communication with a memory device and be used to store data in the memory device and/or read data from the memory device.
- Examples of host devices include, but are not limited to, consumer electronic devices such as mobile phones, digital media players, digital cameras, game devices, personal computers (e.g., desktop or portable (such as laptop or notebook) computers), email and/or text messaging devices, and personal digital assistants (PDAs).
- PDAs personal digital assistants
- a host device can be a relatively mobile device (such as a mobile phone) or a relatively stationary device (such as a desktop personal computer).
- the OTP memory card 20 implements two modes of operation.
- the memory card 120 powers up in a configuration compatible with an existing ROM card definition already defined in the SD specifications (and, therefore, supported by compliant SD host devices).
- the memory card 20 is switched into a writable mode before accepting and performing writes.
- a suitable ROM card configuration and behavior are described in the SD Part 1 Physical Layer Specifications v2.00, as well as in the Part 1 Physical Layer Specification version 2.00 Supplementary Notes version 1.00.
- the switch command protocol was defined in the SD specifications for the general situation of enabling expanded or additional features for an SD card (see section 4.3.10 of the SD Part 1 Physical Layer Specification, version 2.00.).) By powering up in a read-only mode that is compatible with an existing card definition, existing host devices can still read from the memory card 20 but cannot write to the memory card 20 , providing read compatibility with existing host devices but avoiding the dangers that those non-enabled host devices will write to the memory card 20 and run into the problematic corner case discussed above.
- FIG. 2 illustrates the memory card's 20 dual-mode behavior.
- the left-hand illustration in FIG. 2 shows that (1) the memory card 20 powers up in a read-only mode so legacy host devices can only read from the card 20 , (2) only enabled host devices know how to switch the card 20 into a read/write mode, and (3) in read/write mode, enabled host devices can both read and write to the card 20 .
- the memory card 20 behaves similarly to a “normal” flash rewritable memory card, at least until the memory card's OTP memory 40 is fully consumed. So, for example, if the host device 10 overwrites a sector of data with different data (which is often done for rewritable memory cards for a variety of reasons), the memory card 20 accepts and performs the requested write operation. (Because the underlying memory device 40 is OTP in this embodiment, memory on the device 40 itself cannot be changed after being written, but the card 20 firmware can automatically write updated data to a new location in memory and “remap” the old location to the new location.
- This remapping functionality is similar to the remapping that occurs in firmware in existing flash memory devices (see, for example, U.S. Pat. No. 7,139,864, which is hereby incorporated by reference).)
- This “overwrite” behavior ensures that there are minimal changes that the host device 10 must make to support the OTP memory card 20 .
- the host device 10 can use any file system (most use the industry-standard FAT file system) and can still perform all the operations that it does for rewritable memory cards, including file rename, change, and delete operations, for example.
- the host device 10 interfaces to the memory card 20 using logical addresses
- the controller 30 acts as the interface between the host device 10 and the physical memory device(s) 40 and performs logical-to-physical addressing.
- the interface between the controller 30 and the memory device(s) 40 uses physical addresses.
- This interface implementation is standard to existing flash memory devices (see, for example, U.S. Pat. No. 7,139,864, which is hereby incorporated by reference).
- FIGS. 3 and 4 demonstrate how the controller 30 makes the logical memory appear rewritable even though the underlying memory 40 is OTP.
- FIG. 3 shows that original data stored at a logical address is stored in a physical location within the memory device 30 .
- the memory card 20 implements a new command (Read_Mem_Remaining) for the host device 10 to track the amount of physical (OTP) memory remaining.
- the command code was allocated and defined in the SD Part 1 Physical Layer Specification, version 2.00, section 4.3.12 Command System as part of the switch command protocol, but the data values and format was defined specifically for the OTP card application.
- the following table lists the values returned by the Read_Mem_Remaining, in a presently preferred embodiment (of course, other implementations can be used). Values are preferably returned in most-significant-byte, most-significant-bit order.
- the memory card 20 definition avoids the problem with the original OTP card implementation, where the card tries to discern what the host device is doing and why. With this new definition, the memory card 20 is free to accept and perform all write operations, since only enabled host devices will be able to write to it, and they are responsible for tracking memory consumption and avoiding illegal operations.
- the first two values returned by the new command (“main” and “reserve”) report to the host device 10 the amount of physical space remaining on the card 20 (1) for general/unspecified uses (file data and file system operations) (the “main area”) and (2) that is reserved for file system operations only (no file data) (the “reserved area”).
- the main value was defined so that the host device 10 can use it the same way it currently uses the FAT tables: to both determine how many more files (or, more generally, how much more data) can be written to the card 20 and to decide when the card 20 is full and the host device 10 should stop writing data to the card 20 .
- the reserve value was defined so that the host device 10 would always be able to perform the file-system related operations necessary to complete a file that had been in progress when the card 20 was completely consumed (as reported by the main area), in the same way as it does for the FAT file system structures. This minimizes the changes a host device 10 must make in order to support OTP cards in addition to rewritable cards.
- FIG. 5 illustrates the relationship between logical memory (visible to the host device 10 ) and the physical memory 40 (not directly visible to the host device 10 ).
- the amount of unused logical memory is tracked by file system structures, typically a “File Allocation Tables” for the standard FAT file system.
- the controller 30 in the memory card 20 manages logical-to-physical addressing. Overwritten data, which is represented is this diagram by cross-hatches, is no longer referenced but still consumes physical memory.
- the controller 30 reports the amount of physical memory remaining using a new command, so the host device can determine the amount of space available.
- the amount of physical memory remaining may be smaller or larger than the amount of logical memory remaining.
- the behavior of “Program_CSD” and “Lock_Unlock” commands are also modified to reflect the fact that the card memory 40 is OTP and not rewritable. That is, these commands are preferably used only once to update/program the related registers.
- the Card Status Defaults (CSD) register reports the card's 20 operating conditions and supported commands and features. It also includes a small number of writable bits that are used to indicate the card's 20 write protect status and if the card 20 is original data or is a copy. These bits can only be set once, collectively; if any bits are changed by issuing the Program_CSD command, then the command can not be used again to further update the CSD register.
- the Lock_Unlock command is used to both set the card 20 password and to supply the password to later unlock the card 20 .
- the password can only be set once and, once set, can never be changed or cleared. If the password has been set, then this has implications on the future behavior of the card 20 as required by the SD specifications.
- the OTP card 20 preferably does not support the “force erase” operation described in the SD specifications, where if the password is forgotten, the card 20 can be completely erased (clearing the password), because the OTP card 20 does not support the erase operation. Specifying that these two registers can be changed only once each achieves two purposes.
- the examples described herein are only some of the many implementations these embodiments can take. Also, while the use of OTP memory was used in these examples, it should be noted that the teachings described herein can also be applied to FTP memories. Further, although the memory card 20 in these embodiments took the form of an SD card, as mentioned above, any suitable type of memory device can be used, including, but not limited to, those in compliance with MultiMedia, Memory Stick, Compact Flash, Smart Media, xD, USB, or HS-MMC specifications.
Abstract
Description
- This application claims the benefit of U.S. Provisional Application No. 61/044,410, filed Apr. 11, 2008, and U.S. Provisional Application No. 61/057,672, filed May 30, 2008, both of which are hereby incorporated by reference.
- Portable memory devices, such as memory cards, are often used with consumer electronic devices, such as mobile phones and personal computers (PCs), to store and/or transport data. In addition to a storage medium, many portable memory devices contain circuitry, such as a microprocessor or controller, that can transform logical addresses received from the host device to physical addresses used by the memory device, thereby allowing the circuitry on the memory device to control where data is stored in the storage medium.
- Many memory devices use a rewritable memory, which allows a memory address to be erased and rewritten for system or user purposes. However, other memory devices use a one-time programmable (OTP) memory array. In an OTP memory array, once a memory cell at a memory address is changed to a programmed state, it cannot be changed back to its original, unprogrammed state. Because of this limitation on the number of times a memory address can be written, memory devices with OTP memory arrays may not be compatible with host devices that use the popular DOS FAT file system or other file systems that expect to be able to rewrite to a memory address. A similar problem occurs, to a lesser extent, with memory devices that use a few-time programmable (FTP) memory array, whose memory cells can be written more than once but not as many times as memory cells in a rewritable memory array.
-
FIG. 1 is an illustration of a host device in communication with a memory device of an embodiment. -
FIG. 2 is an illustration of a dual-mode behavior of a memory device of an embodiment. -
FIGS. 3 and 4 are illustrations of how a controller of a memory device of an embodiment makes logical memory appear rewritable even though the underlying memory is one-time programmable. -
FIG. 5 is an illustration of a relationship between logical memory and physical memory of an embodiment. - By way of introduction, the following embodiments relate generally to providing compatibility between a memory device that uses a one-time programmable (OTP) (or few-time programmable (FTP)) memory array and host devices that use a file system, such as the DOS FAT file system, that expects to be able to rewrite to a memory address in the memory device. An OTP memory is a memory in which memory cells are fabricated in an initial, un-programmed digital state and can be switched to an alternative, programmed digital state at a time after fabrication. For example, the original, un-programmed digital state can be identified as the Logic 1 (or Logic 0) state, and the programmed digital state can be identified as the Logic 0 (or Logic 1) state. Because the memory cells are OTP, an original, un-programmed digital state of a storage location (e.g., the Logic 1 state) cannot be restored once switched to a programmed digital state (e.g., the Logic 0 state). In contrast, an FTP memory is a memory in which memory cells can be written to more than once but not as many times as a typical rewritable (or write-many) memory array.
- Many techniques can be used to make a OTP memory device compatible with a rewritable file system of a host device. In one technique, the memory device is configured to behave exactly the same as a standard flash rewritable memory device until the memory is fully consumed, at which point the memory device would stop performing write operations. Until the memory is consumed, the memory device is essentially indistinguishable from a normal rewritable memory device. In this way, such a memory device would be backwards-compatible with existing host applications and devices. U.S. Patent Application Publication No. US 2006/0047920 and U.S. Pat. No. 6,895,490, which are both hereby incorporated by reference, provide further details on backwards-compatible memory devices. However, for certain hosts and certain host behaviors, there may be a danger of corner cases where the host might attempt to write data to the memory device, but the memory device would run out of memory and not be able to store the data (a typical example would be a digital camera attempting to store a picture on a memory card). In the worst case, the host device would not even realize the write had failed and would give no indication to the user that there was a problem.
- To avoid this risk (and the accompanying negative end-user perception), the following embodiments provide a memory device that leverages the existing definition of a read-only memory (ROM) card type, provide read compatibility with existing host devices (such as existing SecureDigital (SD) host devices), and minimize the effort to modify host devices to write to an OTP memory device. In one presently preferred embodiment, the memory device takes the form of an SD memory card, based on OTP memory, that operates in accordance with a formal OTP card type specification set forth by the SecureDigital (SD) Association. Various features of these embodiments include, but are not limited to, the following:
- A memory device that powers up in a read-only memory (ROM) mode to be compatible with existing specifications and readable in existing SD-compliant host devices.
- A memory device that implements a new function (using a protocol defined in the SD specifications) to switch the memory device into a read/write (R/W) mode. When in R/W mode, the memory device generally behaves like a standard rewritable (e.g., flash) card, so minimal changes are needed for host devices to implement support for the OTP card.
- Because, unlike a rewritable memory, an OTP memory is finite and can be fully consumed, in one embodiment, the memory card defines a new command (preferably compliant with the definition in the SD specifications) for the host device to track physical memory consumption.
- Additional modifications for operations that program registers due to the limitations of OTP memory (as compared to rewritable memory) are also provided.
- Turning now to the drawings,
FIG. 1 is an illustration of ahost device 10 in communication with amemory card 20 of an embodiment. As used herein, the phrase “in communication with” means in direct communication with or in indirect communication with through one or more components, which may or may not be shown or described herein. In this particular illustration, thehost device 10 is in communication with thememory card 20 via mating ports. It should be noted that although amemory card 20 is being used for illustration inFIG. 1 , amemory card 20 is just one example of a memory device that can be used with these embodiment. In general, a “memory device” can take any suitable form, such as, but not limited to, a memory card, a Universal Serial Bus (USB) device, and a hard drive. In one presently preferred embodiment, the memory device takes the form of a solid-state memory card, such as a SecureDigital (SD) memory card. - As shown in
FIG. 1 , in this embodiment, thememory card 20 comprises acontroller 30 in communication with one ormore memory devices 40. The memory device(s) 40 can comprise any suitable type of memory, such as, but not limited to, solid state, optical, and magnetic memory. In one embodiment, at least some of the memory device(s) 40 comprise OTP and/or FTP memory. In the event thatmultiple memory devices 40 are used, it should be understood that the various memory devices can each use the same or different memory technologies (e.g., (i) all OTP, (ii) OTP and FTP, or (iii) OTP, FTP, and rewritable). Preferably, thememory device 40 comprises a field-programmable solid-state memory array. The memory cells in the memory array can be organized in a two-dimensional or three-dimensional fashion. In one preferred embodiment, the memory array is a three-dimensional array, such as an array described in U.S. Pat. No. 6,034,882 to Johnson et al., which is hereby incorporated by reference. - The
controller 30 is operative to perform various functions, some of which are described below. While acontroller 30 is shown inFIG. 1 , it should be understood that thememory card 20 can comprise any suitable circuitry 130. As used herein, “circuitry” can include one or more components and be a pure hardware implementation and/or a combined hardware/software (or firmware) implementation. Accordingly, “circuitry” can take the form of one or more of a controller, microprocessor, or processor that executes computer-readable program code (e.g., software or firmware stored in the memory device(s) 40, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, for example. - Also, a “host device” refers to any device that can be put in communication with a memory device and be used to store data in the memory device and/or read data from the memory device. Examples of host devices include, but are not limited to, consumer electronic devices such as mobile phones, digital media players, digital cameras, game devices, personal computers (e.g., desktop or portable (such as laptop or notebook) computers), email and/or text messaging devices, and personal digital assistants (PDAs). A host device can be a relatively mobile device (such as a mobile phone) or a relatively stationary device (such as a desktop personal computer).
- In this embodiment, the
OTP memory card 20 implements two modes of operation. In the first mode, the memory card 120 powers up in a configuration compatible with an existing ROM card definition already defined in the SD specifications (and, therefore, supported by compliant SD host devices). In the second mode, thememory card 20 is switched into a writable mode before accepting and performing writes. (A suitable ROM card configuration and behavior are described in the SD Part 1 Physical Layer Specifications v2.00, as well as in the Part 1 Physical Layer Specification version 2.00 Supplementary Notes version 1.00. The switch command protocol was defined in the SD specifications for the general situation of enabling expanded or additional features for an SD card (see section 4.3.10 of the SD Part 1 Physical Layer Specification, version 2.00.).) By powering up in a read-only mode that is compatible with an existing card definition, existing host devices can still read from thememory card 20 but cannot write to thememory card 20, providing read compatibility with existing host devices but avoiding the dangers that those non-enabled host devices will write to thememory card 20 and run into the problematic corner case discussed above. - Because, in this embodiment, host devices must issue a command to switch the
memory card 20 into a writable mode, only host devices that have been enabled to work with theOTP memory card 20 and understand its unique features will be able to write to it.FIG. 2 illustrates the memory card's 20 dual-mode behavior. The left-hand illustration inFIG. 2 shows that (1) thememory card 20 powers up in a read-only mode so legacy host devices can only read from thecard 20, (2) only enabled host devices know how to switch thecard 20 into a read/write mode, and (3) in read/write mode, enabled host devices can both read and write to thecard 20. - In its writable mode, the
memory card 20 behaves similarly to a “normal” flash rewritable memory card, at least until the memory card'sOTP memory 40 is fully consumed. So, for example, if thehost device 10 overwrites a sector of data with different data (which is often done for rewritable memory cards for a variety of reasons), thememory card 20 accepts and performs the requested write operation. (Because theunderlying memory device 40 is OTP in this embodiment, memory on thedevice 40 itself cannot be changed after being written, but thecard 20 firmware can automatically write updated data to a new location in memory and “remap” the old location to the new location. This remapping functionality is similar to the remapping that occurs in firmware in existing flash memory devices (see, for example, U.S. Pat. No. 7,139,864, which is hereby incorporated by reference).) This “overwrite” behavior ensures that there are minimal changes that thehost device 10 must make to support theOTP memory card 20. Thehost device 10 can use any file system (most use the industry-standard FAT file system) and can still perform all the operations that it does for rewritable memory cards, including file rename, change, and delete operations, for example. - With reference again to
FIG. 1 , thehost device 10 interfaces to thememory card 20 using logical addresses, thecontroller 30 acts as the interface between thehost device 10 and the physical memory device(s) 40 and performs logical-to-physical addressing. The interface between thecontroller 30 and the memory device(s) 40 uses physical addresses. This interface implementation is standard to existing flash memory devices (see, for example, U.S. Pat. No. 7,139,864, which is hereby incorporated by reference).FIGS. 3 and 4 demonstrate how thecontroller 30 makes the logical memory appear rewritable even though theunderlying memory 40 is OTP.FIG. 3 shows that original data stored at a logical address is stored in a physical location within thememory device 30.FIG. 4 shows that when thehost device 10 overwrites the data at the logical address, the new updated data is stored at a new physical address, and thecontroller 30 updates its logical-to-physical addressing to reference the updated data instead of the now super-ceded original data. Again, the process is similar to the existing flash memory device implementation noted above; however, a difference between this embodiment and the flash implementation is that thememory 40 in this implementation (here, OTP) is not erased and re-used. - In its writable mode, the
memory card 20 implements a new command (Read_Mem_Remaining) for thehost device 10 to track the amount of physical (OTP) memory remaining. (The command code was allocated and defined in the SD Part 1 Physical Layer Specification, version 2.00, section 4.3.12 Command System as part of the switch command protocol, but the data values and format was defined specifically for the OTP card application.) The following table lists the values returned by the Read_Mem_Remaining, in a presently preferred embodiment (of course, other implementations can be used). Values are preferably returned in most-significant-byte, most-significant-bit order. -
Byte Position Parameter Description 511:508 Main Area Amount of memory remaining in the Remaining “main” area of the card. Reported in units of sectors (200 h bytes). 507:504 Reserve Area Amount of memory remaining in the Remaining “main” area of the card. Reported in units of sectors (200 h bytes). - By making the
host device 10 responsible for tracking memory consumption, thememory card 20 definition avoids the problem with the original OTP card implementation, where the card tries to discern what the host device is doing and why. With this new definition, thememory card 20 is free to accept and perform all write operations, since only enabled host devices will be able to write to it, and they are responsible for tracking memory consumption and avoiding illegal operations. - In this embodiment, the first two values returned by the new command (“main” and “reserve”) report to the
host device 10 the amount of physical space remaining on the card 20 (1) for general/unspecified uses (file data and file system operations) (the “main area”) and (2) that is reserved for file system operations only (no file data) (the “reserved area”). The main value was defined so that thehost device 10 can use it the same way it currently uses the FAT tables: to both determine how many more files (or, more generally, how much more data) can be written to thecard 20 and to decide when thecard 20 is full and thehost device 10 should stop writing data to thecard 20. The reserve value was defined so that thehost device 10 would always be able to perform the file-system related operations necessary to complete a file that had been in progress when thecard 20 was completely consumed (as reported by the main area), in the same way as it does for the FAT file system structures. This minimizes the changes ahost device 10 must make in order to support OTP cards in addition to rewritable cards. -
FIG. 5 illustrates the relationship between logical memory (visible to the host device 10) and the physical memory 40 (not directly visible to the host device 10). The amount of unused logical memory is tracked by file system structures, typically a “File Allocation Tables” for the standard FAT file system. Thecontroller 30 in thememory card 20 manages logical-to-physical addressing. Overwritten data, which is represented is this diagram by cross-hatches, is no longer referenced but still consumes physical memory. Thecontroller 30 reports the amount of physical memory remaining using a new command, so the host device can determine the amount of space available. The amount of physical memory remaining may be smaller or larger than the amount of logical memory remaining. - In this embodiment, the behavior of “Program_CSD” and “Lock_Unlock” commands are also modified to reflect the fact that the
card memory 40 is OTP and not rewritable. That is, these commands are preferably used only once to update/program the related registers. The Card Status Defaults (CSD) register reports the card's 20 operating conditions and supported commands and features. It also includes a small number of writable bits that are used to indicate the card's 20 write protect status and if thecard 20 is original data or is a copy. These bits can only be set once, collectively; if any bits are changed by issuing the Program_CSD command, then the command can not be used again to further update the CSD register. The Lock_Unlock command is used to both set thecard 20 password and to supply the password to later unlock thecard 20. For theOTP card 20, the password can only be set once and, once set, can never be changed or cleared. If the password has been set, then this has implications on the future behavior of thecard 20 as required by the SD specifications. Also, theOTP card 20 preferably does not support the “force erase” operation described in the SD specifications, where if the password is forgotten, thecard 20 can be completely erased (clearing the password), because theOTP card 20 does not support the erase operation. Specifying that these two registers can be changed only once each achieves two purposes. First, it fixes the amount of space thecard 20 must reserve in order to store the update register value, and, second, it allows thehost device 10 to determine if the register has already been changed or not (if the register does not match its default value, it must have been modified, and since it has been modified, it may not be modified again). This would obviously not be true if thehost device 10 could change the register values more than one time. - As noted above, the examples described herein are only some of the many implementations these embodiments can take. Also, while the use of OTP memory was used in these examples, it should be noted that the teachings described herein can also be applied to FTP memories. Further, although the
memory card 20 in these embodiments took the form of an SD card, as mentioned above, any suitable type of memory device can be used, including, but not limited to, those in compliance with MultiMedia, Memory Stick, Compact Flash, Smart Media, xD, USB, or HS-MMC specifications. - Some of the following claims may state that a component is operative to perform a certain function or is configured for a certain task. It should be noted that these are not restrictive limitations. It should also be noted that the acts recited in the claims can be performed in any order—not necessarily in the order in which they are recited. Also, it is intended that the foregoing detailed description be understood as an illustration of selected forms that the invention can take and not as a definition of the invention. It is only the following claims, including all equivalents, that are intended to define the scope of this invention. Finally, it should be noted that any aspect of any of the preferred embodiments described herein can be used alone or in combination with one another.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/421,229 US20100017558A1 (en) | 2008-04-11 | 2009-04-09 | Memory device operable in read-only and re-writable modes of operation |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4441008P | 2008-04-11 | 2008-04-11 | |
US5767208P | 2008-05-30 | 2008-05-30 | |
US12/421,229 US20100017558A1 (en) | 2008-04-11 | 2009-04-09 | Memory device operable in read-only and re-writable modes of operation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100017558A1 true US20100017558A1 (en) | 2010-01-21 |
Family
ID=41531273
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/421,238 Active 2030-03-22 US8266366B2 (en) | 2008-04-11 | 2009-04-09 | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
US12/421,229 Abandoned US20100017558A1 (en) | 2008-04-11 | 2009-04-09 | Memory device operable in read-only and re-writable modes of operation |
US13/571,937 Active US8504763B2 (en) | 2008-04-11 | 2012-08-10 | Method and memory device that powers-up in a read-only mode and is switchable to a read/write mode |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/421,238 Active 2030-03-22 US8266366B2 (en) | 2008-04-11 | 2009-04-09 | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/571,937 Active US8504763B2 (en) | 2008-04-11 | 2012-08-10 | Method and memory device that powers-up in a read-only mode and is switchable to a read/write mode |
Country Status (1)
Country | Link |
---|---|
US (3) | US8266366B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250172A1 (en) * | 2007-04-05 | 2008-10-09 | Seiko Epson Corporation | Information processing system, information processing terminal and host device |
US20100017559A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
US20110082966A1 (en) * | 2009-10-02 | 2011-04-07 | Yu Samuel Y | Authentication and Securing of Write-Once, Read-Many (WORM) Memory Devices |
US20110167198A1 (en) * | 2010-01-07 | 2011-07-07 | Richard Soja | Non-volatile storage alteration tracking |
US20120260022A1 (en) * | 2011-04-11 | 2012-10-11 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
US20130238566A1 (en) * | 2012-03-09 | 2013-09-12 | Panasonic Corporation | Storage device, host device, and storage system |
US20150134621A1 (en) * | 2013-11-08 | 2015-05-14 | Samsung Electronics Co., Ltd. | Swat command and api for atomic swap and trim of lbas |
US20150350206A1 (en) * | 2014-05-29 | 2015-12-03 | Samsung Electronics Co., Ltd. | Storage system and method for performing secure write protect thereof |
US20160041793A1 (en) * | 2012-09-07 | 2016-02-11 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method for controlling nonvolatile semiconductor memory |
US20190213122A1 (en) * | 2014-06-30 | 2019-07-11 | Samsung Electronics Co., Ltd. | Method of operating data storage device and method of operating data processing system including the same |
WO2020118940A1 (en) * | 2018-12-09 | 2020-06-18 | 江苏华存电子科技有限公司 | Management method for multiple memory type configurations |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291179B2 (en) | 2007-10-05 | 2012-10-16 | Imation Corp. | Methods for implementation of worm enforcement in a storage system |
US8171244B2 (en) | 2008-02-01 | 2012-05-01 | Imation Corp. | Methods for implementation of worm mode on a removable disk drive storage system |
US8090692B2 (en) * | 2008-09-10 | 2012-01-03 | Infinite Memory Ltd | Method for using an OTP storage device |
US8725780B2 (en) * | 2009-06-12 | 2014-05-13 | Imation Corp. | Methods and systems for rule-based worm enforcement |
CN102200946B (en) * | 2010-03-22 | 2014-11-19 | 群联电子股份有限公司 | Data access method, memory controller and storage system |
KR20120067136A (en) * | 2010-12-15 | 2012-06-25 | 삼성전자주식회사 | Electronic device and method for prevent deleting file |
US8925098B2 (en) | 2012-11-15 | 2014-12-30 | Elwha Llc | Data security and access tracking in memory |
US20170038994A1 (en) * | 2015-08-06 | 2017-02-09 | Kabushiki Kaisha Toshiba | Storage device and data reading method |
EP3163479B1 (en) * | 2015-10-27 | 2023-10-18 | Fresenius Medical Care Deutschland GmbH | Reusable disposable and dialysis apparatus therefore |
US20170262180A1 (en) * | 2016-03-08 | 2017-09-14 | Burlywood, LLC | Integrated control of write-once data storage devices |
CN107357551B (en) * | 2016-05-10 | 2021-01-26 | 成都海存艾匹科技有限公司 | Processor for implementing at least two types of functions |
US10642532B2 (en) * | 2017-02-28 | 2020-05-05 | International Business Machines Corporation | Storing data sequentially in zones in a dispersed storage network |
US10571982B2 (en) * | 2017-11-21 | 2020-02-25 | International Business Machines Corporation | Resettable write once read many memory |
CN110321740B (en) * | 2019-05-15 | 2023-06-30 | 深圳市江波龙电子股份有限公司 | Data operation method of storage device and storage device |
CN112346664B (en) * | 2020-11-30 | 2023-06-09 | 湖南国科微电子股份有限公司 | Data storage method, device, equipment and medium |
CN113553006A (en) * | 2021-07-12 | 2021-10-26 | 山东华芯半导体有限公司 | Secure encrypted storage system for realizing data writing to read-only partition |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US6014745A (en) * | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US6182188B1 (en) * | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6941403B2 (en) * | 2000-08-17 | 2005-09-06 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
US6968459B1 (en) * | 1999-12-15 | 2005-11-22 | Imation Corp. | Computing environment having secure storage device |
US20060179328A1 (en) * | 2005-02-04 | 2006-08-10 | Jia-Yih Lii | Storage device with separable data protection and method thereof |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20070094470A1 (en) * | 2005-10-21 | 2007-04-26 | Nils Haustein | Apparatus, system, and method for writing data to protected partitions of storage media |
US20090010117A1 (en) * | 2005-01-31 | 2009-01-08 | Sony Corporation | Optical Disk Manufacturing Method and Device, Optical Disk, and Reproduction Method Thereof |
US20090043963A1 (en) * | 2007-08-10 | 2009-02-12 | Tomi Lahcanski | Removable storage device with code to allow change detection |
US20090172321A1 (en) * | 2007-12-31 | 2009-07-02 | Scheuerlein Roy E | Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method |
US20100017559A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185661B1 (en) * | 1998-01-02 | 2001-02-06 | Emc Corporation | Worm magnetic storage device |
US6034882A (en) | 1998-11-16 | 2000-03-07 | Matrix Semiconductor, Inc. | Vertically stacked field programmable nonvolatile memory and method of fabrication |
US6188602B1 (en) * | 2000-01-25 | 2001-02-13 | Dell Usa, L.P. | Mechanism to commit data to a memory device with read-only access |
US6545891B1 (en) | 2000-08-14 | 2003-04-08 | Matrix Semiconductor, Inc. | Modular memory device |
US6424581B1 (en) | 2000-08-14 | 2002-07-23 | Matrix Semiconductor, Inc. | Write-once memory array controller, system, and method |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6895490B1 (en) | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US7000063B2 (en) | 2001-10-05 | 2006-02-14 | Matrix Semiconductor, Inc. | Write-many memory device and method for limiting a number of writes to the write-many memory device |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7398348B2 (en) | 2004-08-24 | 2008-07-08 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory |
US7376062B2 (en) | 2004-10-29 | 2008-05-20 | International Business Machines Corporation | System and method for logical shredding of data stored on worm media |
US8051052B2 (en) | 2004-12-21 | 2011-11-01 | Sandisk Technologies Inc. | Method for creating control structure for versatile content control |
GB0511919D0 (en) | 2005-06-11 | 2005-07-20 | Ibm | Device permitting partial disabling of information retrievability on worm media |
US7747661B2 (en) | 2005-10-05 | 2010-06-29 | International Business Machines Corporation | System and method for providing a virtual binding for a worm storage system on rewritable media |
US7685389B2 (en) | 2005-10-21 | 2010-03-23 | International Business Machines Corporation | Apparatus, system, and method for setting protection states of protected partitions in storage media |
US8613103B2 (en) | 2006-07-07 | 2013-12-17 | Sandisk Technologies Inc. | Content control method using versatile control structure |
US8683228B2 (en) | 2007-01-16 | 2014-03-25 | Terry Lee Stokes | System and method for WORM data storage |
US9514141B2 (en) * | 2007-12-28 | 2016-12-06 | Sandisk Technologies Llc | Memory device and method for content virtualization |
-
2009
- 2009-04-09 US US12/421,238 patent/US8266366B2/en active Active
- 2009-04-09 US US12/421,229 patent/US20100017558A1/en not_active Abandoned
-
2012
- 2012-08-10 US US13/571,937 patent/US8504763B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US6182188B1 (en) * | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6014745A (en) * | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US6968459B1 (en) * | 1999-12-15 | 2005-11-22 | Imation Corp. | Computing environment having secure storage device |
US6941403B2 (en) * | 2000-08-17 | 2005-09-06 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20090010117A1 (en) * | 2005-01-31 | 2009-01-08 | Sony Corporation | Optical Disk Manufacturing Method and Device, Optical Disk, and Reproduction Method Thereof |
US20060179328A1 (en) * | 2005-02-04 | 2006-08-10 | Jia-Yih Lii | Storage device with separable data protection and method thereof |
US20070094470A1 (en) * | 2005-10-21 | 2007-04-26 | Nils Haustein | Apparatus, system, and method for writing data to protected partitions of storage media |
US20090043963A1 (en) * | 2007-08-10 | 2009-02-12 | Tomi Lahcanski | Removable storage device with code to allow change detection |
US20090172321A1 (en) * | 2007-12-31 | 2009-07-02 | Scheuerlein Roy E | Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method |
US20100017559A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250245B2 (en) * | 2007-04-05 | 2012-08-21 | Seiko Epson Corporation | Information processing system, with information processing terminal capable of operating in multiple operation modes when connected to a host device |
US20080250172A1 (en) * | 2007-04-05 | 2008-10-09 | Seiko Epson Corporation | Information processing system, information processing terminal and host device |
US20100017559A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
US8504763B2 (en) | 2008-04-11 | 2013-08-06 | Sandisk Technologies Inc. | Method and memory device that powers-up in a read-only mode and is switchable to a read/write mode |
US8266366B2 (en) | 2008-04-11 | 2012-09-11 | SanDisk Technologies, Inc. | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
US8255655B2 (en) | 2009-10-02 | 2012-08-28 | Sandisk Technologies Inc. | Authentication and securing of write-once, read-many (WORM) memory devices |
WO2011041128A3 (en) * | 2009-10-02 | 2011-06-30 | Sandisk Corporation | Authentication and securing of write-once, read-many (worm) memory devices |
US8533414B2 (en) | 2009-10-02 | 2013-09-10 | Sandisk Technologies Inc. | Authentication and securing of write-once, read-many (WORM) memory devices |
US20110082966A1 (en) * | 2009-10-02 | 2011-04-07 | Yu Samuel Y | Authentication and Securing of Write-Once, Read-Many (WORM) Memory Devices |
US20110167198A1 (en) * | 2010-01-07 | 2011-07-07 | Richard Soja | Non-volatile storage alteration tracking |
US8380918B2 (en) * | 2010-01-07 | 2013-02-19 | Freescale Semiconductor, Inc. | Non-volatile storage alteration tracking |
US8595426B2 (en) * | 2011-04-11 | 2013-11-26 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
US20120260022A1 (en) * | 2011-04-11 | 2012-10-11 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
US20130238566A1 (en) * | 2012-03-09 | 2013-09-12 | Panasonic Corporation | Storage device, host device, and storage system |
US20160041793A1 (en) * | 2012-09-07 | 2016-02-11 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method for controlling nonvolatile semiconductor memory |
US9785384B2 (en) * | 2012-09-07 | 2017-10-10 | Toshiba Memory Corporation | Semiconductor storage device and method for controlling nonvolatile semiconductor memory |
KR102303814B1 (en) | 2013-11-08 | 2021-09-23 | 삼성전자주식회사 | Swat command and appication programming interface for automic swap and trim of lbas |
KR20150053720A (en) * | 2013-11-08 | 2015-05-18 | 삼성전자주식회사 | Swat command and appication programming interface for automic swap and trim of lbas |
US20150234849A1 (en) * | 2013-11-08 | 2015-08-20 | Samsung Electronics Co., Ltd. | Swat command and api for atomic swap and trim of lbas |
US20150134621A1 (en) * | 2013-11-08 | 2015-05-14 | Samsung Electronics Co., Ltd. | Swat command and api for atomic swap and trim of lbas |
US9678966B2 (en) * | 2013-11-08 | 2017-06-13 | Samsung Electronics Co., Ltd. | Swat command and API for atomic swap and trim of LBAs |
US9684663B2 (en) * | 2013-11-08 | 2017-06-20 | Samsung Electronics Co., Ltd. | SWAT command and API for atomic swap and trim of LBAs |
US20150350206A1 (en) * | 2014-05-29 | 2015-12-03 | Samsung Electronics Co., Ltd. | Storage system and method for performing secure write protect thereof |
US10257192B2 (en) * | 2014-05-29 | 2019-04-09 | Samsung Electronics Co., Ltd. | Storage system and method for performing secure write protect thereof |
US20190213122A1 (en) * | 2014-06-30 | 2019-07-11 | Samsung Electronics Co., Ltd. | Method of operating data storage device and method of operating data processing system including the same |
US10572382B2 (en) * | 2014-06-30 | 2020-02-25 | Samsung Electronics Co., Ltd. | Method of operating data storage device and method of operating data processing system including the same |
WO2020118940A1 (en) * | 2018-12-09 | 2020-06-18 | 江苏华存电子科技有限公司 | Management method for multiple memory type configurations |
Also Published As
Publication number | Publication date |
---|---|
US8266366B2 (en) | 2012-09-11 |
US20120303881A1 (en) | 2012-11-29 |
US20100017559A1 (en) | 2010-01-21 |
US8504763B2 (en) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100017558A1 (en) | Memory device operable in read-only and re-writable modes of operation | |
US9063728B2 (en) | Systems and methods for handling hibernation data | |
KR101395778B1 (en) | Memory card and memory system including the same and operating method thereof | |
US7739443B2 (en) | Memory controller, memory device and control method for the memory controller | |
JP4852548B2 (en) | Method and apparatus for using memory programmable once or several times in a host device designed for erasable / rewritable memory | |
JP5295778B2 (en) | Flash memory management method | |
US8117374B2 (en) | Flash memory control devices that support multiple memory mapping schemes and methods of operating same | |
US7681008B2 (en) | Systems for managing file allocation table information | |
KR101930092B1 (en) | Mount-time reconciliation of data availability | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US9053007B2 (en) | Memory system, controller, and method for controlling memory system | |
JP2008511072A5 (en) | ||
WO2014158578A1 (en) | Overprovision capacity in a data storage device | |
US20200320012A1 (en) | Memory system and method for operating the same | |
JP2009003939A (en) | Memory system with flash memory device | |
US8954692B2 (en) | File protecting method and system, and memory controller and memory storage apparatus thereof | |
KR20190120573A (en) | Memory system, data processing system and operating method of the memory system | |
US20120089765A1 (en) | Method for performing automatic boundary alignment and related non-volatile memory device | |
CN113885808A (en) | Mapping information recording method, memory control circuit unit and memory device | |
EP2245527B1 (en) | Integration of secure data transfer applications for generic io devices | |
JP4929242B2 (en) | Semiconductor memory device | |
JP2009176147A (en) | Electronic equipment and method for determining permission of access to memory of electronic equipment | |
CN107229413B (en) | Memory management method, memory control circuit unit and memory storage device | |
CN104932831A (en) | Serial NAND flash memory and management method for managing built-in variable bad sectors of serial NAND flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SANDISK CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FRUIN, RICHARD MATTHEW;MOORE, CHRISTOPHER S.;YU, SAMUEL Y.;REEL/FRAME:023327/0304 Effective date: 20091005 |
|
AS | Assignment |
Owner name: SANDISK TECHNOLOGIES INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANDISK CORPORATION;REEL/FRAME:026226/0085 Effective date: 20110404 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: SANDISK TECHNOLOGIES LLC, TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:SANDISK TECHNOLOGIES INC;REEL/FRAME:038809/0672 Effective date: 20160516 |