JP5089385B2 - フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 - Google Patents
フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 Download PDFInfo
- Publication number
- JP5089385B2 JP5089385B2 JP2007523233A JP2007523233A JP5089385B2 JP 5089385 B2 JP5089385 B2 JP 5089385B2 JP 2007523233 A JP2007523233 A JP 2007523233A JP 2007523233 A JP2007523233 A JP 2007523233A JP 5089385 B2 JP5089385 B2 JP 5089385B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- physical
- address
- flash memory
- address space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Claims (7)
- 物理アドレス・スペースに対応する消去ブロックの第一の数が仮想アドレス・スペースに対応する消去ブロックの第二の数より大きいフラッシュメモリにおいて、前記仮想アドレス・スペースを指定する仮想アドレスの各々を用いてホストがデータにアクセス可能とするために、コントローラがフラッシュメモリを管理する方法であって、
(a)前記フラッシュメモリの前記仮想アドレスを、前記ホストから受信するステップと、
(b)前記フラッシュメモリの前記物理アドレス・スペースの各々を、物理アドレスの各々を用いて指定するステップと、
(c)前記仮想アドレスを前記物理アドレスへマッピングし、前記仮想アドレスの少なくとも一つを前記物理アドレスの二つ以上にマッピングするステップと、
を備え、
前記仮想ユニットの各々へアクセスするために必要なバイナリ・ビット数が、前記物理ユニットの各々へアクセスするために必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理方法。 - 物理アドレス・スペースに対応する消去ブロックを含む物理ユニットの第一の数が仮想アドレス・スペースに対応する仮想ユニットの第二の数より大きいフラッシュメモリにおいて、ホストが仮想アドレスを用いてデータにアクセス可能とするために、コントローラがフラッシュメモリを管理する方法であって、
(a)前記フラッシュメモリの前記物理ユニットの各々を物理アドレスに対応させるステップ、
(b)前記フラッシュメモリの前記仮想ユニットの各々を仮想アドレスに対応させるステップ、および
(c)前記仮想ユニットの各々を前記物理ユニットにマッピングし、前記仮想ユニットの少なくとも一つを前記物理ユニットの二つ以上へマッピングするステップからなり、
前記仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数が、前記物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理方法。 - 物理アドレス・スペースに対応する消去ブロックの第一の数が仮想アドレス・スペースに対応する消去ブロックの第二の数より大きいフラッシュメモリにおいて、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムであって、
(a)複数の物理アドレスで指定可能な、前記フラッシュメモリ、
(b)複数の仮想アドレス、そして
(c)前記仮想アドレスを前記物理アドレスにマッピングし、前記仮想アドレスの少なくとも一つを前記物理アドレスの二つ以上へマッピングするマッピング・メカニズムからなり、
前記仮想アドレスの各々にアクセスするのに必要なバイナリ・ビット数が、前記物理アドレスの各々にアクセスするのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理システム。 - 物理アドレス・スペースに対応する消去ブロックを含む物理ユニットの第一の数が仮想アドレス・スペースに対応する仮想ユニットの第二の数より大きいフラッシュメモリにおいて、ホストからデータにアクセスするための、フラッシュメモリに対するフラッシュメモリ管理システムであって、
(a)前記フラッシュメモリの複数の前記物理ユニット、
(b)複数の前記仮想ユニット、そして
(c)前記仮想ユニットを前記物理ユニットにマッピングし、前記仮想ユニットの少なくとも一つを前記物理ユニットの二つ以上にマッピングするマッピング・メカニズムからなり、
前記仮想ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数が、前記物理ユニットの各々をアドレス指定するのに必要なバイナリ・ビット数よりも少ない、フラッシュメモリ管理システム。 - 物理アドレス・スペースに対応する消去ブロックの第一の数が仮想アドレス・スペースに対応する消去ブロックの第二の数より大きいフラッシュメモリにおいて、ホストが仮想アドレスを用いてアクセス可能とするために、コントローラがフラッシュメモリを管理する方法であって、
(a)前記物理アドレス・スペース内の物理アドレスを用いて前記フラッシュメモリのアドレス指定を行うステップ、そして
(b)前記仮想アドレス・スペース内の仮想アドレスのみを前記ホストから受信するステップからなり、
前記仮想アドレスの少なくも一つを前記物理アドレスの二つ以上にマッピングし、前記仮想アドレス・スペースのアドレスが、前記物理アドレス・スペースの物理アドレスよりも少ないビットを持つ、方法。 - (a)物理アドレス・スペースに対応する消去ブロックの第一の数が仮想アドレス・スペースに対応する消去ブロックの第二の数より大きいフラッシュメモリ、そして
(b)前記フラッシュメモリにアクセスする際に、前記物理アドレス・スペースのアドレスを用いて前記フラッシュメモリのアドレス指定を行い、メモリ・デバイスのアドレス指定を行うホストから前記仮想アドレス・スペースを指定するアドレスだけを受信し、受信した前記仮想アドレス・スペースを指定するアドレスを前記物理アドレス・スペースのアドレスへ変換し、前記仮想アドレス・スペース内の少なくとも一つのアドレスを前記物理アドレス・スペース内の二つ以上のアドレスに変換するコントローラからなり、
前記仮想アドレス・スペースのアドレスが、前記物理アドレス・スペースのアドレスよりも少ないバイナリ・ビットを持つ、メモリ・デバイス。 - 物理アドレス・スペースに対応する消去ブロックの第一の数が仮想アドレス・スペースに対応する消去ブロックの第二の数より大きいフラッシュメモリ・デバイスであって、
(a)複数の物理ユニットを含むフラッシュメモリ、そして
(b)前記フラッシュメモリにアクセスする際に、前記物理ユニットを指定する前記物理アドレス・スペースのアドレスを用いて前記フラッシュメモリのアドレス指定を行い、前記フラッシュメモリのアドレス指定を行うホストから仮想ユニットを指定する前記仮想アドレス・スペースのアドレスだけを受信し、受信した前記仮想アドレス・スペースのアドレスを前記物理アドレス・スペースのアドレスへ変換し、前記仮想アドレス・スペース内の少なくとも一つのアドレスを前記物理アドレス・スペース内の二つ以上のアドレスに変換するコントローラからなり、
前記仮想ユニットのアドレス指定を行うことが、前記物理ユニットのアドレス指定を行うのに必要なバイナリ・ビットよりも少ないバイナリ・ビットを必要とする、フラッシュメモリ・デバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59216204P | 2004-07-30 | 2004-07-30 | |
US60/592,162 | 2004-07-30 | ||
US11/025,982 US7386700B2 (en) | 2004-07-30 | 2005-01-03 | Virtual-to-physical address translation in a flash file system |
US11/025,982 | 2005-01-03 | ||
PCT/IL2005/000765 WO2006011131A2 (en) | 2004-07-30 | 2005-07-18 | Virtual-to-physical address translation in a flash file system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008508589A JP2008508589A (ja) | 2008-03-21 |
JP5089385B2 true JP5089385B2 (ja) | 2012-12-05 |
Family
ID=35733728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007523233A Expired - Fee Related JP5089385B2 (ja) | 2004-07-30 | 2005-07-18 | フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7386700B2 (ja) |
EP (1) | EP1779246A4 (ja) |
JP (1) | JP5089385B2 (ja) |
KR (1) | KR100946286B1 (ja) |
CN (1) | CN101288054B (ja) |
HK (1) | HK1122620A1 (ja) |
WO (1) | WO2006011131A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7703073B2 (en) * | 2004-06-08 | 2010-04-20 | Covia Labs, Inc. | Device interoperability format rule set and method for assembling interoperability application package |
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 |
KR20090102789A (ko) | 2006-12-06 | 2009-09-30 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 프로그레시브 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 |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | 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 |
JP5647252B2 (ja) * | 2009-09-25 | 2014-12-24 | カムレッシュ ガンディー | メモリ管理装置及び仮想メモリ領域を提供する方法 |
US8171253B2 (en) * | 2009-10-30 | 2012-05-01 | Brocade Communications Systems, Inc. | Virtual disk mapping |
US9170929B2 (en) * | 2011-01-31 | 2015-10-27 | 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 JP JP2007523233A patent/JP5089385B2/ja not_active Expired - Fee Related
- 2005-07-18 EP EP05761354A patent/EP1779246A4/en not_active Withdrawn
- 2005-07-18 KR KR1020077003815A patent/KR100946286B1/ko active IP Right Grant
- 2005-07-18 CN CN2005800258489A patent/CN101288054B/zh not_active Expired - Fee Related
- 2005-07-18 WO PCT/IL2005/000765 patent/WO2006011131A2/en active Application Filing
-
2008
- 2008-12-17 HK HK08113662.2A patent/HK1122620A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2006011131A3 (en) | 2007-02-15 |
EP1779246A2 (en) | 2007-05-02 |
EP1779246A4 (en) | 2008-11-05 |
HK1122620A1 (en) | 2009-05-22 |
CN101288054A (zh) | 2008-10-15 |
JP2008508589A (ja) | 2008-03-21 |
WO2006011131A2 (en) | 2006-02-02 |
US7386700B2 (en) | 2008-06-10 |
CN101288054B (zh) | 2012-04-18 |
US20060026341A1 (en) | 2006-02-02 |
KR100946286B1 (ko) | 2010-03-08 |
KR20070046864A (ko) | 2007-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089385B2 (ja) | フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 | |
US11967369B2 (en) | Lifetime mixed level non-volatile memory system | |
US7426623B2 (en) | System and method for configuring flash memory partitions as super-units | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
US8683173B2 (en) | Logical address offset in response to detecting a memory formatting operation | |
EP1891529B1 (en) | Flash memory with programmable endurance | |
JP5823875B2 (ja) | 固体メモリフォーマッティング | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US7389397B2 (en) | Method of storing control information in a large-page flash memory device | |
US8904092B2 (en) | Identifying a location containing invalid data in a storage media | |
US8417869B2 (en) | Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof | |
US20160231941A1 (en) | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm | |
US20090327590A1 (en) | Enhanced mlc solid state device | |
KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US20090172269A1 (en) | Nonvolatile memory device and associated data merge method | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 | |
US20240233816A1 (en) | Lifetime mixed level non-volatile memory system | |
US20240233817A1 (en) | Lifetime mixed level non-volatile memory system | |
CN106326131B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110414 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111026 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111102 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20111209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120911 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |