US12189504B2 - Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance - Google Patents
Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance Download PDFInfo
- Publication number
- US12189504B2 US12189504B2 US17/903,854 US202217903854A US12189504B2 US 12189504 B2 US12189504 B2 US 12189504B2 US 202217903854 A US202217903854 A US 202217903854A US 12189504 B2 US12189504 B2 US 12189504B2
- Authority
- US
- United States
- Prior art keywords
- ssd
- volatile memory
- drive
- power
- drive parameters
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Definitions
- Drive parameters of SSDs include drive health parameters, drive internal statistics, drive thermal information, drive debug information, number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, firmware download information, etc., for example.
- a drive parameter is written to non-volatile memory of SSDs per policy, for example.
- Drive parameter writes to non-volatile memory in SSDs reduce performance of the SSDs.
- drive parameter writes can reduce SSD QoS metrics for random read workloads, which metrics measure response times by I/O completion percentages and are a key performance metric for the SSDs.
- systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance are provided.
- methods of reducing the impact of drive parameter writes on solid state drive (SSD) performance comprising: saving one or more SSD drive parameters of an SSD to volatile memory of the SSD using an SSD controller; detecting a power-loss condition in the SSD; and copying the one or more SSD drive parameters from the volatile memory of the SSD to non-volatile memory of the SSD.
- the SSD is a NAND SSD.
- the one or more SSD drive parameters include one or more of: a drive health parameter, a drive internal statistic, drive thermal information, drive debug information, a number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, and firmware download information.
- the volatile memory is one or more of: random-access memory and dynamic random-access memory.
- the power-loss condition is a supply voltage of the SSD dropping below a first threshold.
- the non-volatile memory is NAND memory.
- the method further comprises: detecting a power-restore condition in the SSD; and copying the one or more SSD drive parameters from the non-volatile memory of the SSD to the volatile memory of the SSD.
- the power-restore condition is the supply voltage of the SSD rising above below a second threshold.
- SSDs solid state drives
- each of the SSDs comprising: non-volatile memory; volatile memory; and an SSD controller coupled to the non-volatile memory and the volatile memory, and configured to: save one or more solid state drive (SSD) drive parameters of the SSD to the volatile memory of the SSD; detect a power-loss condition in the SSD; and copy the one or more SSD drive parameters from the volatile memory of the SSD to the non-volatile memory of the SSD.
- the SSD is a NAND SSD.
- the one or more SSD drive parameters include one or more of: a drive health parameter, a drive internal statistic, drive thermal information, drive debug information, a number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, and firmware download information.
- the volatile memory is one or more of: random-access memory and dynamic random-access memory.
- the power-loss condition is a supply voltage of the SSD dropping below a first threshold.
- the non-volatile memory is NAND memory.
- the SSD controller is further configured to: detect a power-restore condition in the SSD; and copy the one or more SSD drive parameters from the non-volatile memory of the SSD to the volatile memory of the SSD.
- the power-restore condition is the supply voltage of the SSD rising above below a second threshold.
- non-transitory computer-readable media containing computer executable instructions that, when executed by a SSD controller, cause the SSD controller to perform a method for reducing the impact of drive parameter writes on solid state drive (SSD) performance are provided, the method comprising: saving one or more SSD drive parameters of an SSD to volatile memory of the SSD; detecting a power-loss condition in the SSD; and copying the one or more SSD drive parameters from the volatile memory of the SSD to non-volatile memory of the SSD.
- the SSD is a NAND SSD.
- the one or more SSD drive parameters include one or more of: a drive health parameter, a drive internal statistic, drive thermal information, drive debug information, a number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, and firmware download information.
- the volatile memory is one or more of: random-access memory and dynamic random-access memory.
- the power-loss condition is a supply voltage of the SSD dropping below a first threshold.
- the non-volatile memory is NAND memory.
- the method further comprises: detecting a power-restore condition in the SSD; and copying the one or more SSD drive parameters from the non-volatile memory of the SSD to the volatile memory of the SSD.
- the power-restore condition is the supply voltage of the SSD rising above below a second threshold.
- FIG. 1 is an example of a process for saving drive parameter data in accordance with embodiment some embodiments.
- FIG. 2 is an example of a process for saving drive parameter(s) stored in volatile memory to non-volatile memory in response to a power-loss event in accordance with embodiment some embodiments.
- FIG. 3 is an example of a process for restoring drive parameters from non-volatile memory to volatile memory in response to a power-on signal in accordance with embodiment some embodiments.
- FIG. 4 is an example block diagram including some components of a SSD relevant to the processes of FIGS. 1 - 3 in accordance with embodiment some embodiments.
- mechanisms which can include systems, methods, and media, for reducing the impact of drive parameter writes on solid state drive (SSD) performance are provided.
- these mechanisms can be used to reduce the impact of drive parameter writes on NAND SSD performance.
- drive parameters which can include drive health parameters, drive internal statistics, drive thermal information, drive debug information, number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, firmware download information, etc.
- the drive parameters can be written to volatile memory implemented using random access memory (RAM), such as dynamic RAM (DRAM), that is part of an SSD.
- RAM random access memory
- DRAM dynamic RAM
- the volatile memory e.g., RAM/DRAM memory, can be protected from loss due to power failure.
- this volatile memory e.g., RAM/DRAM memory
- a power storage device that continues to provide power to the memory at least until the contents of the memory can be copied to another memory location that is non-volatile (such as a Power Loss Imminent (PLI) band of NAND memory) in an SSD.
- PKI Power Loss Imminent
- writing drive parameters to volatile memory that is part of an SSD can provide any one or more of the following benefits:
- volatile memory can include any suitable volatile memory, such as RAM, DRAM, etc. in some embodiments.
- non-volatile memory can include any suitable non-volatile memory, such as NAND memory, NOR memory, phase change memory, etc. in some embodiments.
- each of the one or more SSDs can include any suitable SSD, such as a NAND SSD, phase change memory SSD, etc.
- FIG. 1 an example 100 of a process for saving drive parameter data in accordance with embodiment some embodiments is illustrated.
- the process receives one or more drive parameters to be saved at 104 .
- Any suitable drive parameters can be received at 104 , and these drive parameters can be received in any suitable manner, in some embodiments.
- the received drive parameters can include drive health parameters, drive internal statistics, drive thermal information, drive debug information, number of host and non-volatile memory read and writes, media error handling data, temperature and throttle information, firmware download information, etc.
- the drive parameters can be internally generated or collected.
- process 100 can determine whether the received drive parameter(s) are to be save to volatile memory. This determination can be made in any suitable manner in some embodiments. For example, in some embodiments, process 100 can compare one or more identifiers for the drive parameter(s) to a list of drive parameters to be saved or not-to-be saved to volatile memory.
- process 100 can then save the drive parameter(s) to volatile memory at 108 .
- Process 100 can save the drive parameter(s) to any suitable volatile memory, such as RAM or DRAM memory at any suitable location, such as on the SSD, in some embodiments.
- Process 100 can save the drive parameter(s) to the volatile memory in any suitable manner, in some embodiments. For example, in some embodiments, process 100 can save the drive parameter(s) to the volatile memory in a table of parameter keys and parameter values.
- process 100 can then save the drive parameter(s) to non-volatile memory at 110 .
- Process 100 can save the drive parameter(s) to any suitable non-volatile memory in any suitable manner, in some embodiments. For example, in some embodiments, process 100 can save the drive parameter(s) to NAND memory in an SSD. As another example, in some embodiments, process 100 can save the drive parameter(s) to the non-volatile memory as currently known in the art.
- process can loop back to 104 to wait for the receipt of more drive parameter(s) to be save.
- FIG. 2 an example 200 of a process for saving drive parameter(s) stored in volatile memory to non-volatile memory, such as NAND memory, in response to a power-loss event (e.g., a power loss imminent (PLI) event) is illustrated.
- a power-loss event e.g., a power loss imminent (PLI) event
- the process can determine if there is a power-loss event occurring at 204 .
- This determination can be made in any suitable manner such as by determining that a supply voltage has dropped below a threshold level in some embodiments.
- Any suitable threshold level can be used, such as a percentage (e.g., 95%, 90%, 85%, 80%, etc.) of the supply voltage when not in a power-loss event, in some embodiments.
- determining that a supply voltage has dropped below a threshold level can be performed by using a comparator to compare the supply voltage to a reference voltage set to the threshold level.
- process 200 can wait some period of time (or not in some embodiments) and loop back to 204 . Otherwise, if it is determined at 204 that a power-loss event is occurring, then process 200 can assemble drive parameter(s) to be saved to non-volatile memory at 206 . Assembling drive parameter(s) to be saved to non-volatile memory can be performed in any suitable manner in some embodiments. For example, in some embodiments, assembling drive parameter(s) to be saved to non-volatile memory can include copying from various portions of volatile memory to one portion of volatile memory components that need to be made power-loss safe.
- process 200 can save the assembled drive parameter(s) to non-volatile memory at 208 .
- the assembled drive parameter(s) can be saved to any suitable non-volatile memory (such as NAND memory, NOR memory, phase change memory, etc.) and the saving can be performed in any suitable manner, in some embodiments.
- the non-volatile memory can be a Power Loss Imminent (PLI) band of a NAND memory bank, in some embodiments.
- PLI Power Loss Imminent
- process 200 can loop back to 204 in some embodiments.
- process 200 is shown with repeatedly checking for power-loss events at 204 , it should be understood that process 200 can replace 204 with block for receiving a signal indicating a power loss event, which can be an interrupt, in some embodiments.
- FIG. 3 an example 300 of a process for restoring drive parameters from non-volatile memory to volatile memory in response to a power-on signal is illustrated.
- the process can receive a power-on signal indicating that power has been restored to an SSD.
- This power-on signal can be from any suitable source and can be received in any suitable manner.
- this signal can be generated by a comparator that determines that a supply voltage meets and/or exceeds a threshold level equal to some percentage (e.g., 95%, 90%, 85%, 80%, etc.) of the supply voltage when not in a power-loss event (e.g., a PLI event), in some embodiments.
- process 300 can restore the drive parameter(s) from non-volatile memory (such as a PLI band of NAND memory) to volatile memory (such as RAM/DRAM memory), in some embodiments. Restoring the drive parameter(s) can be performed in any suitable manner in some embodiments.
- non-volatile memory such as a PLI band of NAND memory
- volatile memory such as RAM/DRAM memory
- process 300 can end at 308 in some embodiments.
- SSD 401 is connected to a supply voltage 402 and a bus 414 .
- Supply voltage 402 can be any suitable voltage 402 for powering SSD 401 in some embodiments.
- Bus 414 can be any suitable bus for connecting SSD 401 to a host device, such as a general or special purpose computers (e.g., a server, a laptop computer, a desktop computer, a tablet computer, a mobile telephone, a gateway, a router, and/or any other devices capable of connecting to an SSD).
- bus 414 can be a PCIE bus.
- bus 414 can be a SATA bus.
- SSD 401 can include a Power-Loss Imminent (PLI) detector and switch 404 , a power storage device 406 , an SSD controller 408 , non-volatile memory 410 , volatile memory 412 , and/or any other suitable device(s) not shown.
- PKI Power-Loss Imminent
- PLI detector and switch 404 can be any suitable component or combination of components for detecting an imminent power loss and switching SSD components from being powered by supply voltage 402 or being powered by power storage device 406 .
- PLI detector and switch 404 can include one or more switches (e.g., MOSFETs) that can be used to switch the power provided to the SSD components as coming from either supply voltage 402 or power storage device 406 in response to the output out the one or more comparators.
- switches e.g., MOSFETs
- Power storage device 406 can be any suitable one or more components for storing power to be provided to components of SSD 401 in a power-loss event.
- power storage device 406 can be one or more capacitors, which can be implemented in any suitable manner in some embodiments.
- power storage device 406 can be one or more batteries, which can be implemented in any suitable manner in some embodiments.
- SSD controller 408 can be any suitable one or more device for collectively controlling the operation of SSD 401 .
- SSD controller 408 can include a microprocessor, a micro-controller, digital signal processor(s), dedicated logic, and/or any other suitable circuitry for controlling the operation of SSD 401 .
- SSD controller 408 can include any suitable buffers, registers, memories, etc. for storing code and/or data used for controlling the operation of SSD 401 .
- Non-volatile memory 410 can be any suitable non-volatile memory, such as NAND memory, NOR memory, phase change memory, etc., in some embodiments.
- Volatile memory 412 can be any suitable volatile memory in some embodiments.
- volatile memory 412 can be random access memory (RAM). More particularly, for example, in some embodiments, volatile memory 412 can be dynamic random-access memory (DRAM).
- RAM random access memory
- DRAM dynamic random-access memory
- At least some of the above-described blocks of the processes of FIGS. 1 - 3 can be executed or performed in any order or sequence not limited to the order and sequence shown in and described in connection with the figure. Also, some of the above blocks of FIGS. 1 - 3 can be executed or performed substantially simultaneously where appropriate or in parallel to reduce latency and processing times in some embodiments. Additionally or alternatively, some of the above described blocks of the processes of FIGS. 1 - 3 can be omitted in some embodiments. Additionally or alternatively, some of the above described blocks of the processes of FIGS. 1 - 3 can be combined into one processes in some embodiments.
- any suitable computer readable media can be used for storing instructions for performing the functions and/or processes herein.
- computer readable media can be transitory or non-transitory.
- non-transitory computer readable media can include media such as non-transitory forms of magnetic media (such as hard disks, floppy disks, and/or any other suitable magnetic media), non-transitory forms of optical media (such as compact discs, digital video discs, Blu-ray discs, and/or any other suitable optical media), non-transitory forms of semiconductor media (such as flash memory, electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or any other suitable semiconductor media), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media.
- transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
-
- It can improve the random read QoS performance of the SSD during non-PLI periods due to not performing drive parameter writes to non-volatile memory during this time;
- It can ensure that drive parameters are not lost during PLI events when the drive parameters are written to volatile memory that is connected to a power supply that continues to provide power to the volatile memory at least until the contents of the memory can be copied to another location that is non-volatile;
- It can reduce firmware overhead to service those writes as well as other latencies (such as Program Suspend Resume (PSR) and channel processing overhead);
- It can improve random read QoS performance without negatively impacting read/write performance or latency in other workloads;
- It can present a low complexity solution with a significant improvement to random read QoS, for example, at higher QoS confidence levels (e.g., 99.999%, 99.9999%, etc.); and
- It can reduce the overall writes in the system and thereby improve performance and QOS.
Claims (24)
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/903,854 US12189504B2 (en) | 2022-09-06 | 2022-09-06 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
| TW112133319A TW202427166A (en) | 2022-09-06 | 2023-09-01 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
| CN202380077002.8A CN120153345A (en) | 2022-09-06 | 2023-09-05 | Systems, methods, and media for reducing the impact of drive parameter writing on solid-state drive performance |
| EP23863722.7A EP4584672A1 (en) | 2022-09-06 | 2023-09-05 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
| JP2025513727A JP2025530145A (en) | 2022-09-06 | 2023-09-05 | Systems, methods, and media for reducing the impact of drive parameter writing on solid-state drive performance |
| KR1020257010831A KR20250065363A (en) | 2022-09-06 | 2023-09-05 | Systems, methods, and media for reducing the impact of drive parameter entries on solid-state drive performance |
| PCT/US2023/032001 WO2024054450A1 (en) | 2022-09-06 | 2023-09-05 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/903,854 US12189504B2 (en) | 2022-09-06 | 2022-09-06 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240095139A1 US20240095139A1 (en) | 2024-03-21 |
| US12189504B2 true US12189504B2 (en) | 2025-01-07 |
Family
ID=90191717
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/903,854 Active US12189504B2 (en) | 2022-09-06 | 2022-09-06 | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US12189504B2 (en) |
| EP (1) | EP4584672A1 (en) |
| JP (1) | JP2025530145A (en) |
| KR (1) | KR20250065363A (en) |
| CN (1) | CN120153345A (en) |
| TW (1) | TW202427166A (en) |
| WO (1) | WO2024054450A1 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090182962A1 (en) | 2008-01-16 | 2009-07-16 | Apple Inc. | Memory Subsystem Hibernation |
| US20100199021A1 (en) | 2009-02-05 | 2010-08-05 | International Business Machines Corporation | Firehose Dump of SRAM Write Cache Data to Non-Volatile Memory Using a Supercap |
| JP2014142893A (en) | 2013-01-25 | 2014-08-07 | Nec Corp | Storage device, method, and program |
| US20150058533A1 (en) | 2013-08-20 | 2015-02-26 | Lsi Corporation | Data storage controller and method for exposing information stored in a data storage controller to a host system |
| US20160118130A1 (en) | 2014-10-24 | 2016-04-28 | HGST Netherlands B.V. | Performance acceleration during shutdown of a data storage device |
| US10242734B1 (en) * | 2017-09-29 | 2019-03-26 | Intel Corporation | Resuming storage die programming after power loss |
-
2022
- 2022-09-06 US US17/903,854 patent/US12189504B2/en active Active
-
2023
- 2023-09-01 TW TW112133319A patent/TW202427166A/en unknown
- 2023-09-05 WO PCT/US2023/032001 patent/WO2024054450A1/en not_active Ceased
- 2023-09-05 CN CN202380077002.8A patent/CN120153345A/en active Pending
- 2023-09-05 KR KR1020257010831A patent/KR20250065363A/en active Pending
- 2023-09-05 JP JP2025513727A patent/JP2025530145A/en active Pending
- 2023-09-05 EP EP23863722.7A patent/EP4584672A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090182962A1 (en) | 2008-01-16 | 2009-07-16 | Apple Inc. | Memory Subsystem Hibernation |
| US20100199021A1 (en) | 2009-02-05 | 2010-08-05 | International Business Machines Corporation | Firehose Dump of SRAM Write Cache Data to Non-Volatile Memory Using a Supercap |
| JP2014142893A (en) | 2013-01-25 | 2014-08-07 | Nec Corp | Storage device, method, and program |
| US20150058533A1 (en) | 2013-08-20 | 2015-02-26 | Lsi Corporation | Data storage controller and method for exposing information stored in a data storage controller to a host system |
| US20160118130A1 (en) | 2014-10-24 | 2016-04-28 | HGST Netherlands B.V. | Performance acceleration during shutdown of a data storage device |
| US10242734B1 (en) * | 2017-09-29 | 2019-03-26 | Intel Corporation | Resuming storage die programming after power loss |
Non-Patent Citations (1)
| Title |
|---|
| International Search Report and Written Opinion dated Dec. 21, 2023 in International Patent Application No. PCT/US2023/032001, pp. 1-10. |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20250065363A (en) | 2025-05-12 |
| EP4584672A1 (en) | 2025-07-16 |
| CN120153345A (en) | 2025-06-13 |
| TW202427166A (en) | 2024-07-01 |
| WO2024054450A1 (en) | 2024-03-14 |
| JP2025530145A (en) | 2025-09-11 |
| US20240095139A1 (en) | 2024-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20080082744A1 (en) | Storage system having data comparison function | |
| JP5448013B2 (en) | System, method, and computer program product for delaying operations that reduce memory life | |
| US8411526B2 (en) | Storage device, electronic device, and storage device control method | |
| US10803972B2 (en) | Flash memory module, storage system, and method of controlling flash memory | |
| US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
| US10234929B2 (en) | Storage system and control apparatus | |
| KR102527925B1 (en) | Memory system and operating method thereof | |
| KR20100057655A (en) | Method and system for preventing corruption of hard disk drive file system | |
| US20170068457A1 (en) | Storage control apparatus, control method, and non-transitory computer-readable storage medium | |
| US12045460B2 (en) | Temperature control method and data storage system | |
| US10268598B2 (en) | Primary memory module with record of usage history | |
| US12189504B2 (en) | Systems, methods, and media for reducing the impact of drive parameter writes on solid state drive performance | |
| WO2021088368A1 (en) | Method and device for repairing memory | |
| US20170046219A1 (en) | Systems and methods of memory bit flip identification for debugging and power management | |
| US12287979B2 (en) | Data storage apparatus and operating method thereof | |
| US12067265B2 (en) | Idle power mode for external storage device | |
| US20260029963A1 (en) | Storage device, data processing method thereof and non-transitory computer readable storage medium | |
| TWI871806B (en) | Device control method and a data storage system | |
| US11989412B2 (en) | Storage system and method for minimizing node down time | |
| KR20140101626A (en) | Data processing method of solid state drive | |
| US20230289093A1 (en) | Automatic Prediction Timers Adaptation | |
| KR20250174268A (en) | Storage device for controlling flush area and operating method thereof | |
| CN118098314A (en) | A storage device management method and device | |
| CN120045363A (en) | Computer system, memory exception handling method and storage medium | |
| CN116737615A (en) | Solid state disk PLP abnormal power failure protection method and device and computer equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: SK HYNIX NAND PRODUCT SOLUTIONS CORP., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GANGADHAR, SARVESH VARAKABE;PELSTER, DAVID J.;GOVINDARAJAN, BHARGAVI;AND OTHERS;SIGNING DATES FROM 20220830 TO 20220902;REEL/FRAME:062707/0587 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: SK HYNIX NAND PRODUCT SOLUTIONS CORP., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GANGADHAR, SARVESH VARAKABE;PELSTER, DAVID J.;GOVINDARAJAN, BHARGAVI;AND OTHERS;SIGNING DATES FROM 20240911 TO 20250227;REEL/FRAME:070347/0613 |