KR20070046864A - 플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템 - Google Patents
플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템 Download PDFInfo
- Publication number
- KR20070046864A KR20070046864A KR1020077003815A KR20077003815A KR20070046864A KR 20070046864 A KR20070046864 A KR 20070046864A KR 1020077003815 A KR1020077003815 A KR 1020077003815A KR 20077003815 A KR20077003815 A KR 20077003815A KR 20070046864 A KR20070046864 A KR 20070046864A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual
- physical
- address
- flash memory
- units
- Prior art date
Links
Images
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims (7)
- 호스트로부터 데이터를 액세싱하기 위한 플래쉬 메모리를 위한 플래쉬 메모리 관리 방법에 있어서, 상기 방법은;(a) 복수의 물리 주소로 주소지정가능한, 플래쉬 메모리의 물리 주소 공간을 제공하는 단계;(b) 복수의 가상 주소로 주소지정가능한, 플래쉬 메모리의 가상 주소 공간을 제공하는 단계; 및(c) 상기 가상 주소를 상기 물리 주소로 매핑하는 단계를 포함하고, 상기 가상 주소의 각각을 액세스하기 위해 필요한 이진 비트의 수가 상기 물리 주소의 각각을 액세스하기 위해 필요한 이진 비트의 수보다 작은 것을 특징으로 하는 플래쉬 메모리 관리 방법.
- 호스트로부터 데이터를 액세싱하기 위한 플래쉬 메모리를 위한 플래쉬 메모리 관리 방법에 있어서, 상기 방법은;(a) 플래쉬 메모리의 복수의 물리 유닛을 제공하는 단계;(b) 플래쉬 메모리의 복수의 가상 유닛을 제공하는 단계; 및,(c) 상기 가상 유닛의 각각을 하나 이상의 물리 유닛으로 매핑하는 단계를 포함하고, 상기 가상 유닛의 각각을 주소지정하기 위해 필요한 이진 비트의 수가 상기 물리 유닛의 각각을 주소지정하기 위해 필요한 이진 비트의 수보다 적은 것을 특징으로 하는 플래쉬 메모리 관리 방법.
- 호스트로부터 데이터를 액세싱하기 위한 플래쉬 메모리를 위한 플래쉬 메모리 관리 시스템에 있어서, 상기 시스템은;(a) 복수의 물리 주소로 주소지정가능한, 플래쉬 메모리;(b) 복수의 가상 주소; 및(c) 상기 가상 주소를 물리 주소로 매핑하는 매핑 매커니즘을 포함하고, 상기 가상 주소의 각각을 액세스하기 위해 필요한 이진 비트의 수가 상기 물리 주소의 각각을 액세스하기 위해 필요한 이진 비트의 수보다 적은 것을 특징으로 하는 플래쉬 메모리 관리 시스템.
- 호스트로부터 데이터를 액세싱하기 위한 플래쉬 메모리를 위한 플래쉬 메모리 관리 시스템에 있어서, 상기 시스템은;(a) 플래쉬 메모리의 복수의 물리 유닛;(b) 복수의 가상 유닛; 및(c) 상기 가상 유닛을 물리 물리 유닛으로 매핑하는 매핑 매커니즘을 포함하고, 상기 가상 유닛의 각각을 주소지정하기 위해 필요한 이진 비트의 수가 상기 물리 유닛의 각각을 주소지정하기 위해 필요한 이진 비트의 수보다 적은 것을 특징으로 하는 플래쉬 메모리 관리 시스템.
- 호스트로부터 플래쉬 메모리를 액세스하는 데 있어, 플래쉬 메모리를 관리하는 방법에 있어서,(a) 물리 주소 공간을 통해 플래쉬 메모리를 주소지정하는 단계; 및(b) 상기 호스트로부터, 상기 물리 주소 공간 보다 작은 가상 주소 공간으로부터의 주소만 수신하는 단계를 포함하고,상기 가상 주소 공간의 주소는 상기 물리 주소 공간의 물리 주소 보다 더 적은 비트를 갖는 것을 특징으로 하는 플래쉬 메모리 관리 방법.
- 메모리 디바이스로서,(a) 플래쉬 메모리; 및(b) 상기 플래쉬 메모리를 액세싱함에 있어, 물리 주소 공간을 사용하여 상기 플래쉬 메모리를 주소지정하고, 메모리 디바이스를 주소지정하는 호스트로부터가상주소 공간으로부터의 주소만을 수신하는 제어기를 포함하고,상기 가상 주소 공간의 주소는 상기 물리 주소 공간의 주소 보다 더 적은 이진 비트를 갖는 것을 특징으로 하는 메모리 디바이스.
- 플래쉬 메모리 디바이스로서,(a) 복수의 플래쉬 메모리 유닛을 포함하는 플래쉬 메모리; 및(b) 상기 플래쉬 메모리를 액세싱함에 있어, 물리 유닛을 채용하는 물리 주소 공간으로부터의 주소를 사용하여 상기 플래쉬 메모리를 주소지정하고, 메모리 디바이스를 주소지정하는 호스트로부터 가상 유닛을 채용하는 가상주소 공간으로부터의 주소만을 수신하는 제어기를 포함하고,상기 가상 메모리 유닛을 주소지정하는 것은 상기 물리 메모리 유닛을 주소지정하는 데에 필요한 것보다 더 적은 이진 비트를 필요로 하는 것을 특징으로 하는 플래쉬 메모리 디바이스.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59216204P | 2004-07-30 | 2004-07-30 | |
US60/592,162 | 2004-07-30 | ||
US11/025,982 | 2005-01-03 | ||
US11/025,982 US7386700B2 (en) | 2004-07-30 | 2005-01-03 | Virtual-to-physical address translation in a flash file system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070046864A true KR20070046864A (ko) | 2007-05-03 |
KR100946286B1 KR100946286B1 (ko) | 2010-03-08 |
Family
ID=35733728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077003815A KR100946286B1 (ko) | 2004-07-30 | 2005-07-18 | 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7386700B2 (ko) |
EP (1) | EP1779246A4 (ko) |
JP (1) | JP5089385B2 (ko) |
KR (1) | KR100946286B1 (ko) |
CN (1) | CN101288054B (ko) |
HK (1) | HK1122620A1 (ko) |
WO (1) | WO2006011131A2 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289558A1 (en) * | 2004-06-08 | 2005-12-29 | Daniel Illowsky | Device interoperability runtime establishing event serialization and synchronization amongst a plurality of separate processing units and method for coordinating control data and operations |
US7634494B2 (en) * | 2005-05-03 | 2009-12-15 | Intel Corporation | Flash memory directory virtualization |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US8161353B2 (en) * | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8219749B2 (en) * | 2007-04-27 | 2012-07-10 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
KR101473344B1 (ko) * | 2007-08-24 | 2014-12-17 | 삼성전자 주식회사 | 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법 |
US8301912B2 (en) | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US8059455B2 (en) * | 2008-05-09 | 2011-11-15 | Sandisk Il Ltd. | Partial scrambling to reduce correlation |
CN101676882B (zh) * | 2008-09-16 | 2013-01-16 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US20120185667A1 (en) * | 2009-09-25 | 2012-07-19 | Gandhi Kamlesh | Virtual-memory system with variable-sized pages |
US8171253B2 (en) * | 2009-10-30 | 2012-05-01 | Brocade Communications Systems, Inc. | Virtual disk mapping |
EP2672390B1 (en) * | 2011-01-31 | 2015-11-25 | Mitsubishi Electric Corporation | Memory controller |
CN102736981B (zh) * | 2011-04-08 | 2016-02-03 | 航天信息股份有限公司 | 提高nor flash擦写寿命的方法 |
US9323662B2 (en) | 2012-12-31 | 2016-04-26 | SanDisk Technologies, Inc. | Flash memory using virtual physical addresses |
CN103914409B (zh) * | 2013-01-06 | 2017-05-10 | 北京忆恒创源科技有限公司 | 用于具有多处理器的存储设备的方法 |
US20160232103A1 (en) * | 2013-09-26 | 2016-08-11 | Mark A. Schmisseur | Block storage apertures to persistent memory |
CN105808453B (zh) * | 2014-12-31 | 2018-09-28 | 晨星半导体股份有限公司 | 嵌入式装置及其存储器管理方法 |
CN104598170B (zh) * | 2015-01-30 | 2017-12-05 | 华为技术有限公司 | 确定读写路径的方法和装置 |
CN106294187B (zh) * | 2015-05-15 | 2019-11-08 | 比亚迪股份有限公司 | 位存取操作功能的控制方法及装置 |
TWI571740B (zh) * | 2016-03-18 | 2017-02-21 | 華邦電子股份有限公司 | 記憶體裝置及記憶體區塊使用方法 |
US10452561B2 (en) | 2016-08-08 | 2019-10-22 | Raytheon Company | Central processing unit architecture and methods for high availability systems |
CN111414248B (zh) * | 2019-01-04 | 2023-03-21 | 阿里巴巴集团控股有限公司 | 内存管理方法、装置及计算设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3854126A (en) | 1972-10-10 | 1974-12-10 | Digital Equipment Corp | Circuit for converting virtual addresses into physical addresses |
US4774652A (en) * | 1987-02-18 | 1988-09-27 | Apple Computer, Inc. | Memory mapping unit for decoding address signals |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5943692A (en) | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
KR100305679B1 (ko) * | 1999-02-24 | 2001-09-26 | 윤종용 | 반도체 메모리 장치의 테스터의 테스터 방법 및 그 장치 |
KR100703680B1 (ko) * | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | 플래시 파일 시스템 |
JP2001256793A (ja) * | 2000-03-09 | 2001-09-21 | Toshiba Corp | 半導体集積回路装置 |
US6510488B2 (en) * | 2001-02-05 | 2003-01-21 | M-Systems Flash Disk Pioneers Ltd. | Method for fast wake-up of a flash memory system |
US6591330B2 (en) * | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
US6625081B2 (en) * | 2001-08-13 | 2003-09-23 | Micron Technology, Inc. | Synchronous flash memory with virtual segment architecture |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6807610B2 (en) * | 2002-11-01 | 2004-10-19 | Silicon Storage Technology, Inc. | Method and apparatus for virtually partitioning an integrated multilevel nonvolatile memory circuit |
FI117489B (fi) * | 2003-02-07 | 2006-10-31 | Nokia Corp | Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti |
US8041878B2 (en) * | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
-
2005
- 2005-01-03 US US11/025,982 patent/US7386700B2/en active Active
- 2005-07-18 KR KR1020077003815A patent/KR100946286B1/ko active IP Right Grant
- 2005-07-18 EP EP05761354A patent/EP1779246A4/en not_active Withdrawn
- 2005-07-18 WO PCT/IL2005/000765 patent/WO2006011131A2/en active Application Filing
- 2005-07-18 JP JP2007523233A patent/JP5089385B2/ja not_active Expired - Fee Related
- 2005-07-18 CN CN2005800258489A patent/CN101288054B/zh not_active Expired - Fee Related
-
2008
- 2008-12-17 HK HK08113662.2A patent/HK1122620A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100946286B1 (ko) | 2010-03-08 |
US20060026341A1 (en) | 2006-02-02 |
JP5089385B2 (ja) | 2012-12-05 |
EP1779246A2 (en) | 2007-05-02 |
EP1779246A4 (en) | 2008-11-05 |
CN101288054A (zh) | 2008-10-15 |
WO2006011131A3 (en) | 2007-02-15 |
HK1122620A1 (en) | 2009-05-22 |
CN101288054B (zh) | 2012-04-18 |
JP2008508589A (ja) | 2008-03-21 |
WO2006011131A2 (en) | 2006-02-02 |
US7386700B2 (en) | 2008-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100946286B1 (ko) | 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템 | |
US7426623B2 (en) | System and method for configuring flash memory partitions as super-units | |
JP5728672B2 (ja) | ハイブリッドメモリ管理 | |
US8332576B2 (en) | Data reading method for flash memory and controller and storage system using the same | |
EP1891529B1 (en) | Flash memory with programmable endurance | |
US8904092B2 (en) | Identifying a location containing invalid data in a storage media | |
US8645613B2 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
KR100441587B1 (ko) | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 | |
US8312204B2 (en) | System and method for wear leveling in a data storage device | |
JP5823875B2 (ja) | 固体メモリフォーマッティング | |
US7389397B2 (en) | Method of storing control information in a large-page flash memory device | |
US9785384B2 (en) | Semiconductor storage device and method for controlling nonvolatile semiconductor memory | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
US11513949B2 (en) | Storage device, and control method and recording medium thereof | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
KR100845552B1 (ko) | Ftl의 어드레스 매핑 방법 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
JP2007334413A (ja) | 記憶装置 | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 | |
TWI808011B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI808010B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TW202414221A (zh) | 資料處理方法及對應之資料儲存裝置 | |
TW202414222A (zh) | 資料處理方法及對應之資料儲存裝置 | |
CN116009790A (zh) | 有效节点管理方法、存储装置及存储器控制电路单元 |
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: 20130201 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140204 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170201 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180201 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 10 |