JP5699712B2 - メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム - Google Patents
メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム Download PDFInfo
- Publication number
- JP5699712B2 JP5699712B2 JP2011059385A JP2011059385A JP5699712B2 JP 5699712 B2 JP5699712 B2 JP 5699712B2 JP 2011059385 A JP2011059385 A JP 2011059385A JP 2011059385 A JP2011059385 A JP 2011059385A JP 5699712 B2 JP5699712 B2 JP 5699712B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- device driver
- data
- control unit
- priority
- 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
- 238000000034 method Methods 0.000 title claims description 197
- 230000015654 memory Effects 0.000 title claims description 41
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000013500 data storage Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 193
- 238000007726 management method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 1
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 1
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 1
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
Description
1.メモリ装置の概要
2.初回起動時の処理
3.ファイル作成時の処理
3−1.ファイル作成処理の概要
3−2.write処理におけるキャッシュ優先度の通知
3−2−1.書き換え処理
3−3.close処理におけるタイミング情報の通知
3−3−1.flush処理
4.mkdir処理におけるタイミング情報の通知
5.まとめ
図1を参照して、本実施形態に係るメモリ装置の一例であるメモリ管理装置10の概要について説明する。図1は、メモリ管理装置10の構成を示すブロック図である。
アプリケーション部110は、メモリ管理装置10における様々な機能を実現するためのものである。アプリケーション部110は、ファイルシステムに関する要求をオペレーションシステム部120に送る。例えば、アプリケーション部110は、ファイルの作成又は削除の要求や、ディレクトリの作成又は削除の要求を、オペレーションシステム部120に送る。
オペレーションシステム部120は、メモリ管理装置10の動作を制御するためのものである。オペレーションシステム部120は、アプリケーション部110の要求を受けて、主記憶領域部130とキャッシュブロック部140におけるデータの読み出しや書き込みの処理を制御する。オペレーションシステム部120は、アプリケーション部110の要求に応じた処理結果をアプリケーション部110に送る。
主記憶領域部130は、不揮発性メモリであり、様々なデータを記憶する。主記憶領域部130は、データをファイル単位で扱うFATファイルシステムでフォーマットされている。
キャッシュブロック部140は、不揮発性メモリであり、使用頻度(アクセス頻度)の高いデータを一時的に記憶する。キャッシュブロック部140は、キャッシュブロックを複数有し、各キャッシュブロックにデータを記憶可能である。キャッシュブロック部140も、FATファイルシステムでフォーマットされている。なお、キャッシュブロック部140の容量は、主記憶部130の容量に比べて小さい。キャッシュブロック部140のデータ量が所定量を超えると、詳細は後述するが、キャッシュブロック部140のデータが主記憶部130に移動するライトバック処理が行われる。
ここで、ファイルシステムについて、FAT(File Allocation Table)ファイルシステムを例に挙げて説明する。
図1に戻って、メモリ管理装置10の構成の説明を続ける。オペレーティングシステム部120は、制御部の一例であるファイルシステム制御部150と、デバイスドライバの一例であるストレージデバイスドライバ(単に、デバイスドライバとも呼ぶ)160を有する。
図1に戻って、メモリ管理装置10の構成の説明を続ける。デバイスドライバ160は、ファイルシステム制御部150からの命令を受けて、主記憶領域部130とキャッシュブロック140を制御する。デバイスドライバ160は、主記憶領域部130へのデータの書き込み又は読み出しと、キャッシュブロック部140へのデータの一時的な書き込み又は読み出しとを実行する。
上述したように、ファイルシステム制御部150は、メモリ管理装置10の初回起動時に、優先度情報をデバイスドライバ160に通知する。以下においては、図6を参照して、メモリ管理装置10の初回起動時の優先度情報の通知処理について説明する。図6は、メモリ管理装置10の初回起動時の処理を説明するためのフローチャートである。本処理は、CPUがROM等に記憶されたプログラムを実行することで、実現される。
ファイルシステム制御部150は、アプリケーション部110に対して、例えばISO/IEC9945(POSIX)が定義するようなインターフェースを提供する。また、ファイルシステム制御部150は、ファイルシステム特有の構成(フォーマット)でデバイスドライバ160上のファイルやディレクトリを管理する。例えば、図7に示すように、ISO/IEC9293(JIS X 0605)(FAT型フォーマット)が定義するフォーマットが用いられる。図7は、FAT型ファイルシステムのパーティション構成を示す図である。
上述したように初回起動時にキャッシュ優先度の通知が行われたが、ファイル作成時にもキャッシュ優先度の通知が行われる。そこで、以下においては、ファイル作成時のキャッシュ優先度の通知処理について説明する。
まず、図8を参照して、ファイル作成処理の概要について説明する。図8は、ファイル作成処理の概要を説明するためのフローチャートである。本処理は、CPUがROM等に記憶されたプログラムを実行することで、実現される。
図8のステップS204のopen処理におけるキャッシュ優先度の通知処理と、ステップS210のwrite処理におけるキャッシュ優先度の通知処理は、同様である。このため、以下においては、write処理におけるキャッシュ優先度の通知処理について説明する。
全ての書き換え処理が完了すると、本処理は終了し、図8のフローチャートに戻ることになる。
図10を参照して、図9のステップS312の書き換え処理について説明する。図10は、書き換え処理を説明するためのフローチャートである。
ここで、図11を参照して、ステップS416のライトバック処理(A)について説明する。図11は、ライトバック処理(A)を説明するためのフローチャートである。
ここで、図12を参照して、ライトバック処理(B)について説明する。図12は、ライトバック処理(B)を説明するためのフローチャートである。
図13を参照して、図8のステップS218のclose処理におけるタイミング情報の通知について説明する。図13は、close処理におけるタイミング情報の通知を説明するためのフローチャートである。
図14を参照して、図13のステップS606のflush処理について説明する。図14は、flush処理を説明するためのフローチャートである。
上記では、ライトバック処理のタイミング情報の通知が、close処理の際に行われることとしたが、ディレクトリを作成するための処理であるmkdir処理の際に行われうる。
上述した本実施形態では、ファイルシステム制御部150は、キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報をデバイスドライバ160に通知する。これにより、デバイスドライバ160は、ライトバック処理の際にキャッシュ優先度の低いキャッシュブロックに記憶されたデータを優先して移動させることができる。この結果、ライトバック処理の際に、更新頻度の高いデータを主記憶領域130に移動させることを防止できる。
110 アプリケーション部
120 オペレーティングシステム部
130 主記憶領域部
140 キャッシュブロック部
150 ファイルシステム制御部
160 ストレージデバイスドライバ
Claims (10)
- 主記憶部へのデータの書き込み又は読み出しと、キャッシュブロックを複数有するキャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、
前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、
を備え、
前記制御部は、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知し、
さらに前記制御部は、アプリケーションから要求された処理内容に応じて、タイミング情報を前記デバイスドライバに通知し、
前記デバイスドライバは、前記制御部から通知された前記タイミング情報に基づき、前記キャッシュブロックに記憶されたデータを前記主記憶部に移動させる、メモリ制御装置。 - 前記デバイスドライバは、前記制御部から通知を受けた前記優先度情報に基づいて、前記複数のキャッシュブロックのうちの記憶しているデータが前記主記憶部に移動されるキャッシュブロックを選択する、請求項1に記載のメモリ制御装置。
- 前記デバイスドライバは、前記複数のキャッシュブロックのうちの前記優先度が最も低い前記論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、前記主記憶部に移動させる、請求項2に記載のメモリ制御装置。
- 前記デバイスドライバは、
前記優先度情報を記憶し、
前記制御部から前記優先度情報の通知を受けた際に、前記優先度情報を更新し、
更新後の前記優先度情報に基づいて、前記複数のキャッシュブロックのうちの前記優先度が最も低い前記論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、前記主記憶部に移動させる、請求項3に記載のメモリ制御装置。 - 前記デバイスドライバは、
更新した前記優先度情報と、前記論理ブロックの使用状況に関する情報とを対応づけて記憶し、
前記優先度が同じ複数の論理ブロックのうちの、使用時期が最も古い前記論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、前記主記憶部に移動させる、請求項4に記載のメモリ制御装置。 - 前記制御部は、前記メモリ制御装置の初回起動時に、前記優先度情報を前記デバイスドライバに通知する、請求項1〜5のいずれか1項に記載のメモリ制御装置。
- 前記制御部は、前記キャッシュ部においてデータを記憶しないキャッシュブロックを割り当てる時に、前記優先度情報を前記デバイスドライバに通知する、請求項1〜5のいずれか1項に記載のメモリ制御装置。
- データを記憶する主記憶部と、
キャッシュブロックを複数有し、データを一時的に記憶するキャッシュ部と、
前記主記憶部へのデータの書き込み又は読み出しと、前記キャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、
前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、
を備え、
前記制御部は、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知し、
さらに前記制御部は、アプリケーションから要求された処理内容に応じて、タイミング情報を前記デバイスドライバに通知し、
前記デバイスドライバは、前記制御部から通知された前記タイミング情報に基づき、前記キャッシュブロックに記憶されたデータを前記主記憶部に移動させる、メモリ装置。 - デバイスドライバが、主記憶部へのデータの書き込み又は読み出しと、キャッシュブロックを複数有するキャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行することと、
制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、
前記制御部が、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知することと、
さらに前記制御部は、アプリケーションから要求された処理内容に応じて、タイミング情報を前記デバイスドライバに通知することと、
前記デバイスドライバは、前記制御部から通知された前記タイミング情報に基づき、前記キャッシュブロックに記憶されたデータを前記主記憶部に移動させることと、
を含む、メモリ制御方法。 - デバイスドライバが、主記憶部へのデータの書き込み又は読み出しと、キャッシュブロックを複数有するキャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行することと、
制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、
前記制御部が、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知することと、
さらに前記制御部は、アプリケーションから要求された処理内容に応じて、タイミング情報を前記デバイスドライバに通知することと、
前記デバイスドライバは、前記制御部から通知された前記タイミング情報に基づき、前記キャッシュブロックに記憶されたデータを前記主記憶部に移動させることと、
をコンピュータに実行させるための、プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011059385A JP5699712B2 (ja) | 2011-03-17 | 2011-03-17 | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム |
CN2012100621648A CN102708066A (zh) | 2011-03-17 | 2012-03-09 | 存储器控制装置、存储器装置、存储器控制方法和程序 |
US13/416,535 US8972659B2 (en) | 2011-03-17 | 2012-03-09 | Memory control device, memory device, memory control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011059385A JP5699712B2 (ja) | 2011-03-17 | 2011-03-17 | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012194881A JP2012194881A (ja) | 2012-10-11 |
JP5699712B2 true JP5699712B2 (ja) | 2015-04-15 |
Family
ID=46829413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011059385A Expired - Fee Related JP5699712B2 (ja) | 2011-03-17 | 2011-03-17 | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8972659B2 (ja) |
JP (1) | JP5699712B2 (ja) |
CN (1) | CN102708066A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140042431A (ko) * | 2012-09-28 | 2014-04-07 | 삼성전자주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 |
WO2015131310A1 (zh) * | 2014-03-03 | 2015-09-11 | 华为技术有限公司 | 提供数据服务的方法和网络设备 |
CN105630696A (zh) * | 2015-03-27 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种利用mram保护nand的方法及存储结构 |
CN105894440B (zh) * | 2016-03-30 | 2019-02-01 | 福州瑞芯微电子股份有限公司 | 一种图像多层数据处理方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02118859A (ja) * | 1988-10-28 | 1990-05-07 | Nec Corp | 索引検索バッファ管理方式 |
JP2571298B2 (ja) * | 1990-04-26 | 1997-01-16 | 株式会社 ピーエフユー | データ管理制御方式 |
JPH04181446A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | リプレースメントアルゴリズムおよびそれを用いた計算機システム |
JP3460617B2 (ja) * | 1999-03-30 | 2003-10-27 | 富士通株式会社 | ファイル制御装置 |
JP2002207620A (ja) * | 2001-01-10 | 2002-07-26 | Toshiba Corp | ファイルシステム及び該システムにおけるデータキャッシング方法 |
JP4368610B2 (ja) * | 2003-05-07 | 2009-11-18 | パナソニック株式会社 | データ管理方法、データ管理プログラムおよびナビゲーション装置 |
WO2005059757A1 (ja) * | 2003-12-19 | 2005-06-30 | Matsushita Electric Industrial Co.,Ltd. | 記録デバイス制御装置 |
JP4189342B2 (ja) * | 2004-03-11 | 2008-12-03 | 東芝ソリューション株式会社 | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 |
US7490197B2 (en) * | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
JP4331220B2 (ja) * | 2007-03-07 | 2009-09-16 | 株式会社東芝 | 未使用物理領域自律管理機能を持つストレージ装置 |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
-
2011
- 2011-03-17 JP JP2011059385A patent/JP5699712B2/ja not_active Expired - Fee Related
-
2012
- 2012-03-09 US US13/416,535 patent/US8972659B2/en not_active Expired - Fee Related
- 2012-03-09 CN CN2012100621648A patent/CN102708066A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2012194881A (ja) | 2012-10-11 |
US8972659B2 (en) | 2015-03-03 |
CN102708066A (zh) | 2012-10-03 |
US20120239884A1 (en) | 2012-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687446B2 (en) | Namespace change propagation in non-volatile memory devices | |
US11954043B2 (en) | Memory system and method for controlling nonvolatile memory | |
US10338839B2 (en) | Memory system and method for controlling nonvolatile memory | |
US9134908B2 (en) | Logical volume space sharing | |
KR100951107B1 (ko) | 최적의 성능을 위한 파일 관리 방법 | |
CN111344683A (zh) | 非易失性存储器装置中的命名空间分配 | |
EP2972747B1 (en) | Data storage, file and volume system providing mutliple tiers | |
US20150127889A1 (en) | Nonvolatile memory system | |
US8868622B2 (en) | Method and apparatus for allocating resources in a computer system | |
EP2665065A2 (en) | Electronic device employing flash memory | |
US20060212495A1 (en) | Method and system for storing data into a database | |
JP2008242503A (ja) | メモリ管理装置及び方法、並びにプログラム | |
CN112771493B (zh) | 将写入流分离到多个分区中 | |
CN110502455B (zh) | 数据存储方法及系统 | |
US20090300315A1 (en) | Reserve Pool Management in Virtualized Storage Systems | |
JP5944502B2 (ja) | 計算機システム及び制御方法 | |
JP5699712B2 (ja) | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム | |
KR101017067B1 (ko) | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 | |
KR20170084675A (ko) | 메모리 내의 데이터를 액세스하는 방법과 이를 이용하는 메모리 장치 | |
JP5385835B2 (ja) | データ記録装置 | |
WO2016106757A1 (zh) | 一种存储数据的管理方法、存储管理器及存储系统 | |
JP2012194882A (ja) | メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム | |
EP2672390A1 (en) | Memory controller | |
JP6668785B2 (ja) | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム | |
EP3485362B1 (en) | Maintaining data associated with a storage device related applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141225 |
|
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: 20150120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150202 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5699712 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |