WO2009134576A1 - Copyback optimization for memory system - Google Patents
Copyback optimization for memory system Download PDFInfo
- Publication number
- WO2009134576A1 WO2009134576A1 PCT/US2009/039160 US2009039160W WO2009134576A1 WO 2009134576 A1 WO2009134576 A1 WO 2009134576A1 US 2009039160 W US2009039160 W US 2009039160W WO 2009134576 A1 WO2009134576 A1 WO 2009134576A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data page
- changed
- memory
- data
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Definitions
- Flash memory is a type of electrically erasable programmable read-only memory (EEPROM). Because flash memories are non-volatile and relatively dense, they are used to store files and other persistent objects in handheld computers, mobile phones, digital cameras, portable music players, and many other devices in which other storage solutions (e.g., magnetic disks) are inappropriate.
- EEPROM electrically erasable programmable read-only memory
- flash memories are non-volatile and relatively dense, they are used to store files and other persistent objects in handheld computers, mobile phones, digital cameras, portable music players, and many other devices in which other storage solutions (e.g., magnetic disks) are inappropriate.
- EEPROM electrically erasable programmable read-only memory
- data page change indicators are used to manage transfers of data pages between a register in non-volatile memory and a controller that is external to the non-volatile memory.
- FIG. IA is a block diagram of an example memory system for implementing an optimized copyback process.
- FIG. IB is a block diagram of another example memory system for implementing an optimized copyback process.
- FIG. 2 is a flow diagram of an example optimized copyback process 200 for computing and storing data change indicators used by the memory systems of FIGS. IA and IB.
- FIGS. 3A-3C are flow diagrams of an example optimized copyback process implemented by the memory systems of FIGS. IA and IB.
- FIG. 4 is a flow diagram of an example optimized read operation implemented by the memory systems of FIGS. IA and IB.
- FIG. 5 illustrates example data structures used by the copyback process of FIGS. 3A-3C.
- FIG. IA is a block diagram of an example memory system 100 for implementing an optimized copyback process.
- the system 100 can include a memory subsystem 102 coupled to a host device 124 through an external bus 122 (e.g., Open NAND Flash Interface (ONFI), ATA).
- the host device 124 can be any electronic device including but not limited to smart phones, media players, text messaging devices, portable computers, solid state drives, digital cameras, etc.
- the memory subsystem 102 can be any non-volatile memory subsystem (e.g., managed NAND).
- the host device 124 can include a system-on-chip (SoC) 126 and volatile memory 128.
- SoC system-on-chip
- the SoC 126 can include hardware and software for interacting with the memory subsystem 102, such as transmitting read and write requests made by applications running on the host device 124.
- the memory subsystem 102 can include non-volatile memory 104 (also referred to as "raw memory") and an external controller 116.
- the memory 104 can include a memory cell array 106, an internal state machine 108, a memory register 110 and data change indicator (DCI) 130.
- the controller 116 can include a processor 118, volatile memory 114 and error correction code (ECC) engine 120.
- ECC error correction code
- Other configurations for the memory subsystem 102 are possible.
- a cache register can be included in the data path between the memory cell array 106 and the memory register 110 to allow the internal state machine to read the next data page from the memory cell array 106 while transferring the current page to the controller 116 over internal bus 112.
- FIG. IB is a block diagram of another example memory system 130 for implementing an optimized copyback process.
- the system 130 shows only the memory subsystem 102, the operation of which was described in reference to FIG. IA.
- Copyback can be a memory subsystem command to move data from one page to another page. Copyback can be used in wear leveling and other nonvolatile memory management operations.
- a data page is read from the memory cell array 106 and stored in the memory register 110 by the internal state machine.
- the external controller 116 reads or clocks the data page out of the memory register 110 so that the processor 118 can perform a desired operation on the data page (e.g., an ECC operation).
- the processed data page can be written back to the memory register 110 by the controller 116.
- the internal state machine 108 can write the contents of the memory register 110 into a new data page in the memory cell array 106.
- FIG. 2 is a flow diagram of an example optimized copyback process 200 for computing and storing data change indicators used by the memory systems of FIGS. IA and IB.
- the process 200 can begin when new data page is transferred into a memory register of a memory subsystem (202).
- a DCI can be computed for the data page and stored in the memory subsystem (204).
- Some examples of data change indicators can include error detection codes (EDCs), including but not limited to: checksum, Hamming code, parity bit, cyclic redundancy check (CRC), polarity symbol reversal, Turbo code, etc.
- EDCs error detection codes
- CRC cyclic redundancy check
- An EDC can also be part of an ECC, such as Reed-Solomon code, Reed-Muller code, Binary Golay code, and low-density parity-check codes.
- ECC Err-Solomon code
- Reed-Muller code Reed-Muller code
- Binary Golay code Binary Golay code
- low-density parity-check codes After the DCIs are computed and stored, the register contents can be written to non-volatile memory (206). DCIs can be used for the optimized copyback process described in reference to FIGS. 3A-3C.
- FIGS. 3A-3C are flow diagrams of an example optimized copyback process 300 implemented by the memory systems of FIGS. IA and IB.
- the process 300 can begin by reading a data page from non-volatile memory (e.g., memory cell array 106) and storing the data page in a memory register (302) (e.g., register 110).
- a DCI e.g., DCI 130
- the DCI can be verified for the data page in the memory register (304).
- the DCI can be previously computed and stored in the memory subsystem when the data page is first written to non-volatile memory (e.g., using process 200).
- the DCI can be computed "on the fly" as part of the read operation or as a separate operation.
- the memory subsystem can report to an external controller (e.g., external controller 116) that the read operation has completed (306).
- the data page can be transferred to the external controller (310), an ECC can be computed for the data page (312) and the ECC information for the data page can be corrected in the external controller (314).
- the data page and associated ECC can be transferred back to the memory register (316).
- a new DCI can be computed for the data page in the memory register (318).
- an ECC can be computed for new metadata associated with the data page (320).
- the new metadata and associated ECC can be transferred to the memory register (322).
- a new DCI can be computed for the metadata in the memory register (324).
- the memory register contents can be written to a new data page in non-volatile memory (326).
- FIG. 4 is a flow diagram of an example optimized read operation implemented by the memory systems of FIGS. IA and IB.
- the process 400 can begin by reading a data page from non-volatile memory and storing the data page in a memory register (402).
- a pre-computed DCI associated with the data page can be clocked into the memory register from a storage location in the memory subsystem and verified (404).
- the DCI can also be computed "on the fly.”
- the status of the DCI can be read to determine if the data page has changed (406).
- an ECC for the new metadata associated with the data page can be computed and transferred, together with the new metadata to the memory register (412).
- a new DCI can be computed for the metadata in the memory register and the register contents can be written to a new data page in non-volatile memory (414).
- the memory register contents can be transferred to an external controller and an ECC can be computed by the external controller (410).
- An ECC for the new metadata associated with the data page can be computed and transferred by the external controller, together with the new metadata to the memory register (412).
- a new DCI can be computed for the metadata in the memory register and the register contents can be written to a new data page in non-volatile memory (414).
- FIG. 5 illustrates example data structures used by the copyback process of FIGS. 3A-3C.
- a data page 500 in non-volatile memory includes metadata 502, metadata ECC 504, data 506 and data ECC 508. If the data has not changed than only the metadata 502 and the metadata ECC 504 are transferred from the register to the external controller 510 for processing. The processed metadata 502 and metadata ECC 504 are transferred back to the memory subsystem and stored in the memory register. The data page can the be written to a new data page in non-volatile memory (e.g., a memory cell array).
- a number of implementations have been described. Nevertheless, it will be understood that various modifications may be made.
Abstract
Description
Claims
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT09739378T ATE535866T1 (en) | 2008-04-30 | 2009-04-01 | COPYBACK OPTIMIZATION FOR A STORAGE SYSTEM |
KR1020107026742A KR101225924B1 (en) | 2008-04-30 | 2009-04-01 | Copyback optimization for memory system |
ES09739378T ES2378371T3 (en) | 2008-04-30 | 2009-04-01 | Copy optimization for a memory system |
CN2009801252990A CN102077176B (en) | 2008-04-30 | 2009-04-01 | Copyback optimization for memory system |
KR1020127013247A KR101471262B1 (en) | 2008-04-30 | 2009-04-01 | Copyback optimization for memory system |
EP09739378A EP2297642B1 (en) | 2008-04-30 | 2009-04-01 | Copyback optimization for memory system |
JP2011507514A JP5192587B2 (en) | 2008-04-30 | 2009-04-01 | Memory system copyback optimization |
HK11109601.9A HK1155530A1 (en) | 2008-04-30 | 2011-09-09 | Copyback optimization for memory system |
HK11112791.3A HK1158344A1 (en) | 2008-04-30 | 2011-11-25 | Copyback optimization for memory system |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4933008P | 2008-04-30 | 2008-04-30 | |
US61/049,330 | 2008-04-30 | ||
US12/193,638 | 2008-08-18 | ||
US12/193,638 US8185706B2 (en) | 2008-04-30 | 2008-08-18 | Copyback optimization for memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009134576A1 true WO2009134576A1 (en) | 2009-11-05 |
Family
ID=40801795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2009/039160 WO2009134576A1 (en) | 2008-04-30 | 2009-04-01 | Copyback optimization for memory system |
Country Status (9)
Country | Link |
---|---|
US (2) | US8185706B2 (en) |
EP (2) | EP2407883B1 (en) |
JP (1) | JP5192587B2 (en) |
KR (2) | KR101471262B1 (en) |
CN (1) | CN102077176B (en) |
AT (1) | ATE535866T1 (en) |
ES (1) | ES2378371T3 (en) |
HK (3) | HK1166390A1 (en) |
WO (1) | WO2009134576A1 (en) |
Cited By (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011090545A3 (en) * | 2009-12-30 | 2012-04-12 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
WO2012177516A1 (en) * | 2011-06-19 | 2012-12-27 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8473814B2 (en) | 2010-03-17 | 2013-06-25 | Sandisk Enterprise Ip Llc | MLC self-RAID flash data protection scheme |
US8533384B2 (en) | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101844346B1 (en) * | 2010-11-05 | 2018-04-02 | 삼성전자주식회사 | Memory system and method of operating a memory system |
CN108600043A (en) * | 2018-04-02 | 2018-09-28 | 郑州云海信息技术有限公司 | The method of Connection Service device and control terminal, server Memory function module test methods |
US11556267B2 (en) * | 2020-08-31 | 2023-01-17 | Micron Technology, Inc. | Data management during a copyback operation |
US11436142B1 (en) * | 2021-04-23 | 2022-09-06 | EMC IP Holding Company, LLC | System and method for moving metadata without updating references used by the metadata |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
US20060050576A1 (en) * | 2004-09-09 | 2006-03-09 | Samsung Electronics Co., Ltd. | NAND flash memory device and copyback program method for same |
US20070048715A1 (en) * | 2004-12-21 | 2007-03-01 | International Business Machines Corporation | Subtitle generation and retrieval combining document processing with voice processing |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2292803A1 (en) * | 1974-11-29 | 1976-06-25 | Nord Ressorts | ELASTIC DEVICE FOR RAIL FIXING AND RAIL FIXING SYSTEM WITH APPLICATION |
US5555379A (en) | 1994-07-06 | 1996-09-10 | Advanced Micro Devices, Inc. | Cache controller index address generator |
US5732275A (en) * | 1996-01-11 | 1998-03-24 | Apple Computer, Inc. | Method and apparatus for managing and automatically updating software programs |
JPH11259357A (en) * | 1998-03-09 | 1999-09-24 | Seiko Epson Corp | Semiconductor integrated device and nonvolatile memory writing system |
JP3376331B2 (en) * | 1999-11-25 | 2003-02-10 | エヌイーシーアクセステクニカ株式会社 | Storage method using flash memory and storage medium storing storage control program |
US6601216B1 (en) * | 2000-03-31 | 2003-07-29 | Microsoft Corporation | Differential cyclic redundancy check |
US6918007B2 (en) * | 2002-09-09 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Memory controller interface with XOR operations on memory read to accelerate RAID operations |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7287209B2 (en) * | 2004-06-03 | 2007-10-23 | Cheertek, Inc. | System and method for detecting codeword errors in error correction code or cyclic redundancy check code |
TWI258074B (en) | 2004-12-24 | 2006-07-11 | Phison Electronics Corp | Method for reducing data error when flash memory storage device executing copy back command |
JP4688584B2 (en) * | 2005-06-21 | 2011-05-25 | 株式会社日立製作所 | Storage device |
US7362611B2 (en) * | 2005-08-30 | 2008-04-22 | Micron Technology, Inc. | Non-volatile memory copy back |
US7512864B2 (en) * | 2005-09-30 | 2009-03-31 | Josef Zeevi | System and method of accessing non-volatile computer memory |
JP4956230B2 (en) * | 2006-04-10 | 2012-06-20 | 株式会社東芝 | Memory controller |
US20070276863A1 (en) * | 2006-05-02 | 2007-11-29 | Research In Motion Limited | Plug in registration method and apparatus for push content delivery |
US20070268905A1 (en) * | 2006-05-18 | 2007-11-22 | Sigmatel, Inc. | Non-volatile memory error correction system and method |
JP2007310680A (en) * | 2006-05-18 | 2007-11-29 | Matsushita Electric Ind Co Ltd | Nonvolatile storage device and its data transfer method |
KR100881669B1 (en) * | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | Method for detecting of static data area and for wear-leveling and for merging data unit of non-volatile data storage and apparatus thereof |
US20080288712A1 (en) * | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
-
2008
- 2008-08-18 US US12/193,638 patent/US8185706B2/en active Active
-
2009
- 2009-04-01 CN CN2009801252990A patent/CN102077176B/en not_active Expired - Fee Related
- 2009-04-01 KR KR1020127013247A patent/KR101471262B1/en active IP Right Grant
- 2009-04-01 KR KR1020107026742A patent/KR101225924B1/en active IP Right Grant
- 2009-04-01 ES ES09739378T patent/ES2378371T3/en active Active
- 2009-04-01 JP JP2011507514A patent/JP5192587B2/en not_active Expired - Fee Related
- 2009-04-01 AT AT09739378T patent/ATE535866T1/en active
- 2009-04-01 EP EP11183929.6A patent/EP2407883B1/en not_active Not-in-force
- 2009-04-01 EP EP09739378A patent/EP2297642B1/en active Active
- 2009-04-01 WO PCT/US2009/039160 patent/WO2009134576A1/en active Application Filing
-
2011
- 2011-09-09 HK HK12106948.6A patent/HK1166390A1/en not_active IP Right Cessation
- 2011-09-09 HK HK11109601.9A patent/HK1155530A1/en not_active IP Right Cessation
- 2011-11-25 HK HK11112791.3A patent/HK1158344A1/en not_active IP Right Cessation
-
2012
- 2012-05-21 US US13/476,605 patent/US8572335B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
US20060050576A1 (en) * | 2004-09-09 | 2006-03-09 | Samsung Electronics Co., Ltd. | NAND flash memory device and copyback program method for same |
US20070048715A1 (en) * | 2004-12-21 | 2007-03-01 | International Business Machines Corporation | Subtitle generation and retrieval combining document processing with voice processing |
Cited By (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
US8959282B2 (en) | 2007-12-27 | 2015-02-17 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
US9239783B2 (en) | 2007-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
US8959283B2 (en) | 2007-12-27 | 2015-02-17 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
US8738841B2 (en) | 2007-12-27 | 2014-05-27 | Sandisk Enterprise IP LLC. | Flash memory controller and system including data pipelines incorporating multiple buffers |
US9483210B2 (en) | 2007-12-27 | 2016-11-01 | Sandisk Technologies Llc | Flash storage controller execute loop |
US8533384B2 (en) | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US9152556B2 (en) | 2007-12-27 | 2015-10-06 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
US9448743B2 (en) | 2007-12-27 | 2016-09-20 | Sandisk Technologies Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US8621137B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
US8762620B2 (en) | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
US8775717B2 (en) | 2007-12-27 | 2014-07-08 | Sandisk Enterprise Ip Llc | Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories |
US9158677B2 (en) | 2007-12-27 | 2015-10-13 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
CN102782654A (en) * | 2009-12-30 | 2012-11-14 | 桑迪士克科技股份有限公司 | Method and controller for performing a copy-back operation |
WO2011090545A3 (en) * | 2009-12-30 | 2012-04-12 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
USRE46013E1 (en) | 2009-12-30 | 2016-05-24 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8484533B2 (en) | 2010-03-17 | 2013-07-09 | Sandisk Enterprise Ip Llc | MLC self-RAID flash data protection scheme |
US8484534B2 (en) | 2010-03-17 | 2013-07-09 | Sandisk Enterprise IP LLC. | MLC self-RAID flash data protection scheme |
US8473814B2 (en) | 2010-03-17 | 2013-06-25 | Sandisk Enterprise Ip Llc | MLC self-RAID flash data protection scheme |
US8909982B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
WO2012177516A1 (en) * | 2011-06-19 | 2012-12-27 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8938658B2 (en) | 2011-11-07 | 2015-01-20 | Sandisk Enterprise Ip Llc | Statistical read comparison signal generation for memory systems |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
Also Published As
Publication number | Publication date |
---|---|
KR101471262B1 (en) | 2014-12-10 |
HK1155530A1 (en) | 2012-05-18 |
US8572335B2 (en) | 2013-10-29 |
US20120233387A1 (en) | 2012-09-13 |
HK1158344A1 (en) | 2012-07-13 |
EP2407883B1 (en) | 2013-08-21 |
US8185706B2 (en) | 2012-05-22 |
HK1166390A1 (en) | 2012-10-26 |
EP2297642B1 (en) | 2011-11-30 |
EP2407883A1 (en) | 2012-01-18 |
KR20110008301A (en) | 2011-01-26 |
CN102077176B (en) | 2013-06-19 |
EP2297642A1 (en) | 2011-03-23 |
CN102077176A (en) | 2011-05-25 |
KR20120059658A (en) | 2012-06-08 |
JP5192587B2 (en) | 2013-05-08 |
ES2378371T3 (en) | 2012-04-11 |
JP2011520188A (en) | 2011-07-14 |
ATE535866T1 (en) | 2011-12-15 |
KR101225924B1 (en) | 2013-01-24 |
US20090276560A1 (en) | 2009-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8185706B2 (en) | Copyback optimization for memory system | |
US10998923B2 (en) | Stopping criteria for layered iterative error correction | |
US8650463B2 (en) | Solid state drive and method of controlling an error thereof | |
US9875035B2 (en) | Memory system having a read and copy-back operation and method for the same | |
US9602134B2 (en) | Operating method of error correction code decoder and memory controller including the error correction code decoder | |
US9110786B2 (en) | Read operation prior to retrieval of scatter gather list | |
US10347349B2 (en) | Method and device for fail-safe erase of flash memory | |
US11138080B2 (en) | Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure | |
CN106372011B (en) | High performance host queue monitor for PCIE SSD controller | |
KR20210006102A (en) | Memory system for determining usage of buffer based on i/o throughput and operation method thereof | |
US20170286219A1 (en) | Data storage device and operating method thereof | |
US10289328B2 (en) | Memory controller and method for handling host request based on data character | |
US11126376B2 (en) | Apparatus and method for performing recovery operation of memory system | |
TW201928958A (en) | Data protecting method, memory control circuit unit and memory storage apparatus | |
CN109918315B (en) | Memory system and operation method thereof | |
TWI436209B (en) | Memory management table proceesing method, memory controller and memory storage apparatus | |
CN110008145B (en) | Data protection method, memory control circuit unit and memory storage device | |
US9990974B2 (en) | Memory system having address synchronizer and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980125299.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09739378 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011507514 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009739378 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107026742 Country of ref document: KR Kind code of ref document: A |