KR100932801B1 - 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 - Google Patents
메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 Download PDFInfo
- Publication number
- KR100932801B1 KR100932801B1 KR1020077005726A KR20077005726A KR100932801B1 KR 100932801 B1 KR100932801 B1 KR 100932801B1 KR 1020077005726 A KR1020077005726 A KR 1020077005726A KR 20077005726 A KR20077005726 A KR 20077005726A KR 100932801 B1 KR100932801 B1 KR 100932801B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- memory
- physical
- blocks
- pseudo
- 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
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims (12)
- 메모리 관리 방법에 있어서,(a) 소정의 크기를 갖는 복수의 물리적 블록으로서 상기 메모리를 구성하는 단계 - 상기 메모리는 상기 물리적 블록의 단위로 삭제됨 -,(b) 상기 메모리가 상기 물리적 블록보다 크기에 있어서 더 작은 의사 블록의 단위로 삭제되는 것처럼 상기 메모리를 호스트에 제공하는 단계 - 각각의 물리적 블록은 복수의 가상 블록을 가지며, 각각의 의사 블록은 물리적 블록의 일부분에 대응함 - 를 포함하고,상기 메모리를 호스트에 제공하는 단계는,i) 상기 물리적 블록 중 하나를 여분의 물리적 블록으로서 지정하는 단계 - 여분의 물리적 블록은 상기 물리적 블록과 구별되고, 메모리 내에서의 의사 블록을 삭제하기 위한 커맨드를 관리하는데 이용됨 - ;ii) 의사 블록을 상기 여분의 물리적 블록과 구별되는 물리적 블록들 중 제1 물리적 블록 내의 제1 가상 블록과 논리적으로 연관시키는 단계를 더 포함하는메모리 관리 방법.
- 제 1 항에 있어서,상기 물리적 블록의 상기 크기는 상기 의사 블록의 상기 크기의 정수 배인메모리 관리 방법.
- 제 1 항에 있어서,상기 메모리를 호스트에 제공하는 단계는,iii) 상기 의사 블록을 삭제하는 커맨드를 수신하는 단계를 더 포함하고,상기 의사 블록을 삭제하는 커맨드를 수신한 후,a) 삭제될 의사 블록에 대응하는 물리적 블록에서의 가상 블록을 식별하는 단계;b) 유효 데이터를 가진 물리적 블록에서 하나 이상의 다른 가상 블록들을 결정하는 단계 - 상기 하나 이상의 다른 가상 블록들은 삭제될 의사 블록에 대응하는 물리적 블록에서의 가상 블록과 구별됨 - ;c) 상기 여분의 물리적 블록의 하나 이상의 가상 블록들로부터 데이터를 저장하는 단계; 및d) 삭제될 의사 블록에 대응하는 상기 물리적 블록을 삭제하는 단계를 수행하는 특징으로 하는메모리 관리 방법.
- 제 3 항에 있어서,상기 메모리를 호스트에 제공하는 단계는,(C) 상기 물리적 블록을 삭제하는 단계 후에, 상기 여분의 물리적 블록의 모든 유효 컨텐츠를 상기 물리적 블록으로 복사하는 단계와,(D) 상기 여분의 물리적 블록의 모든 유효 컨텐츠를 상기 물리적 블록으로 복사하는 단계 후에, 상기 여분의 물리적 블록을 삭제하는 단계를 포함하는 단계들에 의해 수행되는메모리 관리 방법.
- 제 3 항에 있어서,상기 메모리를 호스트에 제공하는 단계는, 상기 하나의 의사 블록을 삭제하라는 상기 커맨드 수신 시에,(C) 상기 물리적 블록을 삭제하는 단계 후에, 상기 물리적 블록을 상기 여분의 물리적 블록으로 대체하는 단계를 포함하는 단계에 의해 수행되는메모리 관리 방법.
- 제 1 항에 있어서,상기 메모리를 호스트에 제공하는 단계는,(A) 논리적으로 삭제될 상기 의사 블록과 연관된 상기 제1 가상 블록을 마킹(marking)하는 단계;(B) 메모리 내에서 물리적으로 삭제될 가상 블록을 탐색하는 단계를 포함하는 단계들에 의해 수행되는메모리 관리 방법.
- 제 6 항에 있어서,상기 메모리 제공 단계는 상기 하나의 의사 블록을 삭제하라는 상기 커맨드 수신 시에(C) 만약 상기 탐색 단계에서 상기 물리적으로 삭제된 가상 블록을 검출하면, 상기 하나의 의사 블록을 상기 물리적으로 삭제된 가상 블록과 논리적으로 결합시키는 단계와,(D) 그렇지 않으면,(I) 상기 여분의 물리적 블록 이외의 제 2 물리적 블록의 일부분만 상기 여분의 물리적 블록으로 복사하되, 물리적으로 삭제된 상태에서 상기 여분의 물리적 블록의 적어도 하나의 가상 블록을 남겨두고 복사하는 단계와,(II) 상기 복사 단계 후에, 상기 하나의 의사 블록을 상기 여분의 물리적 블록의 상기 적어도 하나의 물리적으로 삭제된 가상 블록들 중 하나와 결합시키는 단계와,(III) 상기 제 2 물리적 블록을 삭제하는 단계와,(IV) 상기 제 2 물리적 블록을 상기 여분의 물리적 블록으로 대체하는 단계를 포함하는 단계들에 의해 행해지는메모리 관리 방법.
- 제 7 항에 있어서,상기 제 1 및 제 2 물리적 블록은 동일한메모리 관리 방법.
- 제 7 항에 있어서,상기 제 1 및 제 2 물리적 블록은 상이한메모리 관리 방법.
- 메모리 장치에 있어서,(a) 소정의 크기를 갖는 복수의 물리적 블록을 포함하는 메모리와,(b) 제어기를 포함하고,상기 제어기는,상기 물리적 블록의 단위로 상기 메모리를 삭제하는 단계, 및상기 메모리가 상기 물리적 블록보다 크기가 더 작은 의사 블록의 단위로 삭제되는 것처럼 상기 메모리를 제공하는 단계 - 상기 의사 블록 각각은 물리적 블록의 일부분에 대응함 - 를 수행하고,상기 제어기는 상기 메모리의 제공 단계의 수행시에,(a) 상기 물리적 블록 중 하나의 물리적 블록을 여분의 물리적 블록으로서 지정하는 단계 - 상기 물리적 블록의 각각은 복수의 가상 블록을 가지며, 상기 여분의 물리적 블록은 상기 물리적 블록과 구별되고, 메모리 내에서의 의사 블록을 삭제하기 위한 커맨드를 관리하는데 이용됨 - ;(b) 제1 물리적 블록의 제1 가상 블록 내의 의사 블록과 연관된 데이터를 저장하는 단계; 및(c) 상기 제1 물리적 블록의 상기 제1 가상 블록 내의 상기 의사 블록을 논리적으로 연관시키는 단계를 더 수행하는 것을 특징으로 하는메모리 장치.
- 제 10 항에 있어서,상기 메모리는 플래시 메모리인메모리 장치.
- 컴퓨터 판독 가능 저장 매체로서,상기 컴퓨터 판독 가능 저장 매체에 수록된 컴퓨터 판독 가능 코드를 가지며, 상기 컴퓨터 판독 가능 코드는 소정 크기의 복수의 물리적 블록을 포함하는 메모리를 관리하고, 상기 컴퓨터 판독 가능 코드는,(a) 상기 물리적 블록의 단위로 상기 메모리를 삭제하는 프로그램 코드와,(b) 상기 메모리가 상기 물리적 블록보다 크기가 더 작은 의사 블록의 단위로 삭제되는 것처럼 상기 메모리를 제공하는 프로그램 코드 - 물리적 블록 각각은 복수의 가상 블록을 가지며, 상기 의사 블록의 각각은 물리적 블록의 일부분에 대응함 - 를 포함하고,상기 메모리를 제공하는 프로그램 코드는,i) 상기 물리적 블록 중 하나를 여분의 물리적 블록으로서 지정하는 프로그램 코드 - 여분의 물리적 블록은 상기 물리적 블록과 구별되고, 메모리 내에서의 의사 블록을 삭제하기 위한 커맨드를 관리하는데 이용됨 - ;ii) 의사 블록을 상기 여분의 물리적 블록과 구별되는 물리적 블록들 중 제1 물리적 블록 내의 제1 가상 블록과 논리적으로 연관시키는 프로그램 코드를 더 포함하는 것을 특징으로 하는컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60997404P | 2004-09-16 | 2004-09-16 | |
US60/609,974 | 2004-09-16 | ||
US11/159,172 | 2005-06-23 | ||
US11/159,172 US20060059296A1 (en) | 2004-09-16 | 2005-06-23 | Emulating small block size of flash memory |
PCT/IL2005/000966 WO2006030421A2 (en) | 2004-09-16 | 2005-09-12 | Emulating small block size of flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061543A KR20070061543A (ko) | 2007-06-13 |
KR100932801B1 true KR100932801B1 (ko) | 2009-12-21 |
Family
ID=36035423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077005726A KR100932801B1 (ko) | 2004-09-16 | 2005-09-12 | 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060059296A1 (ko) |
KR (1) | KR100932801B1 (ko) |
WO (1) | WO2006030421A2 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4535117B2 (ja) * | 2007-11-06 | 2010-09-01 | ソニー株式会社 | メモリ装置、メモリ管理方法、およびプログラム |
KR100967108B1 (ko) * | 2008-09-22 | 2010-07-05 | 주식회사 하이닉스반도체 | 반도체 메모리장치 및 이를 포함하는 메모리 시스템 |
US10120573B2 (en) | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
CN113391755B (zh) * | 2020-02-26 | 2023-09-22 | 北京君正集成电路股份有限公司 | 一种并行双片nand flash中物理擦除块动态关联的方法 |
US11360691B2 (en) * | 2020-06-10 | 2022-06-14 | EMC IP Holding Company LLC | Garbage collection in a storage system at sub-virtual block granularity level |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
US6148354A (en) * | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
US6742078B1 (en) * | 1999-10-05 | 2004-05-25 | Feiya Technology Corp. | Management, data link structure and calculating method for flash memory |
DE60009031D1 (de) * | 2000-03-28 | 2004-04-22 | St Microelectronics Srl | Verfahren zur logischen Aufteilung einer nichtflüchtigen Speichermatrix |
US6591330B2 (en) * | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
-
2005
- 2005-06-23 US US11/159,172 patent/US20060059296A1/en not_active Abandoned
- 2005-09-12 WO PCT/IL2005/000966 patent/WO2006030421A2/en active Application Filing
- 2005-09-12 KR KR1020077005726A patent/KR100932801B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
Also Published As
Publication number | Publication date |
---|---|
WO2006030421A2 (en) | 2006-03-23 |
WO2006030421A3 (en) | 2006-08-10 |
KR20070061543A (ko) | 2007-06-13 |
US20060059296A1 (en) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957961B (zh) | 存储设备、存储系统和计算设备 | |
US9489301B2 (en) | Memory systems | |
US8533391B2 (en) | Storage device and user device including the same | |
US7783845B2 (en) | Structures for the management of erase operations in non-volatile memories | |
US7624239B2 (en) | Methods for the management of erase operations in non-volatile memories | |
US6988175B2 (en) | Flash memory management method that is resistant to data corruption by power loss | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US7680977B2 (en) | Page and block management algorithm for NAND flash | |
US8700840B2 (en) | Nonvolatile memory with write cache having flush/eviction methods | |
US8094500B2 (en) | Non-volatile memory and method with write cache partitioning | |
US7275140B2 (en) | Flash memory management method that is resistant to data corruption by power loss | |
JP4256175B2 (ja) | 不揮発性半導体メモリ | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
US7818492B2 (en) | Source and shadow wear-leveling method and apparatus | |
US8225050B2 (en) | Memory storage device and a control method thereof | |
JPH05282889A (ja) | 不揮発性半導体メモリ装置 | |
KR20020009564A (ko) | 메모리 시스템 | |
KR20220005111A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
KR100932801B1 (ko) | 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 | |
KR20220068535A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR100982440B1 (ko) | 단일 플래시 메모리의 데이터 관리시스템 | |
KR20230115196A (ko) | 메모리 블록을 할당 해제하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
KR20230115195A (ko) | 액티브 존 리프레시를 수행하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
JP2003242788A (ja) | 不揮発性半導体メモリ装置及びその制御方法 |
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: 20121123 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131119 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141120 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161123 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171117 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181115 Year of fee payment: 10 |