JP5452736B2 - メモリコントローラ及びメモリアクセス方法 - Google Patents
メモリコントローラ及びメモリアクセス方法 Download PDFInfo
- Publication number
- JP5452736B2 JP5452736B2 JP2012555599A JP2012555599A JP5452736B2 JP 5452736 B2 JP5452736 B2 JP 5452736B2 JP 2012555599 A JP2012555599 A JP 2012555599A JP 2012555599 A JP2012555599 A JP 2012555599A JP 5452736 B2 JP5452736 B2 JP 5452736B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- file
- sector
- conversion table
- address conversion
- 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.)
- Active
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/1048—Scalability
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
Description
読み書き可能な不揮発性メモリにアクセスして、該不揮発性メモリ用に構築されたファイルシステムにおけるセクタ単位で、データの読み込み及び書き込みを行うメモリ制御手段と、
前記不揮発性メモリに格納されているファイルを構成するセクタのセクタ番号と、該セクタ番号に対応する前記不揮発性メモリの物理アドレスと、からなる1又は複数のレコードが登録されたアドレス変換テーブルをファイル毎に一時的に記憶するデータ記憶部と、
外部からファイルのオープン要求があった際、前記データ記憶部の所定のメモリ領域から、当該ファイルに対応する前記アドレス変換テーブル用のメモリ領域を確保するメモリ確保手段と、
該メモリ確保手段により確保された前記メモリ領域を所定のタイミングで開放するメモリ開放手段と、
前記メモリ領域が確保された前記アドレス変換テーブルの各レコードに、当該ファイルを構成する少なくとも一部のセクタのセクタ番号を順次格納し、該格納後、メモリ制御手段にその旨を通知するセクタ番号格納手段と、を備え、
前記メモリ制御手段は、
前記セクタ番号格納手段から前記通知を受けると、前記アドレス変換テーブルの各レコードのセクタ番号に対応する物理アドレスを、前記不揮発性メモリのメモリ領域を探索することで取得し、取得した各物理アドレスを対応する前記レコードに格納し、
前記ファイルを構成するセクタにアクセスする際、当該セクタのセクタ番号をキーにして、当該ファイルに対応する前記アドレス変換テーブルを参照し、当該セクタに対応する物理アドレスを取得する。
10 マイコン
100 アプリケーション処理部
110 ファイルシステム管理部
120 メモリ制御部
130 データ記憶部
131 ファイルシステム定義テーブル
132 変換テーブル管理テーブル
133 アドレス変換テーブル
140 変換テーブル用メモリ確保部
20 フラッシュメモリ
30 データバス
Claims (8)
- 読み書き可能な不揮発性メモリにアクセスして、該不揮発性メモリ用に構築されたファイルシステムにおけるセクタ単位で、データの読み込み及び書き込みを行うメモリ制御手段と、
前記不揮発性メモリに格納されているファイルを構成するセクタのセクタ番号と、該セクタ番号に対応する前記不揮発性メモリの物理アドレスと、からなる1又は複数のレコードが登録されたアドレス変換テーブルをファイル毎に一時的に記憶するデータ記憶部と、
外部からファイルのオープン要求があった際、前記データ記憶部の所定のメモリ領域から、当該ファイルに対応する前記アドレス変換テーブル用のメモリ領域を確保するメモリ確保手段と、
該メモリ確保手段により確保された前記メモリ領域を所定のタイミングで開放するメモリ開放手段と、
前記メモリ領域が確保された前記アドレス変換テーブルの各レコードに、当該ファイルを構成する少なくとも一部のセクタのセクタ番号を順次格納し、該格納後、メモリ制御手段にその旨を通知するセクタ番号格納手段と、を備え、
前記メモリ制御手段は、
前記セクタ番号格納手段から前記通知を受けると、前記アドレス変換テーブルの各レコードのセクタ番号に対応する物理アドレスを、前記不揮発性メモリのメモリ領域を探索することで取得し、取得した各物理アドレスを対応する前記レコードに格納し、
前記ファイルを構成するセクタにアクセスする際、当該セクタのセクタ番号をキーにして、当該ファイルに対応する前記アドレス変換テーブルを参照し、当該セクタに対応する物理アドレスを取得するメモリコントローラ。 - 前記メモリ開放手段は、ファイルのクローズ要求があった際、当該ファイルに対応する前記アドレス変換テーブル用のメモリ領域を開放する請求項1に記載のメモリコントローラ。
- 前記メモリ開放手段は、前記アドレス変換テーブル用のメモリ領域が確保されてから所定時間経過後、当該メモリ領域を開放する請求項1又は2に記載のメモリコントローラ。
- 前記セクタ番号格納手段は、前記メモリ確保手段により確保されたメモリ領域に展開される前記アドレス変換テーブルのレコード数が、当該ファイルを構成する全セクタの数以上である場合、当該アドレス変換テーブルに当該ファイルを構成する全てのセクタのセクタ番号を格納する請求項1乃至3の何れか1項に記載のメモリコントローラ。
- 前記メモリ確保手段は、前記データ記憶部の所定のメモリ領域に、当該ファイルを構成する全セクタの数分に対応する前記アドレス変換テーブル用のメモリ領域に相当する空き領域が存在する場合、当該空き領域を当該アドレス変換テーブル用のメモリ領域として確保する請求項1乃至4の何れか1項に記載のメモリコントローラ。
- 前記メモリ確保手段は、今後オープンが予定されるファイルの数も加味して、前記アドレス変換テーブル用のメモリ領域を確保する請求項1乃至4の何れか1項に記載のメモリコントローラ。
- 前記ファイルには、所定の優先度が予め付与されており、
前記メモリ確保手段は、オープン要求されたファイルの前記優先度も加味して、前記アドレス変換テーブル用のメモリ領域を確保する請求項1乃至4の何れか1項に記載のメモリコントローラ。 - メモリ制御手段が、読み書き可能な不揮発性メモリにアクセスして、該不揮発性メモリ用に構築されたファイルシステムにおけるセクタ単位で、データの読み込み及び書き込みを行うメモリ制御ステップと、
メモリ確保手段が、外部からファイルのオープン要求があった際、前記不揮発性メモリに格納されているファイルを構成するセクタのセクタ番号と、該セクタ番号に対応する前記不揮発性メモリの物理アドレスと、からなる1又は複数のレコードが登録されたアドレス変換テーブルをファイル毎に一時的に記憶するデータ記憶部の所定のメモリ領域から、当該ファイルに対応する前記アドレス変換テーブル用のメモリ領域を確保するメモリ確保ステップと、
メモリ開放手段が、前記メモリ確保手段により確保された前記メモリ領域を所定のタイミングで開放するメモリ開放ステップと、
セクタ番号格納手段が、前記メモリ領域が確保された前記アドレス変換テーブルの各レコードに、当該ファイルを構成する少なくとも一部のセクタのセクタ番号を順次格納し、該格納後、メモリ制御手段にその旨を通知するセクタ番号格納ステップと、を含み、
前記メモリ制御ステップでは、前記メモリ制御手段が、
前記セクタ番号格納手段から前記通知を受けると、前記アドレス変換テーブルの各レコードのセクタ番号に対応する物理アドレスを、前記不揮発性メモリのメモリ領域を探索することで取得し、取得した各物理アドレスを対応する前記レコードに格納し、
前記ファイルを構成するセクタにアクセスする際、当該セクタのセクタ番号をキーにして、当該ファイルに対応する前記アドレス変換テーブルを参照し、当該セクタに対応する物理アドレスを取得するメモリアクセス方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/051960 WO2012104975A1 (ja) | 2011-01-31 | 2011-01-31 | メモリコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5452736B2 true JP5452736B2 (ja) | 2014-03-26 |
JPWO2012104975A1 JPWO2012104975A1 (ja) | 2014-07-03 |
Family
ID=46602220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012555599A Active JP5452736B2 (ja) | 2011-01-31 | 2011-01-31 | メモリコントローラ及びメモリアクセス方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9170929B2 (ja) |
EP (1) | EP2672390B1 (ja) |
JP (1) | JP5452736B2 (ja) |
CN (1) | CN103354925B (ja) |
WO (1) | WO2012104975A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3018581B1 (en) * | 2014-11-06 | 2017-03-08 | Fujitsu Limited | Data staging management system |
JP6049958B1 (ja) * | 2015-04-30 | 2016-12-21 | 真旭 徳山 | 端末装置およびコンピュータプログラム |
CN108664577B (zh) * | 2018-05-03 | 2021-03-12 | 中北大学 | 一种基于flash空闲区的文件管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142774A (ja) * | 1999-11-11 | 2001-05-25 | Toshiba Corp | メモリカード及び同カードに適用されるアドレス変換方法 |
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761508A (en) * | 1992-01-31 | 1998-06-02 | Asahi Kasei Kogyo Kabushiki Kaisha | Information processing system and method applied to the development of computer programs |
US6377500B1 (en) | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
US7085879B2 (en) * | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
WO2005124530A2 (en) * | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US7386700B2 (en) * | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
EP1630726B1 (en) * | 2004-08-18 | 2009-09-23 | Sony Corporation | Memory card, memory-card control method, memory-card access control method and computer programs |
US7711923B2 (en) | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
JP5133649B2 (ja) * | 2007-10-16 | 2013-01-30 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびメモリ管理プログラム |
CN101382918B (zh) * | 2008-07-26 | 2011-06-22 | 深圳市硅格半导体有限公司 | 一种基于数据交换区的NAND Flash闪存优化管理方法 |
JP5198245B2 (ja) | 2008-12-27 | 2013-05-15 | 株式会社東芝 | メモリシステム |
-
2011
- 2011-01-31 CN CN201180066426.1A patent/CN103354925B/zh not_active Expired - Fee Related
- 2011-01-31 WO PCT/JP2011/051960 patent/WO2012104975A1/ja active Application Filing
- 2011-01-31 US US13/982,409 patent/US9170929B2/en not_active Expired - Fee Related
- 2011-01-31 EP EP11857752.7A patent/EP2672390B1/en not_active Not-in-force
- 2011-01-31 JP JP2012555599A patent/JP5452736B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142774A (ja) * | 1999-11-11 | 2001-05-25 | Toshiba Corp | メモリカード及び同カードに適用されるアドレス変換方法 |
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
US9170929B2 (en) | 2015-10-27 |
JPWO2012104975A1 (ja) | 2014-07-03 |
CN103354925A (zh) | 2013-10-16 |
EP2672390B1 (en) | 2015-11-25 |
US20130311744A1 (en) | 2013-11-21 |
WO2012104975A1 (ja) | 2012-08-09 |
EP2672390A4 (en) | 2014-08-06 |
CN103354925B (zh) | 2016-03-02 |
EP2672390A1 (en) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573701B2 (en) | Memory device and host device | |
KR100849221B1 (ko) | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 | |
JP4185058B2 (ja) | フラッシュメモリのリマッピング方法 | |
KR100951107B1 (ko) | 최적의 성능을 위한 파일 관리 방법 | |
JP4859837B2 (ja) | 情報記録媒体アクセス装置、及びデータ記録方法 | |
TWI533152B (zh) | 資料儲存裝置及方法 | |
US20130227198A1 (en) | Flash memory device and electronic device employing thereof | |
KR20060134170A (ko) | 비휘발성 기억 시스템 | |
WO2011086732A1 (en) | Storage device management device and method for managing storage device | |
JP2006277737A (ja) | アドレス予測機能をもつ不揮発性記憶装置 | |
EP1771862A1 (en) | Method and device to improve usb flash write performance | |
JPWO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US20050169058A1 (en) | Data management apparatus and method used for flash memory | |
JP2018160189A (ja) | メモリシステム | |
JP5452736B2 (ja) | メモリコントローラ及びメモリアクセス方法 | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
JP5452735B2 (ja) | メモリコントローラ及びメモリアクセス方法 | |
JP2009259145A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5253471B2 (ja) | メモリコントローラ | |
JP6652605B2 (ja) | メモリシステムの制御方法 | |
JP2005149620A (ja) | 記憶装置およびファイルシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5452736 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |