JP2016045563A - Nandバックグラウンド処理制御装置 - Google Patents
Nandバックグラウンド処理制御装置 Download PDFInfo
- Publication number
- JP2016045563A JP2016045563A JP2014167517A JP2014167517A JP2016045563A JP 2016045563 A JP2016045563 A JP 2016045563A JP 2014167517 A JP2014167517 A JP 2014167517A JP 2014167517 A JP2014167517 A JP 2014167517A JP 2016045563 A JP2016045563 A JP 2016045563A
- Authority
- JP
- Japan
- Prior art keywords
- time
- nand
- background processing
- task
- real
- 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.)
- Granted
Links
Images
Landscapes
- Memory System (AREA)
Abstract
Description
本実施形態においては、メモリデバイスであるNANDデバイス側のOSから、NANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報をホストデバイスであるHOST側のOSに送る一方、HOST側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間をNANDデバイス側OSに送信し、NANDデバイス側OSは、リアルタイムタスクがNANDデバイス側にアクセスしない隙間時間において、実行開始可能時刻に、実行可能時間分だけNANDバックグラウンド処理を実行する。図3は、本実施形態におけるNANDバックグラウンド処理を説明する図である。図3に示すように、本実施形態では、リアルタイムタスクがNANDデバイス側にアクセスしない、「隙間時間」を最大限に活用してNANDバックグラウンド処理を実行する。
次に、NANDデバイス側20では、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、タスク切替依頼に対するHOST側10からの応答を受信する(ステップS509)。
次に、第2の実施形態について説明する。第2の実施形態に係るNANDバックグラウンド処理制御装置の概略構成は、第1の実施形態に係るNANDバックグラウンド処理制御装置の概略構成と基本的には同様である。第2の実施形態では、NANDデバイス側OS21のブロック管理部211において、NANDバックグラウンド処理の重要性(緊急度)を反映させた閾値を設定する。係る閾値は、ガベージコレクション対象ブロック数の多寡に対応させるもので、例えば、レベル1、レベル1よりも重要性(緊急度)の高いレベル2という2レベルの閾値を設定するのが好適である。
次に、NANDデバイス側20では、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、タスク切替依頼に対するHOST側10からの応答を受信する(ステップS711)。
(2)HOST側OS11が、NANDデバイス側OS21から受信したタスク切替依頼通知に対する応答として、リアルタイムタスクモードを逸脱してもよい時間t1を引数として渡すことも可能とし、この時間t1を渡す場合は、時間t1内に処理できる範囲内のガベージコレクション対象ブロックを処理することとして予測実行時間を算出する。
次に、第3の実施形態について説明する。第3の実施形態に係るNANDバックグラウンド処理制御装置の概略構成は、第2の実施形態に係るNANDバックグラウンド処理制御装置1の概略構成と基本的には同様である。第3の実施形態では、HOST側OS11から提示された実行可能時間の長さに応じて、NANDデバイス側OS21では、ガベージコレクションを分割して実行する。例えば、閾値レベル1に設定したガベージコレクション対象ブロック数毎に、分けてNANDバックグラウンド処理する。
10・・・HOST側(ホストデバイス)
11・・・HOST側リアルタイムOS
111・・・リアルタイムスケジューラ
112・・・タスク切替依頼受信部
113・・・第1のデータ保持部
20・・・NANDデバイス側(メモリデバイス)
21・・・NANDデバイス側OS
211・・・ブロック管理部
212・・・タスク切替機能部
213・・・Read/Write部
214・・・タスク切替依頼送信部
215・・・第2のデータ保持部
Claims (16)
- リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
前記メモリデバイス側のOSから、ガベージコレクションを行うNANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、
前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、前記NANDバックグラウンド処理の実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけ前記NANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。 - リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
前記ホストデバイス側リアルタイムOSは、前記メモリデバイス側におけるガベージコレクションを行うNANDバックグラウンド処理タスクとメイン処理タスクとのタスク切替依頼の信号を前記メモリデバイス側から受信するタスク切替依頼受信部と、前記NANDバックグラウンド処理の実行開始可能時刻および前記NANDバックグラウンド処理を実行してもリアルタイムタスクに支障のない時間である実行可能時間の情報を保持する第1のデータ保持部を有し、
前記メモリデバイス側OSは、前記メモリデバイス側におけるブロックの状況を管理するとともに、前記NANDバックグラウンド処理に要する予測実行時間を算出可能なブロック管理部と、前記NANDバックグラウンド処理タスクと前記メイン処理タスクとのタスク切替依頼の信号を前記ホストデバイス側に送信するタスク切替依頼送信部と、前記NANDバックグラウンド処理におけるガベージコレクション対象ブロック数および前記NANDバックグラウンド処理に要する予測実行時間の情報を保持する第2のデータ保持部を、
備え、
前記メモリデバイス側のOSから、前記予測実行時間および前記ガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけ前記NANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。 - 前記ブロック管理部は、前記予測実行時間を算出するための算出ルールを設定可能となっている請求項2に記載のNANDバックグラウンド処理制御装置。
- 前記メモリデバイス側から前記ホストデバイス側へのタスク切替依頼の送信は、現状の前記ガベージコレクション対象ブロック数を所定の値との比較結果に応じることを契機とする請求項2または請求項3に記載のNANDバックグラウンド処理制御装置。
- 前記メモリデバイス側から前記ホストデバイス側へのタスク切替依頼の送信は、前記ホストデバイス側OSから前記メモリデバイス側OSに対してタスク切替許可通知が送られたことを契機とする請求項2乃至請求項3のいずれか1項に記載のNANDバックグラウンド処理制御装置。
- 前記タスク切替依頼の送信に際しては、現状の前記ガベージコレクション対象ブロック数を基に算出したガベージコレクションに要する予測実行時間を引数とする請求項2乃至請求項5のいずれか1項に記載のNANDバックグラウンド処理制御装置。
- 前記ホストデバイス側では、前記予測実行時間が前記実行可能時間よりも小さければ、実際に前記NANDバックグラウンド処理を実行してよい時間tに前記予測実行時間を設定し、
前記予測実行時間が前記実行可能時間よりも小さくなければ、実際に前記NAND バックグラウンド処理を実行してよい時間tに前記実行可能時間を設定する請求項1乃至請求項6のいずれか1項に記載のNANDバックグラウンド処理制御装置。 - 前記時間tは、現在の時刻から、次にリアルタイムタスクを起動するまでの空き時間を考慮して決定する請求項7に記載のNANDバックグラウンド処理制御装置。
- リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
メモリデバイス側OSは、 ガベージコレクションを行うNANDバックグラウンド処理の緊急度を示す閾値レベル1と、より緊急度の高い閾値レベル2の2段階の閾値を設定し、
閾値レベル1以上閾値レベル2以下の場合には、
前記メモリデバイス側のOSから、前記NANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけNANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。 - 前記リアルタイムタスクの周期が所定値よりも小さい場合には閾値レベル1とするガベージコレクション対象ブロック数を小さく設定して1度のタスク切替依頼で処理するブロック数を少なくし、
前記ガベージコレクションリアルタイムタスクの周期が所定値よりも大きい場合には閾値レベル1とするガベージコレクション対象ブロック数を大きめに設定して1度のタスク切替依頼で処理するブロック数を多くする請求項9に記載のNANDバックグラウンド処理制御装置。 - 前記閾値レベル2を超えた場合には、直ちにリアルタイムモードを一時停止して当該モードから逸脱し、前記メモリデバイス側OSに対して、前記NANDバックグラウンド処理の実行を許可し、
前記NANDバックグラウンド処理完了後、前記ホストデバイス側OSは、再びリアルタイムタスクモードに復帰し、周期的にリアルタイムタスクを起動・実行する請求項9に記載のNANDバックグラウンド処理制御装置。 - 前記予測実行時間の算出については、前記閾値レベル2以下であればガベージコレクション対象ブロック数から算出し、前記閾値レベル1以上2以下であるならば前記閾値レベル1に設定したガベージコレクション対象ブロック数から算出する請求項9に記載のNANDバックグラウンド処理制御装置。
- 前記閾値レベル2も超えた場合、前記メモリデバイス側における前記予測実行時間の算出は、
(1)すべてのガベージコレクション対象ブロックに対してガベージコレクションを行うこととし、ガベージコレクション対象ブロック数を基に算出する、
(2)前記ホストデバイス側OSから、リアルタイムタスクモードを逸脱してもよい時間t1を引数として受け取り、時間t1内に処理できる範囲内のガベージコレクション対象ブロック数を基に算出する、
のいずれかによる請求項9乃至請求項11のいずれか1項に記載のNANDバックグラウンド処理制御装置。 - 前記ホストデバイス側OSから提示された実行可能時間の長さに応じて、前記メモリデバイス側OSでは、ガベージコレクションを分割して実行する請求項9乃至請求項13のいずれか1項に記載のNANDバックグラウンド処理制御装置。
- 前記閾値レベル1に設定したガベージコレクション対象ブロック数毎に、分割してNANDバックグラウンド処理する請求項14に記載のNANDバックグラウンド処理制御装置。
- システム起動時に、前記ホストデバイス側リアルタイムOSは、前記メモリデバイス側OSに対して、リアルタイムタスクの起動周期、リアルタイムタスク起動後から前記NANDバックグラウンド処理を終了させる必要のある時間を表すデッドライン、リアルタイムタスク起動から前記メモリデバイスへのアクセス発生までの平均時間の情報を送信し、
前記メモリデバイス側OSは、これらの情報を基に、前記ガベージコレクション対象ブロック数の2レベルの閾値を算出する請求項9乃至請求項15のいずれか1項に記載のNANDバックグラウンド処理制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014167517A JP6193189B2 (ja) | 2014-08-20 | 2014-08-20 | Nandバックグラウンド処理制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014167517A JP6193189B2 (ja) | 2014-08-20 | 2014-08-20 | Nandバックグラウンド処理制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016045563A true JP2016045563A (ja) | 2016-04-04 |
JP6193189B2 JP6193189B2 (ja) | 2017-09-06 |
Family
ID=55636113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014167517A Active JP6193189B2 (ja) | 2014-08-20 | 2014-08-20 | Nandバックグラウンド処理制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6193189B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020149526A (ja) * | 2019-03-15 | 2020-09-17 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
JP7339815B2 (ja) | 2019-08-30 | 2023-09-06 | キヤノン株式会社 | 記録装置、撮像装置、制御方法、及びプログラム |
JP7418105B2 (ja) | 2019-08-30 | 2024-01-19 | キヤノン株式会社 | 記録装置、制御方法、及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3786804B1 (en) | 2019-08-30 | 2023-04-05 | Canon Kabushiki Kaisha | Recording apparatus, image capturing apparatus, control method, and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297443A (ja) * | 2001-04-02 | 2002-10-11 | Sharp Corp | 動的メモリ管理装置と動的メモリ管理方法とコンピュータプログラムとこれを記録した記録媒体およびこれらを備えた携帯端末 |
WO2010013445A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム |
JP2012185653A (ja) * | 2011-03-04 | 2012-09-27 | Mitsubishi Electric Corp | メモリ保守装置及びメモリ保守方法並びにデータ転送装置 |
-
2014
- 2014-08-20 JP JP2014167517A patent/JP6193189B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297443A (ja) * | 2001-04-02 | 2002-10-11 | Sharp Corp | 動的メモリ管理装置と動的メモリ管理方法とコンピュータプログラムとこれを記録した記録媒体およびこれらを備えた携帯端末 |
WO2010013445A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム |
JP2012185653A (ja) * | 2011-03-04 | 2012-09-27 | Mitsubishi Electric Corp | メモリ保守装置及びメモリ保守方法並びにデータ転送装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020149526A (ja) * | 2019-03-15 | 2020-09-17 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
JP2022121525A (ja) * | 2019-03-15 | 2022-08-19 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
US11693681B2 (en) | 2019-03-15 | 2023-07-04 | Kabushiki Kaisha Toshiba | Processing apparatus, processing method, and computer program product for controlling timing of data accessing to a memory |
JP7354361B2 (ja) | 2019-03-15 | 2023-10-02 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
JP7339815B2 (ja) | 2019-08-30 | 2023-09-06 | キヤノン株式会社 | 記録装置、撮像装置、制御方法、及びプログラム |
JP7418105B2 (ja) | 2019-08-30 | 2024-01-19 | キヤノン株式会社 | 記録装置、制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6193189B2 (ja) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11726931B2 (en) | Artificial intelligence-enabled management of storage media access | |
US10579269B2 (en) | Method, system, and apparatus for nested suspend and resume in a solid state drive | |
US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
KR102094236B1 (ko) | 스토리지 디바이스 및 컴퓨터 시스템 | |
CN107885456B (zh) | 减少io命令访问nvm的冲突 | |
US20180150242A1 (en) | Controller and storage device for efficient buffer allocation, and operating method of the storage device | |
US10303371B2 (en) | Data storage device that stabilizes write latency | |
US20110010490A1 (en) | Solid state drive and related method of operation | |
TWI735918B (zh) | 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置 | |
KR20160049200A (ko) | 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법 | |
US20200379684A1 (en) | Predictive Data Transfer based on Availability of Media Units in Memory Sub-Systems | |
KR20070089460A (ko) | 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법 | |
KR20130084988A (ko) | 플래시 메모리를 기반으로 하는 저장 장치 및 호스트를 포함하는 메모리 시스템 및 모바일 장치 | |
JP6193189B2 (ja) | Nandバックグラウンド処理制御装置 | |
US20190303289A1 (en) | Storage device, computer system, and operation method of storage device | |
CN108073358B (zh) | 包括存储设备的用户设备及存储设备的修剪管理方法 | |
WO2015117493A1 (zh) | 一种flash的控制方法和控制器 | |
US11494094B2 (en) | Storage system and method of dynamically managing power of storage system according to a monitored operating state of a computing device | |
KR20100042885A (ko) | 비휘발성 메모리 장치의 동작 방법 | |
US20230244394A1 (en) | Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive | |
US10922013B2 (en) | Suspending and resuming a read operation for a non-volatile memory | |
KR20200129700A (ko) | 컨트롤러 및 이를 포함하는 메모리 시스템 | |
CN107885667B (zh) | 降低读命令处理延迟的方法与装置 | |
KR101549569B1 (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
WO2015170702A1 (ja) | ストレージ装置と情報処理システム及びストレージ制御方法とプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160923 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170628 |
|
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: 20170711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170809 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6193189 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |