KR100920960B1 - 상대등급을 이용하여 플래시 메모리에서 마모 평준화를달성 하는 방법 - Google Patents
상대등급을 이용하여 플래시 메모리에서 마모 평준화를달성 하는 방법 Download PDFInfo
- Publication number
- KR100920960B1 KR100920960B1 KR1020077020723A KR20077020723A KR100920960B1 KR 100920960 B1 KR100920960 B1 KR 100920960B1 KR 1020077020723 A KR1020077020723 A KR 1020077020723A KR 20077020723 A KR20077020723 A KR 20077020723A KR 100920960 B1 KR100920960 B1 KR 100920960B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- blocks
- relative
- deleted
- memory
- Prior art date
Links
Images
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/18—Flash erasure of all the cells in an array, sector or block simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (17)
- 복수의 블록을 포함하는 메모리 디바이스의 메모리를 관리하는 방법으로서, 각 블록에 대해, 상기 방법은,(a) 상기 각 블록이 삭제된 횟수와 적어도 하나의 다른 블록이 삭제된 횟수의 함수인 수를 연산하는 단계; 및(b) 상기 수를 메모리 디바이스에 저장하는 단계;를 포함하고, 상기 각 블록에 대해, 상기 함수는 상기 각 블록의 상대 등급인 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서, 각 블록에 대해,(c) 상기 각 블록이 삭제될 때마다 상기 수를 업데이트하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서, 각 블록에 대해,(c) 상기 적어도 하나의 다른 블록 중 하나가 삭제될 때마다 상기 수를 업데이트하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서,(c) 상기 수에 따라 적어도 부분적으로 삭제될 적어도 하나의 블록을 선택하 는 단계;를 더 포함하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서,상기 저장하는 단계는 상기 블록들 중 적어도 하나의 각각에 대해 상기 각각의 블록에 상기 수를 저장하는 단계를 포함하는 단계에 의해 달성되는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서,상기 저장하는 단계는 상기 블록의 적어도 하나의 각각에 대해, 상기 각각의 블록 외부에 상기 수를 저장하는 단계에 의해 달성되는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 삭제
- 제 1 항에 있어서,상기 블록의 적어도 하나의 각각에 대해, 상기 상대 등급은 상기 각각의 블록의 삭제 카운트와 하나의 다른 블록의 삭제 카운트 사이의 차이에 의존하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 8 항에 있어서,상기 하나의 다른 블록은 상기 각 블록의 이웃한 블록인 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서,상기 블록의 적어도 하나의 각각에 대해, 상기 상대 등급은 상기 각 블록의 삭제 카운트와 적어도 2 개의 다른 블록의 평균 삭제 카운트 사이의 차에 의존하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 10 항에 있어서,상기 적어도 2개의 다른 블록들 중 적어도 하나는 상기 각 블록의 이웃하는 블록인 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- 제 1 항에 있어서,상기 연산하는 단계는, 각 블록에 대해, 블록당 최대 허용된 삭제 사이클의 수를 저장하기에 불충분한 비트 수에서 상기 함수의 끝수를 버리는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스의 메모리를 관리하는 방법.
- (a) 복수의 블록을 포함하는 메모리; 및(b) 상기 각 블록에 대해:(i) 상기 각 블록이 삭제된 수와 적어도 하나의 다른 블록이 삭제된 수의 함수인 수를 연산하는 단계, 및(ii) 상기 수를 메모리 디바이스에 저장하는 단계를 포함하는 단계에 의해 상기 메모리를 관리하는 컨트롤러;를 포함하고, 상기 각 블록에 대해, 상기 함수는 상기 각 블록의 상대 등급인 것을 특징으로 하는 메모리 디바이스.
- 제 13 항에 있어서,상기 메모리는 플래시 메모리인 것을 특징으로 하는 메모리 디바이스.
- 복수의 블록을 포함하는 메모리 디바이스의 메모리를 관리하는 컴퓨터-판독가능한 코드를 내장한 컴퓨터-판독가능한 스토리지 매체로서, 상기 컴퓨터-판독가능한 코드는,(a) 각 블록에 대해, 상기 각 블록이 삭제된 횟수와 적어도 하나의 다른 블록이 삭제된 횟수의 함수인 수를 연산하기 위한 프로그램 코드; 및(b) 각 블록에 대해, 상기 수를 메모리 디바이스에 저장하기 위한 프로그램 코드;를 포함하고, 상기 각 블록에 대해, 상기 함수는 상기 각 블록의 상대 등급인 것을 특징으로 하는 컴퓨터-판독가능한 코드를 내장한 컴퓨터-판독가능한 스토리지 매체.
- 제 13 항에 있어서, 상기 연산하는 단계는, 상기 각 블록에 대해 블록당 최대 허용 삭제 사이클의 수를 저장하기에 충분하지 않은 비트 수로 각 블록의 함수의 끝수를 버리는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스.
- 제 15 항에 있어서, 상기 연산하는 단계는, 상기 각 블록에 대해 블록당 최대 허용 삭제 사이클의 수를 저장하기에 충분하지 않은 비트 수로 각 블록의 함수의 끝수를 버리는 단계를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 스토리지 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66125605P | 2005-03-14 | 2005-03-14 | |
US60/661,256 | 2005-03-14 | ||
US11/288,161 US7224604B2 (en) | 2005-03-14 | 2005-11-29 | Method of achieving wear leveling in flash memory using relative grades |
US11/288,161 | 2005-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070118601A KR20070118601A (ko) | 2007-12-17 |
KR100920960B1 true KR100920960B1 (ko) | 2009-10-09 |
Family
ID=36970683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077020723A KR100920960B1 (ko) | 2005-03-14 | 2006-03-12 | 상대등급을 이용하여 플래시 메모리에서 마모 평준화를달성 하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7224604B2 (ko) |
EP (1) | EP1859451A2 (ko) |
JP (1) | JP4790007B2 (ko) |
KR (1) | KR100920960B1 (ko) |
CN (1) | CN101208753B (ko) |
WO (1) | WO2006097917A2 (ko) |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640389B2 (en) * | 2006-02-28 | 2009-12-29 | Freescale Semiconductor, Inc. | Non-volatile memory having a multiple block erase mode and method therefor |
CN103280239B (zh) | 2006-05-12 | 2016-04-06 | 苹果公司 | 存储设备中的失真估计和消除 |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7821826B2 (en) | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
US7809900B2 (en) * | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
WO2008068747A2 (en) | 2006-12-03 | 2008-06-12 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7904672B2 (en) | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
CN101715595A (zh) | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
JP4444314B2 (ja) * | 2007-07-13 | 2010-03-31 | 株式会社東芝 | 半導体メモリ情報蓄積装置とその書き込み制御方法 |
US7865761B1 (en) | 2007-06-28 | 2011-01-04 | Emc Corporation | Accessing multiple non-volatile semiconductor memory modules in an uneven manner |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US7916543B2 (en) | 2007-10-22 | 2011-03-29 | Micron Technology, Inc. | Memory cell operation |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US9183133B2 (en) * | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US7636258B2 (en) * | 2007-12-12 | 2009-12-22 | Qimonda Flash Gmbh | Integrated circuits, memory controller, and memory modules |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US20090259819A1 (en) * | 2008-04-09 | 2009-10-15 | Skymedi Corporation | Method of wear leveling for non-volatile memory |
US20090259994A1 (en) * | 2008-04-15 | 2009-10-15 | Nokia Corporation | Apparatus, Method, and Computer Program Product for Analyzing Program Memory Operations |
WO2009140700A1 (en) | 2008-05-16 | 2009-11-19 | Fusion Multisystems, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
US7924623B2 (en) * | 2008-05-27 | 2011-04-12 | Micron Technology, Inc. | Method for memory cell erasure with a programming monitor of reference cells |
FR2933803B1 (fr) * | 2008-07-08 | 2010-09-24 | Thales Sa | Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
CN101685675B (zh) * | 2008-09-26 | 2014-01-15 | 美光科技公司 | 存储器单元操作 |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8713330B1 (en) | 2008-10-30 | 2014-04-29 | Apple Inc. | Data scrambling in memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8825940B1 (en) | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
TWI395222B (zh) * | 2008-12-05 | 2013-05-01 | Apacer Technology Inc | A storage device having a flash memory, and a storage method of a flash memory |
WO2010076829A1 (en) * | 2008-12-30 | 2010-07-08 | Massimo Iaculo | Wear leveling for erasable memories |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8397131B1 (en) | 2008-12-31 | 2013-03-12 | Apple Inc. | Efficient readout schemes for analog memory cell devices |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US9176859B2 (en) * | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
KR20100091544A (ko) * | 2009-02-10 | 2010-08-19 | 삼성전자주식회사 | 메모리 시스템 및 그 마모도 관리 방법 |
US9098396B2 (en) * | 2009-02-13 | 2015-08-04 | Sandisk Il Ltd. | Enhancement of efficiency in power failure handling in flash memory |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US10079048B2 (en) * | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
KR101586047B1 (ko) | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US20100318719A1 (en) * | 2009-06-12 | 2010-12-16 | Micron Technology, Inc. | Methods, memory controllers and devices for wear leveling a memory |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
EP2455865B1 (en) * | 2009-07-17 | 2020-03-04 | Toshiba Memory Corporation | Memory management device |
US8516166B2 (en) * | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
CN101989458B (zh) * | 2009-07-31 | 2013-10-30 | 慧帝科技(深圳)有限公司 | 平均地使用一闪存的多个区块的方法、记忆装置及控制器 |
US7936610B1 (en) | 2009-08-03 | 2011-05-03 | Micron Technology, Inc. | Selective refresh of single bit memory cells |
US8601202B1 (en) | 2009-08-26 | 2013-12-03 | Micron Technology, Inc. | Full chip wear leveling in memory device |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
US8327226B2 (en) * | 2010-02-03 | 2012-12-04 | Seagate Technology Llc | Adjustable error correction code length in an electrical storage device |
US8321646B2 (en) * | 2010-04-13 | 2012-11-27 | Dot Hill Systems Corporation | Method and apparatus for rebalancing storage components within a storage tier |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
CN102568570B (zh) * | 2010-12-07 | 2016-04-27 | 上海华虹集成电路有限责任公司 | 基于sd接口使用环形队列快速写闪存介质的方法 |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
KR20120096212A (ko) * | 2011-02-22 | 2012-08-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 컨트롤러, 및 이들의 동작 방법 |
US8762625B2 (en) * | 2011-04-14 | 2014-06-24 | Apple Inc. | Stochastic block allocation for improved wear leveling |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9158621B2 (en) * | 2011-08-29 | 2015-10-13 | Sandisk Technologies Inc. | System and method of copying data |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9311501B2 (en) * | 2012-03-26 | 2016-04-12 | International Business Machines Corporation | Using different secure erase algorithms to erase chunks from a file associated with different security levels |
KR101989850B1 (ko) * | 2012-04-03 | 2019-06-18 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 |
US8769193B2 (en) | 2012-04-30 | 2014-07-01 | Empire Technology Development Llc | Numeric representation to improve life of solid state storage devices |
CN102915764A (zh) * | 2012-09-04 | 2013-02-06 | 邹粤林 | 提高闪存芯片缺陷容忍度的方法、闪存存储系统及其控制器 |
US8990542B2 (en) | 2012-09-12 | 2015-03-24 | Dot Hill Systems Corporation | Efficient metadata protection system for data storage |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9240235B2 (en) | 2013-12-19 | 2016-01-19 | Sandisk Technologies Inc. | Mitigating disturb effects for non-volatile memory |
US9524236B1 (en) * | 2014-01-09 | 2016-12-20 | Marvell International Ltd. | Systems and methods for performing memory management based on data access properties |
US9728278B2 (en) | 2014-10-24 | 2017-08-08 | Micron Technology, Inc. | Threshold voltage margin analysis |
US10055267B2 (en) * | 2015-03-04 | 2018-08-21 | Sandisk Technologies Llc | Block management scheme to handle cluster failures in non-volatile memory |
US10528287B2 (en) | 2015-10-09 | 2020-01-07 | Sony Corporation | Memory, memory controller, storage apparatus, information processing system, and control method for tracking erase count and rewrite cycles of memory pages |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004040585A1 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile storage systems |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5268319A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
JPH075934A (ja) * | 1993-06-21 | 1995-01-10 | Yamato Scient Co Ltd | 温度プログラムの設定方法 |
US5568423A (en) | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
JP3219699B2 (ja) * | 1996-09-17 | 2001-10-15 | 三洋電機株式会社 | 半導体メモリ装置 |
CN1351350A (zh) * | 2000-10-27 | 2002-05-29 | 岳京星 | 闪存中存储块的分区及读写信息标识的方法 |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
JP4289026B2 (ja) * | 2003-05-28 | 2009-07-01 | 日本電気株式会社 | 半導体記憶装置 |
CN1318978C (zh) * | 2003-07-25 | 2007-05-30 | 华为技术有限公司 | 一种存储异常信息的方法 |
US7032087B1 (en) * | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
US7089349B2 (en) * | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
JP2006065550A (ja) * | 2004-08-26 | 2006-03-09 | Canon Inc | インクジェット記録装置の不揮発性メモリ書き込み制御方法 |
-
2005
- 2005-11-29 US US11/288,161 patent/US7224604B2/en active Active
-
2006
- 2006-03-12 KR KR1020077020723A patent/KR100920960B1/ko not_active IP Right Cessation
- 2006-03-12 WO PCT/IL2006/000321 patent/WO2006097917A2/en active Application Filing
- 2006-03-12 JP JP2008501484A patent/JP4790007B2/ja not_active Expired - Fee Related
- 2006-03-12 CN CN200680015052XA patent/CN101208753B/zh active Active
- 2006-03-12 EP EP06711303A patent/EP1859451A2/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004040585A1 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile storage systems |
Also Published As
Publication number | Publication date |
---|---|
WO2006097917A2 (en) | 2006-09-21 |
US7224604B2 (en) | 2007-05-29 |
JP2009506389A (ja) | 2009-02-12 |
WO2006097917A3 (en) | 2006-12-14 |
CN101208753A (zh) | 2008-06-25 |
US20060203546A1 (en) | 2006-09-14 |
CN101208753B (zh) | 2012-12-12 |
JP4790007B2 (ja) | 2011-10-12 |
KR20070118601A (ko) | 2007-12-17 |
EP1859451A2 (en) | 2007-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100920960B1 (ko) | 상대등급을 이용하여 플래시 메모리에서 마모 평준화를달성 하는 방법 | |
US9898212B1 (en) | Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data | |
EP3588259B1 (en) | Garbage collection method for storage media, storage medium, and program product | |
US9021185B2 (en) | Memory controller and methods for enhancing write performance of a flash device | |
KR101464338B1 (ko) | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 | |
US7882300B2 (en) | Apparatus and method for managing nonvolatile memory | |
KR100526190B1 (ko) | 플래시 메모리의 재사상 방법 | |
KR100818035B1 (ko) | 저장 매체 상의 데이터 관리 및 데이터 관리 시스템과 컴퓨터 판독가능한 저장 매체 | |
JP2014241158A (ja) | メモリの複数のブロックの寿命の向上 | |
KR20190052083A (ko) | 저장된 데이터를 플래시 메모리에 기초한 저장 매체에 기입하기 위한 방법 및 디바이스 | |
JP2005242897A (ja) | フラッシュディスク装置 | |
KR100624973B1 (ko) | 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) | |
KR101699779B1 (ko) | 플래시 메모리의 색인 방법 | |
US10877698B2 (en) | Semiconductor device for managing cold addresses of nonvolatile memory device | |
JP2020086748A (ja) | メモリコントローラ、及びメモリシステム | |
KR102671141B1 (ko) | 비휘발성 메모리의 주소를 관리하는 반도체 장치 | |
KR100885026B1 (ko) | 플래시 메모리의 마모도 평준화 방법 | |
US20240004555A1 (en) | Memory system | |
JP2017134440A (ja) | メモリ制御回路、メモリ制御システム、メモリ制御方法、及び、メモリ制御プログラム | |
JP2021140464A (ja) | ストレージ装置、ストレージシステム及び方法 | |
CN115878025A (zh) | 树结构节点压缩优先级 | |
CN116627353A (zh) | 一种文件管理方法、装置、设备及存储介质 | |
Rahiman et al. | GR-FB Block Cleaning Scheme in Flash Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120924 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130926 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150918 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160920 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |