KR101090394B1 - 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 - Google Patents
예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 Download PDFInfo
- Publication number
- KR101090394B1 KR101090394B1 KR1020090130753A KR20090130753A KR101090394B1 KR 101090394 B1 KR101090394 B1 KR 101090394B1 KR 1020090130753 A KR1020090130753 A KR 1020090130753A KR 20090130753 A KR20090130753 A KR 20090130753A KR 101090394 B1 KR101090394 B1 KR 101090394B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- error
- correctable
- replacement
- pointer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 26
- 239000004065 semiconductor Substances 0.000 title abstract description 17
- 230000007423 decrease Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002950 deficient Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000035876 healing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
Claims (16)
- 복수의 메모리 블록을 포함하며, 상기 메모리 블록 내 에러 블록 발생시 상기 에러 블록에 대응되는 교체용 블록들을 포함하는 플래시 메모리 영역; 및정정 가능 블록 및 정정 불가 블록을 포함하는 상기 에러 블록을 상기 교체용 블록으로 교체되도록 제어하며, 상기 교체용 블록의 영역을 정정 가능 블록에 대응되어 교체되는 영역과 정정 불가 블록에 대응되어 교체되는 영역으로 서로 다르게 분리하여 제어하도록 복수의 포인터를 설정하는 메모리 컨트롤러를 포함하며,상기 메모리 컨트롤러는 상기 에러 블록이 상기 정정 가능 블록 및 상기 정정 불가 블록인지 여부를 판단하여, 상기 정정 가능 블록에 대응되어 교체된 상기 교체용 블록의 영역은 복수 횟수로 할당되도록 제어하는 반도체 스토리지 시스템.
- 삭제
- 제 1항에 있어서,상기 복수의 포인터는,상기 교체용 블록의 논리적 어드레스가 최소값으로부터 증가함에 따라 증가하는 스타트 포인터(start pointer); 및상기 교체용 블록의 논리적 어드레스가 최대값으로부터 감소함에 따라 증가하는 엔드 포인터(end pointer)를 포함하는 반도체 스토리지 시스템.
- 제 3항에 있어서,상기 에러 블록이 정정 가능 블록이면, 상기 스타트 포인터를 이용해 영역을 할당하여 교체하는 반도체 스토리지 시스템.
- 제 3항에 있어서,상기 에러 블록이 정정 불가 블록이면, 상기 엔드 포인터를 이용해 영역을 할당하여 교체하는 반도체 스토리지 시스템.
- 제 3항에 있어서,상기 메모리 컨트롤러는, 상기 스타트 포인터와 상기 엔드 포인터가 지정하는 논리적 블록이 일치할 경우, 상기 스타트 포인터를 초기화시키는 반도체 스토리지 시스템.
- 제 6항에 있어서,상기 메모리 컨트롤러가 상기 스타트 포인터를 초기화시키는 것은 상기 스타트 포인터가 지정하는 논리적 블록이 상기 교체용 블록의 논리적 어드레스의 최소값의 블록이 되도록 제어하는 반도체 스토리지 시스템.
- 제 6항에 있어서,상기 메모리 컨트롤러는 새로운 정정 가능 블록에 대해서 상기 스타트 포인터와 상기 엔드 포인터가 지정하는 논리적 블록이 일치할 경우, 상기 스타트 포인터에 의해 기 할당된 논리적 블록을 재할당하도록 제어하는 반도체 스토리지 시스템.
- 에러 블록이 정정 가능 블록 및 정정 불가 블록인지 판단하는 단계;상기 에러 블록이 정정 불가 블록이면, 교체용 블록의 논리적 어드레스가 최대값으로부터 감소함에 따라 증가하는 엔드 포인터(end pointer)에 대응되는 블록으로 순차적으로 영역을 할당하도록 제어하는 단계; 및상기 에러 블록이 정정 가능 블록이면, 상기 교체용 블록의 논리적 어드레스가 최소값으로부터 증가됨에 따라 증가하는 스타트 포인터(start pointer)에 대응되는 블록으로 순차적으로 영역을 할당하도록 제어하는 단계를 포함하는 반도체 스토리지 시스템의 제어 방법.
- 삭제
- 삭제
- 제 9항에 있어서,새로 발생된 에러 블록이 정정 가능 블록이나 상기 교체용 블록 중 잔여 영역이 존재하지 않을 경우, 상기 스타트 포인터를 초기화시키는 반도체 스토리지 시스템의 제어 방법.
- 제 12항에 있어서,상기 교체용 블록 중 잔여 영역이 존재하지 않을 경우는 상기 스타트 포인터 및 상기 엔드 포인터가 지정하는 논리적 블록이 일치하는 반도체 스토리지 시스템의 제어 방법.
- 제 12항에 있어서,상기 스타트 포인터를 초기화시키는 것은 상기 스타트 포인터가 지정하는 논리적 블록이 상기 교체용 블록의 상기 논리적 어드레스의 최소값에 대응되도록 블록을 재할당하는 것인 반도체 스토리지 시스템의 제어 방법.
- 제 14항에 있어서,상기 논리적 어드레스의 최소값에 대응되는 블록을 재할당하여 상기 정정 가능 블록의 교체용 블록으로서 상기 재할당된 블록으로 교체 후, 에러 체크를 수행하는 것을 더 포함하는 반도체 스토리지 시스템의 제어 방법.
- 제 15항에 있어서,상기 에러 체크 후 에러가 발생되면, 현재의 상기 엔드 포인터를 증가시킨 논리적 블록을 할당하여 교체하는 것을 더 포함하는 반도체 스토리지 시스템의 제어 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090130753A KR101090394B1 (ko) | 2009-12-24 | 2009-12-24 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
US12/839,325 US8370680B2 (en) | 2009-12-24 | 2010-07-19 | Solid state storage system for controlling reserved area and method of controlling the same |
TW099140356A TWI501252B (zh) | 2009-12-24 | 2010-11-23 | 用於控制保留區的固態儲存系統及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090130753A KR101090394B1 (ko) | 2009-12-24 | 2009-12-24 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110073942A KR20110073942A (ko) | 2011-06-30 |
KR101090394B1 true KR101090394B1 (ko) | 2011-12-07 |
Family
ID=44188950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090130753A KR101090394B1 (ko) | 2009-12-24 | 2009-12-24 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8370680B2 (ko) |
KR (1) | KR101090394B1 (ko) |
TW (1) | TWI501252B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460006B2 (en) | 2013-03-15 | 2016-10-04 | Samsung Electronics Co., Ltd. | Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859604B (zh) * | 2009-04-10 | 2012-10-24 | 国民技术股份有限公司 | 闪存坏块的利用方法 |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
TWI420308B (zh) * | 2010-10-13 | 2013-12-21 | Phison Electronics Corp | 區塊管理方法、記憶體控制器與記憶體儲存裝置 |
KR101739878B1 (ko) * | 2011-02-22 | 2017-05-26 | 삼성전자주식회사 | 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템 |
CN104685474B (zh) * | 2012-09-25 | 2018-04-20 | 慧与发展有限责任合伙企业 | 用于处理不可纠正的内存错误的方法及非瞬态处理器可读介质 |
KR20140142035A (ko) * | 2013-06-03 | 2014-12-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작방법 |
KR102435890B1 (ko) * | 2017-08-17 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법 |
KR20190073125A (ko) * | 2017-12-18 | 2019-06-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
CN114968066A (zh) * | 2021-02-19 | 2022-08-30 | 瑞昱半导体股份有限公司 | 用于快闪存储器中进行故障区块管理的方法与装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE225961T1 (de) | 1996-08-16 | 2002-10-15 | Tokyo Electron Device Ltd | Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur |
EP1365404A2 (en) * | 1998-07-28 | 2003-11-26 | Lg Electronics Inc. | Method and apparatus of recording data in the optical recording medium |
JP3243220B2 (ja) * | 1998-09-14 | 2002-01-07 | 株式会社東芝 | 交替処理方法 |
CN100468359C (zh) * | 1999-08-20 | 2009-03-11 | 慧亚科技股份有限公司 | 快闪记忆体的管理与资料连接的方法 |
US20050204187A1 (en) * | 2004-03-11 | 2005-09-15 | Lee Charles C. | System and method for managing blocks in flash memory |
US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
JP4059472B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
EP1403870A1 (en) * | 2002-09-27 | 2004-03-31 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for recording a data stream on a storage medium |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
JP4041076B2 (ja) * | 2004-02-27 | 2008-01-30 | 株式会社東芝 | データ記憶システム |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
JP2006185509A (ja) * | 2004-12-27 | 2006-07-13 | Toshiba Corp | 欠陥管理情報を格納する情報記憶媒体、欠陥管理情報の交替処理方法、および欠陥管理情報の交替処理を行なう装置 |
US7853749B2 (en) * | 2005-09-01 | 2010-12-14 | Cypress Semiconductor Corporation | Flash drive fast wear leveling |
US7661021B2 (en) * | 2006-07-12 | 2010-02-09 | Mediatek Inc. | Method for defect management in rewritable optical storage media |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
TW200828320A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method for performing static wear leveling on flash memory |
US7657701B2 (en) * | 2007-01-03 | 2010-02-02 | The General Electric Company | System and method of flash memory wear leveling using distributed write cycles |
US7882301B2 (en) * | 2007-05-09 | 2011-02-01 | Stmicroelectronics S.R.L. | Wear leveling in storage devices based on flash memories and related circuit, system, and method |
KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
TWI343001B (en) * | 2007-11-13 | 2011-06-01 | Ite Tech Inc | Data preserving method and data accessing method for non-volatile memory |
JP5374075B2 (ja) * | 2008-06-06 | 2013-12-25 | エイチジーエスティーネザーランドビーブイ | ディスク装置及びその制御方法 |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
TWI364661B (en) * | 2008-09-25 | 2012-05-21 | Silicon Motion Inc | Access methods for a flash memory and memory devices |
US8327066B2 (en) * | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
-
2009
- 2009-12-24 KR KR1020090130753A patent/KR101090394B1/ko active IP Right Grant
-
2010
- 2010-07-19 US US12/839,325 patent/US8370680B2/en active Active
- 2010-11-23 TW TW099140356A patent/TWI501252B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460006B2 (en) | 2013-03-15 | 2016-10-04 | Samsung Electronics Co., Ltd. | Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same |
Also Published As
Publication number | Publication date |
---|---|
TWI501252B (zh) | 2015-09-21 |
US8370680B2 (en) | 2013-02-05 |
US20110161727A1 (en) | 2011-06-30 |
TW201131572A (en) | 2011-09-16 |
KR20110073942A (ko) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101090394B1 (ko) | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 | |
US8332576B2 (en) | Data reading method for flash memory and controller and storage system using the same | |
US8015371B2 (en) | Storage apparatus and method of managing data storage area | |
US9448868B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
KR101086876B1 (ko) | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
KR100946286B1 (ko) | 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템 | |
US20110119442A1 (en) | Non-volatile write cache for a data storage system | |
US11150819B2 (en) | Controller for allocating memory blocks, operation method of the controller, and memory system including the controller | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
CN103049389B (zh) | Nand闪存控制器及其写入控制方法 | |
US8214698B2 (en) | Solid state storage system with improved data merging efficiency and control method thereof | |
KR20120081351A (ko) | Ftl을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 | |
CN105022695A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
TW201526006A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR20120070408A (ko) | 블록을 관리하는 비휘발성 메모리 장치의 제어 방법 | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
KR101027687B1 (ko) | 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법 | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 | |
CN113377282A (zh) | 数据存储装置与数据处理方法 | |
CN115145491B (zh) | 存储器管理方法、存储器控制器及存储器存储装置 | |
US20240329882A1 (en) | Memory system and information processing system | |
CN115202584A (zh) | 存储器管理方法、存储器控制器及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20091224 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20110318 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20111031 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20111130 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20111201 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20141021 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20141021 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20151020 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161024 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20161024 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20171025 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20171025 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181022 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20181022 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20201026 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20211026 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20221025 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20231024 Start annual number: 13 End annual number: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20241024 Start annual number: 14 End annual number: 14 |