JP6193189B2 - NAND background processing controller - Google Patents

NAND background processing controller Download PDF

Info

Publication number
JP6193189B2
JP6193189B2 JP2014167517A JP2014167517A JP6193189B2 JP 6193189 B2 JP6193189 B2 JP 6193189B2 JP 2014167517 A JP2014167517 A JP 2014167517A JP 2014167517 A JP2014167517 A JP 2014167517A JP 6193189 B2 JP6193189 B2 JP 6193189B2
Authority
JP
Japan
Prior art keywords
time
nand
task
background processing
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.)
Active
Application number
JP2014167517A
Other languages
Japanese (ja)
Other versions
JP2016045563A (en
Inventor
玲奈 西野
玲奈 西野
浩志 野末
浩志 野末
ロペス ダニエル サンゴリン
ロペス ダニエル サンゴリン
良岳 小林
良岳 小林
真大 山田
真大 山田
幸大 岡本
幸大 岡本
和宏 林
和宏 林
章浩 鈴木
章浩 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014167517A priority Critical patent/JP6193189B2/en
Publication of JP2016045563A publication Critical patent/JP2016045563A/en
Application granted granted Critical
Publication of JP6193189B2 publication Critical patent/JP6193189B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、NANDバックグラウンド処理制御装置に関する。   Embodiments described herein relate generally to a NAND background processing control apparatus.

NANDフラッシュメモリは、使用するに従い断片状態となり、使用可能な連続領域が減少するため、書き込み・読み出し等のメイン処理(通常NAND処理、あるいはNANDアクセスとも称する)とは別にガベージコレクションなどのNANDバックグラウンド処理を行う必要がある。   NAND flash memory becomes fragmented as it is used, and the continuous area that can be used decreases, so NAND backgrounds such as garbage collection are separate from main processing such as writing and reading (usually called NAND processing or NAND access). It is necessary to perform processing.

既存のリアルタイムOSとNANDフラッシュメモリで構成したシステムでは、NANDバックグラウンド処理の実行によりリアルタイムタスクの応答時間保証が困難な場合がある。   In a system configured with an existing real-time OS and NAND flash memory, it may be difficult to guarantee the response time of real-time tasks by executing NAND background processing.

上記課題に対する現状の解決策として、eMMC規格では、HOST側におけるリアルタイムタスク実行完了の都度、HOST側がNANDデバイス側に対してNANDバックグラウンド処理の実行許可・禁止を通知することで、NANDバックグラウンド処理実行タイミングの制御を実現している。図1は、eMMC規格におけるNANDバックグラウンド処理を説明する図である。   As a current solution to the above issues, in the eMMC standard, every time a real-time task execution on the HOST side is completed, the HOST side notifies the NAND device side of permission / prohibition of execution of NAND background processing, so that NAND background processing The execution timing is controlled. FIG. 1 is a diagram for explaining NAND background processing in the eMMC standard.

しかしながら、NANDデバイス側OSがHOST側リアルタイムタスクの実行に影響を及ぼすという問題があった。   However, there was a problem that the OS on the NAND device side affected the execution of the real-time task on the HOST side.

Embedded MultiMedia Card(e・MMC)e・MMC/Card Product Standard,High Capacity, including Reliable Write, Boot, Sleep Modes, Dual DataRate, Multiple Partitions Supports and Security Enhancement(MMCA, 4.4)JESD84-A44 MARCH 2009JEDEC SOLID STATE TECHNOLOGY ASSOCIATIONEmbedded MultiMedia Card (e ・ MMC) e ・ MMC / Card Product Standard, High Capacity, including Reliable Write, Boot, Sleep Modes, Dual DataRate, Multiple Partitions Supports and Security Enhancement (MMCA, 4.4) JESD84-A44 MARCH 2009 JEDEC SOLID STATE TECHNOLOGY ASSOCIATION

特開2006−172494号公報JP 2006-172494 A

本発明が解決しようとする課題は、リアルタイムタスクがNANDデバイスにアクセスしない隙間時間を最大限に活用して、NANDバックグラウンド処理を進めることのできるNANDバックグラウンド処理制御装置を提供することである。   The problem to be solved by the present invention is to provide a NAND background processing control apparatus capable of proceeding NAND background processing by making maximum use of a gap time during which a real-time task does not access a NAND device.

実施形態のNANDバックグラウンド処理制御装置は、リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、前記メモリデバイス側のOSから、ガベージコレクションを行うNANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、前記NANDバックグラウンド処理の実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけ前記NANDバックグラウンド処理を実行する。   The NAND background processing control apparatus according to the embodiment includes a host device that has a real-time OS, periodically executes a real-time task, and is configured to be communicable with the host device, and has a NAND flash memory and a device-side OS. The memory device side OS sends information on the estimated execution time required for NAND background processing for garbage collection and the number of garbage collection target blocks to the OS on the host device side, while the host device side Since the OS does not affect the execution of the real-time task, the execution start time and the execution time of the NAND background process are transmitted to the memory device-side OS, and the memory device-side OS transmits the real-time task to the memory device In the gap time when the side is not accessed Te, the execution start enabled time, the only feasible time period for executing the NAND background processing.

eMMC規格におけるNANDバックグラウンド処理を説明する図である。It is a figure explaining the NAND background process in eMMC specification. NANDバックグラウンド処理の有無によるリアルタイムタスクに対する影響を説明する図である。It is a figure explaining the influence with respect to the real-time task by the presence or absence of NAND background processing. 本実施形態におけるNANDバックグラウンド処理を説明する図である。It is a figure explaining the NAND background process in this embodiment. 本発明の第1の実施形態に係るNANDバックグラウンド処理制御装置の概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a NAND background processing control apparatus according to a first embodiment of the present invention. 第1の実施形態に係るNANDバックグラウンド処理制御装置におけるNANDバックグラウンド処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the NAND background process in the NAND background process control apparatus which concerns on 1st Embodiment. 実行可能時間分だけのNANDバックグラウンド処理を説明する図である。It is a figure explaining NAND background processing only for the executable time. 第2の実施形態に係るNANDバックグラウンド処理制御装置におけるNANDバックグラウンド処理の制御の主な流れを示すフローチャートである。It is a flowchart which shows the main flow of control of the NAND background process in the NAND background process control apparatus which concerns on 2nd Embodiment.

以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.

まず、本実施形態で用いる主要な用語について説明する。   First, main terms used in the present embodiment will be described.

「リアルタイムタスク」とは、終了時刻(デッドライン)までに処理を完了しなければならないタスクをいう。開始予定時刻に起動され、即座に実行を開始する。   “Real-time task” refers to a task whose processing must be completed by the end time (deadline). It starts at the scheduled start time and starts running immediately.

「NAND処理」とは、HOST側からの指令を受けて行われるNANDデバイスに対する書き込み・読み出しを行うメイン処理と、“NANDバックグラウンド処理”をいう。   “NAND processing” refers to main processing for writing / reading to / from a NAND device performed in response to a command from the HOST side, and “NAND background processing”.

「NANDバックグラウンド処理」とは、HOST側からの要求を受け、NANDデバイスに対してメイン処理とは別に行われるNANDブロック管理のための処理をいう。本実施形態においては、後述する“ガベージコレクション(GC)”が該当し、ユーザーによる関与が殆ど不要である。メイン処理ではないため、HOST側で実行されるリアルタイムタスクに対して影響が少ないことが求められる。NANDバックグラウンド処理は、HOST側から要求されたメイン処理とは別に、タスクを切り替えることで実行される。図2は、NANDバックグラウンド処理の有無によるリアルタイムタスクに対する影響を説明する図である。図2において、周期AはNANDバックグラウンド処理なしの状況を示し、周期Bは従来手法によるNANDバックグラウンド処理の一例を示し、周期Cは後述する本実施形態に係るNANDバックグラウンド処理の一例を示している。   “NAND background processing” refers to processing for NAND block management that is performed separately from the main processing for the NAND device in response to a request from the HOST side. In the present embodiment, “garbage collection (GC)”, which will be described later, corresponds, and almost no involvement by the user is required. Since it is not the main process, it is required to have little influence on the real-time task executed on the HOST side. The NAND background processing is executed by switching tasks separately from the main processing requested from the HOST side. FIG. 2 is a diagram for explaining the influence on the real-time task due to the presence or absence of NAND background processing. In FIG. 2, a cycle A shows a situation without NAND background processing, a cycle B shows an example of NAND background processing by a conventional method, and a cycle C shows an example of NAND background processing according to the present embodiment described later. ing.

「ガベージコレクション(GC)」とは、本実施形態におけるNANDバックグラウンド処理をいう。NANDフラッシュメモリへの書き込みでは、書き込みの前にNANDフラッシュメモリを消去する必要がある。NANDフラッシュメモリでは消去単位がブロック(例えば、512KB)単位のため、書き込みが可能な新規の消去済みのブロック(フリーブロック)が確保できなくなると、書き込みが不能となる。そこで、無効データの含まれているブロックの有効データを集めて新たにフリーブロックに書き直すことにより有効データを移動して、有効データを移動したブロックを無効データのみを含むブロックとして消去を行い、新たにフリーブロックを生成するガベージコレクションを行う。   “Garbage collection (GC)” refers to NAND background processing in the present embodiment. In writing to the NAND flash memory, it is necessary to erase the NAND flash memory before writing. In the NAND flash memory, the erasure unit is a block (for example, 512 KB) unit. Therefore, if a new erasable block (free block) that can be written cannot be secured, writing becomes impossible. Therefore, the valid data of the block containing invalid data is collected and rewritten to a free block to move the valid data, and the block to which the valid data is moved is erased as a block containing only invalid data. Garbage collection that generates free blocks.

「ポーリング」とは、定期的な問い合わせのことをいう。   “Polling” refers to periodic inquiries.

「eMMC規格」とは、フラッシュメモリを利用した組み込み機器向けの外部記憶装置の規格の一つである。半導体部品の分野で規格の標準化を行っている業界団体JEDEC(Joint Electron Device Engineering Council)が定めたもので、NANDフラッシュメモリと制御回路を一つのパッケージにまとめ、メモリカードの規格の一つであるMMC(マルチメディアカード、SDカードの前身)と同じインターフェースで外部と接続される。   The “eMMC standard” is one of the standards for external storage devices for embedded devices that use flash memory. JEDEC (Joint Electron Device Engineering Council), an industry group that standardizes standards in the field of semiconductor components, is a standard for memory cards, combining NAND flash memory and control circuits in one package. It is connected to the outside via the same interface as MMC (multimedia card, the predecessor of SD card)

(第1の実施形態)
本実施形態においては、メモリデバイスであるNANDデバイス側のOSから、NANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報をホストデバイスであるHOST側のOSに送る一方、HOST側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間をNANDデバイス側OSに送信し、NANDデバイス側OSは、リアルタイムタスクがNANDデバイス側にアクセスしない隙間時間において、実行開始可能時刻に、実行可能時間分だけNANDバックグラウンド処理を実行する。図3は、本実施形態におけるNANDバックグラウンド処理を説明する図である。図3に示すように、本実施形態では、リアルタイムタスクがNANDデバイス側にアクセスしない、「隙間時間」を最大限に活用してNANDバックグラウンド処理を実行する。
(First embodiment)
In this embodiment, from the OS on the NAND device side that is a memory device, information on the estimated execution time required for NAND background processing and the number of blocks to be garbage collected is sent to the OS on the HOST side that is the host device. The OS sends the execution start time and execution time to the NAND device-side OS so that the real-time task execution is not affected, and the NAND device-side OS executes in the gap time when the real-time task does not access the NAND device side. Execute NAND background processing for the executable time at the startable time. FIG. 3 is a diagram for explaining NAND background processing in the present embodiment. As shown in FIG. 3, in this embodiment, the NAND background process is executed by maximizing the “gap time” that the real-time task does not access the NAND device side.

図4は、本発明の第1の実施形態に係るNANDバックグラウンド処理制御装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)等)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CAD(Computer Aided Design)やCAE(Computer Aided Engineering)に好適なエンジニアリングワークステーション(EWS)等も含む。本実施形態はこのようなコンピュータにおいて、NANDデバイス側のOSから、NANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報をHOST側のOSに送る一方、HOST側のOSはリアルタイムタスク実行に影響を及ぼさないため、NANDバックグラウンド処理の実行開始可能時刻と実行可能時間をNANDデバイス側OSに送信するプログラムとして実施することもできる。   FIG. 4 is a block diagram showing a schematic configuration of the NAND background processing control apparatus according to the first embodiment of the present invention. This apparatus is realized using a general-purpose computer (for example, a personal computer (PC) or the like) and software operating on the computer. The computer includes an engineering workstation (EWS) suitable for CAD (Computer Aided Design) and CAE (Computer Aided Engineering). In this embodiment, in such a computer, the OS on the NAND device side sends information on the estimated execution time required for NAND background processing and the number of blocks to be garbage collected to the OS on the HOST side, while the OS on the HOST side is a real-time task. Since it does not affect execution, it can also be implemented as a program that transmits the execution start time and execution time of NAND background processing to the NAND device OS.

図4に示すように、本実施形態に係るNANDバックグラウンド処理制御装置1は、周期的にリアルタイムタスクを実行するホストデバイス(以下、HOST側と称する)10と、NAND型フラッシュメモリを含むメモリデバイス(以下、NANDデバイス側と称する)20から構成され、HOST側10とNANDデバイス側20は通信可能に構成されている。NANDデバイス側20は、メイン処理とNANDバックグラウンド処理をシリアルに実行するもので、これら2つの処理は、実行タスクを切り替えることで行われる。   As shown in FIG. 4, the NAND background processing control apparatus 1 according to the present embodiment includes a host device (hereinafter referred to as HOST side) 10 that periodically executes a real-time task, and a memory device including a NAND flash memory. (Hereinafter referred to as the NAND device side) 20, and the HOST side 10 and the NAND device side 20 are configured to be communicable. The NAND device side 20 executes main processing and NAND background processing serially, and these two processes are performed by switching execution tasks.

HOST側10は、HOST側リアルタイムOS11を具備している。HOST側リアルタイムOS11は、リアルタイムタスクの実行管理を行うリアルタイムスケジューラ111と、タスク切替依頼受信部112と、第1のデータ保持部113を備えている。   The HOST side 10 includes a HOST side real-time OS 11. The HOST-side real-time OS 11 includes a real-time scheduler 111 that performs real-time task execution management, a task switching request receiving unit 112, and a first data holding unit 113.

タスク切替依頼受信部112は、NANDデバイス側20における実行タスクの切替に関し、NANDデバイス側20から、タスク切替依頼の信号を受信する。第1のデータ保持部113は、リアルタイムタスクの実行に影響を及ぼさないための、NANDバックグラウンド処理の“実行開始可能時刻”およびNANDバックグラウンド処理を実行しても支障のない時間である“実行可能時間”の情報を保持している。   The task switching request receiving unit 112 receives a task switching request signal from the NAND device side 20 regarding switching of execution tasks on the NAND device side 20. The first data holding unit 113 does not affect the execution of the real-time task. The “execution startable time” of the NAND background processing and the “execution time that does not hinder the execution of the NAND background processing” It holds information on “possible time”.

NANDデバイス側20は、NANDデバイス側OS21を具備している。NANDデバイス側OS21は、ブロック管理部211と、タスク切替機能部212と、Read/Write部213と、タスク切替依頼送信部214と、第2のデータ保持部215を備えている。   The NAND device side 20 includes a NAND device side OS 21. The NAND device-side OS 21 includes a block management unit 211, a task switching function unit 212, a read / write unit 213, a task switching request transmission unit 214, and a second data holding unit 215.

ブロック管理部211は、NANDデバイス側20におけるブロックの状況を管理するとともに、ガベージコレクションに要する“予測実行時間”を算出するための算出ルール(例えば、係数)を設定可能となっている。   The block management unit 211 can manage the block status on the NAND device side 20 and set a calculation rule (for example, a coefficient) for calculating “predicted execution time” required for garbage collection.

タスク切替機能部212は、メイン処理タスクとNANDバックグラウンド処理タスクの切替を制御する。   The task switching function unit 212 controls switching between the main processing task and the NAND background processing task.

Read/Write部213は、HOST側リアルタイムOS11からの指令を受け取り、NANDデバイスに対する書き込み、読み出しを制御する。   The Read / Write unit 213 receives a command from the HOST side real-time OS 11 and controls writing to and reading from the NAND device.

タスク切替依頼送信部214は、NANDデバイスにおける実行タスクの切替の可否を問うため、HOST側10に対して、タスク切替依頼の信号を送信する。   The task switching request transmission unit 214 transmits a task switching request signal to the HOST side 10 in order to ask whether or not execution tasks can be switched in the NAND device.

第2のデータ保持部215は、ガベージコレクションの対象となる“ガベージコレクション対象ブロック数”および“予測実行時間”の情報を保持している。   The second data holding unit 215 holds information on the “garbage collection target number of blocks” and “predicted execution time” that are to be garbage collected.

次に、以上のように構成されたNANDバックグラウンド処理制御装置1におけるNANDバックグラウンド処理の制御の流れについて説明する。   Next, a control flow of NAND background processing in the NAND background processing control device 1 configured as described above will be described.

図5は、第1の実施形態に係るNANDバックグラウンド処理制御装置1におけるNANDバックグラウンド処理の制御の流れを示すフローチャートである。   FIG. 5 is a flowchart showing a flow of control of NAND background processing in the NAND background processing control apparatus 1 according to the first embodiment.

まず、NANDデバイス側20は、メイン処理タスクからNANDバックグラウンド処理タスクへのタスク切替依頼の送信をHOST側10に対して行う(ステップS501)。タスク切替依頼の送信のきっかけとしては、例えば、現状のガベージコレクション対象ブロック数を所定の閾値との比較結果に応じさせることでも、HOST側OS11からNANDデバイス側OS21に対してタスク切替許可通知が送られたことを契機とすることでもよい。尚、タスク切替依頼の送信に際しては、現状のガベージコレクション対象ブロック数を基に算出したガベージコレクションに要する予測実行時間を引数とする。   First, the NAND device side 20 transmits a task switching request from the main processing task to the NAND background processing task to the HOST side 10 (step S501). As a trigger for sending a task switching request, for example, a task switching permission notification is sent from the HOST side OS 11 to the NAND device side OS 21 by causing the current number of blocks to be garbage collected to correspond to a comparison result with a predetermined threshold. It may be triggered by what has been done. When transmitting a task switching request, the estimated execution time required for garbage collection calculated based on the current number of garbage collection target blocks is used as an argument.

次に、HOST側10では、予測実行時間を引数として、メイン処理タスクからNANDバックグラウンド処理タスクへのタスク切替依頼を受信する(ステップS502)。   Next, the HOST side 10 receives a task switching request from the main processing task to the NAND background processing task using the predicted execution time as an argument (step S502).

次に、HOST側10では、リアルタイムタスクの実行管理を行うリアルタイムスケジューラによってリアルタイムタスクの実行状況を勘案しながら、NAND バックグラウンド処理の実行開始可能時刻を算出する(ステップS503)。   Next, the HOST side 10 calculates the execution start time of NAND background processing by taking into consideration the execution status of the real-time task by the real-time scheduler that manages the execution of the real-time task (step S503).

次いで、HOST側10では、NANDデバイス側20でNAND バックグラウンド処理に費やすことのできる実行可能時間を算出する(ステップS504)。   Next, the HOST side 10 calculates an executable time that can be spent on NAND background processing on the NAND device side 20 (step S504).

続いて、HOST側10では、予測実行時間が実行可能時間よりも小さいか否かを判定する(ステップS505)。   Subsequently, the HOST side 10 determines whether or not the predicted execution time is shorter than the executable time (step S505).

次に、予測実行時間が実行可能時間よりも小さければ(ステップS505でYes)、HOST側10では、実際にNANDバックグラウンド処理を実行してよい時間tに予測実行時間を設定(ステップS506)し、ステップS508に移行する。ここで、実行してよい時間tは、例えば、現在の時刻から、次にリアルタイムタスクを起動するまでの空き時間を考慮して決定するのが好適である。   Next, if the predicted execution time is shorter than the executable time (Yes in step S505), the HOST side 10 sets the predicted execution time to the time t at which the NAND background processing can actually be executed (step S506). The process proceeds to step S508. Here, the time t that may be executed is preferably determined in consideration of, for example, a free time from the current time until the next real-time task is activated.

一方、予測実行時間が実行可能時間よりも小さくなければ(ステップS505でNo)、HOST側10では、実際にNAND バックグラウンド処理を実行してよい時間tに実行可能時間を設定する(ステップS507)。   On the other hand, if the predicted execution time is not shorter than the executable time (No in step S505), the HOST side 10 sets the executable time as the time t at which the NAND background processing may actually be executed (step S507). .

次いで、HOST側10では、NANDデバイス側からのタスク切替依頼に対する応答を、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、NANDデバイス側20に送信する(ステップS508)。
次に、NANDデバイス側20では、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、タスク切替依頼に対するHOST側10からの応答を受信する(ステップS509)。
Next, on the HOST side 10, a response to the task switching request from the NAND device side is transmitted to the NAND device side 20 with the execution startable time and the time t when the NAND background processing can actually be executed as arguments. S508).
Next, the NAND device side 20 receives a response from the HOST side 10 to the task switching request with the execution startable time and the time t at which the NAND background processing can actually be executed as arguments (step S509).

次いで、NANDデバイス側20では、タスク切替が実行され、実行開始可能時刻に実行可能時間分だけNANDバックグラウンド処理タスクが実行され(ステップS510)、その後NANDバックグラウンド処理の制御を終了する。図6は、実行可能時間分だけのNANDバックグラウンド処理を説明する図である。   Next, on the NAND device side 20, task switching is executed, and the NAND background processing task is executed for the executable time at the execution startable time (step S510), and then the control of the NAND background processing is ended. FIG. 6 is a diagram for explaining NAND background processing for the executable time.

以上説明したように、本実施形態によれば、HOST側10のリアルタイムタスクに影響を与えることなく、NANDバックグラウンド処理を円滑に実行することができるようになる。   As described above, according to the present embodiment, NAND background processing can be smoothly executed without affecting the real-time task on the HOST side 10.

(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態に係るNANDバックグラウンド処理制御装置の概略構成は、第1の実施形態に係るNANDバックグラウンド処理制御装置の概略構成と基本的には同様である。第2の実施形態では、NANDデバイス側OS21のブロック管理部211において、NANDバックグラウンド処理の重要性(緊急度)を反映させた閾値を設定する。係る閾値は、ガベージコレクション対象ブロック数の多寡に対応させるもので、例えば、レベル1、レベル1よりも重要性(緊急度)の高いレベル2という2レベルの閾値を設定するのが好適である。
(Second Embodiment)
Next, a second embodiment will be described. The schematic configuration of the NAND background processing control apparatus according to the second embodiment is basically the same as the schematic configuration of the NAND background processing control apparatus according to the first embodiment. In the second embodiment, the block management unit 211 of the NAND device-side OS 21 sets a threshold value that reflects the importance (urgent level) of NAND background processing. The threshold value corresponds to the number of garbage collection target blocks. For example, it is preferable to set a two-level threshold value, that is, level 1 and level 2 which is more important (urgency level) than level 1.

NANDバックグラウンド処理制御装置1のシステム起動時に、Host側リアルタイムOS11は、NANDデバイス側OS21に対して、リアルタイムタスク起動周期、デッドライン、NANDアクセス発生までの平均時間などの情報を送信する。リアルタイムタスク起動周期は、例えば、50msec毎にリアルタイムタスクを起動するとの情報である。デッドラインは、例えば、リアルタイムタスク起動後から、30msec以内にはNANDバックグラウンド処理を終了させる必要があるとの情報である。NANDアクセス発生までの平均時間は、例えば、リアルタイムタスク起動から約20msec後にNANDアクセスが発生すると事前に予測がつくような場合の情報である。   When the NAND background processing control device 1 is activated, the host-side real-time OS 11 transmits information such as a real-time task activation period, a deadline, and an average time until NAND access occurs to the NAND device-side OS 21. The real-time task activation cycle is information that a real-time task is activated every 50 msec, for example. The deadline is information indicating that the NAND background processing needs to be terminated within 30 msec after the real-time task is activated, for example. The average time until the NAND access occurs is, for example, information in a case where a prediction can be made in advance when a NAND access occurs about 20 msec after the real-time task is activated.

NANDデバイス側OS21は、HOST側10から受信したリアルタイムタスク起動周期、デッドライン、NANDアクセス発生までの平均時間などの情報を基に、ガベージコレクション対象ブロック数の2レベルの閾値を算出する。NANDデバイス側OS21は、特に、リアルタイムタスクが、ある程度ゆったりした周期で行われるか、極めて小刻みな周期で実行されるかに応じ、例えば、リアルタイムタスクが極めて小刻みに実行されるようなシステムであれば、閾値レベル1とするガベージコレクション対象ブロック数を小さく設定して1度のタスク切替依頼で処理するブロック数を少なくし、リアルタイムタスクの実行に合わせて小刻みにNANDバックグラウンド処理を行うようする。一方、ある程度ゆったりした周期でリアルタイムタスクが実行されるようなシステムでは、閾値レベル1とするガベージコレクション対象ブロック数を大きめに設定し、1度のタスク切替依頼で処理するブロック数を多くする。   The NAND device-side OS 21 calculates a two-level threshold for the number of blocks subject to garbage collection based on information received from the HOST side 10 such as the real-time task start cycle, deadline, and average time until NAND access occurs. The NAND device-side OS 21 is, for example, a system in which a real-time task is executed in very small increments depending on whether the real-time task is executed in a somewhat relaxed cycle or in a very small cycle. The number of blocks to be garbage collected at the threshold level 1 is set to a small value to reduce the number of blocks to be processed by one task switching request, and NAND background processing is performed in small steps in accordance with the execution of the real-time task. On the other hand, in a system in which a real-time task is executed at a somewhat relaxed period, the number of garbage collection target blocks with a threshold level of 1 is set to be large, and the number of blocks processed in one task switching request is increased.

2レベルの閾値の設定後、NANDデバイス側OS21は、閾値を設定した旨の応答をHOST側OS11に送信する。   After setting the two-level threshold value, the NAND device-side OS 21 transmits a response indicating that the threshold value has been set to the HOST-side OS 11.

NANDデバイス側OS21は、現状のガベージコレクション対象ブロック数が、閾値レベル2を超えた場合には、予測実行時間、閾値レベル2を引数として、NANDバックグラウンド処理の実行依頼をHOST側OS11に送信する。   When the current garbage collection target block count exceeds the threshold level 2, the NAND device-side OS 21 sends an execution request for NAND background processing to the HOST-side OS 11 with the predicted execution time and the threshold level 2 as arguments. .

リアルタイムモード時には、HOST側OS11は周期的にリアルタイムタスクを起動しているが、閾値レベル2を引数とするNANDバックグラウンド処理の実行依頼を受信したHOST側ホストOS11は、NANDバックグラウンド処理の緊急性が高いので、直ちにリアルタイムモードを一時停止して当該モードから逸脱し、NANDデバイス側OS21に対して、NANDバックグラウンド処理の実行を許可する。NANDバックグラウンド処理完了後、HOST側ホストOS11は、再びリアルタイムタスクモードに復帰し、周期的にリアルタイムタスクを起動・実行する。   In the real-time mode, the HOST-side OS 11 periodically starts a real-time task, but the HOST-side host OS 11 that has received an execution request for the NAND background process with the threshold level 2 as an argument is the urgency of the NAND background process. Therefore, the real-time mode is immediately paused to deviate from the mode, and the NAND device side OS 21 is allowed to execute NAND background processing. After the NAND background processing is completed, the HOST side host OS 11 returns to the real time task mode again, and periodically starts and executes the real time task.

図7は、第2の実施形態に係るNANDバックグラウンド処理制御装置1におけるNANDバックグラウンド処理の制御の主な流れを示すフローチャートである。尚、図7に示す例では、閾値レベル1以上閾値レベル2以下の場合を示している。   FIG. 7 is a flowchart showing a main flow of control of NAND background processing in the NAND background processing control apparatus 1 according to the second embodiment. In the example shown in FIG. 7, a case where the threshold level is 1 or more and the threshold level 2 or less is shown.

まず、NANDバックグラウンド処理制御装置1のシステム起動時に、HOST側リアルタイムOS11は、NANDデバイス側OS21に対して、リアルタイムタスク起動周期、デッドライン、NANDアクセス発生までの平均時間などの情報を送信する。NANDデバイス側OS21は、受信した情報を基に、ガベージコレクション対象ブロック数の2レベルの閾値を算出し、応答を送信する。   First, at the time of system startup of the NAND background processing control device 1, the HOST-side real-time OS 11 transmits information such as a real-time task start cycle, a deadline, and an average time until NAND access occurs to the NAND device-side OS 21. Based on the received information, the NAND device-side OS 21 calculates a two-level threshold for the number of garbage collection target blocks, and transmits a response.

HOST側リアルタイムOS11は、リアルタイムタスクを起動し、リアルタイムタスクが終了したら、HOST側リアルタイムOS11はNANDデバイス側OS21に対してNANDバックグラウンド処理実行許可を送信する。   The HOST-side real-time OS 11 starts a real-time task, and when the real-time task ends, the HOST-side real-time OS 11 transmits a NAND background process execution permission to the NAND device-side OS 21.

NANDデバイス側OS21は、NANDバックグラウンド処理実行許可を受信すると、現状のガベージコレクション対象ブロック数が閾値レベル1よりも多いか否かを判定する(ステップS701)。   When receiving the NAND background process execution permission, the NAND device-side OS 21 determines whether or not the current number of garbage collection target blocks is greater than the threshold level 1 (step S701).

ガベージコレクション対象ブロック数が閾値レベル1よりも多ければ(ステップS701でYes)、NANDデバイス側20において、予測実行時間を算出する(ステップS702)。予測実行時間の算出については、例えば、閾値レベル2以下であればガベージコレクション対象ブロック数から算出し、閾値レベル1以上2以下であるならば閾値レベル1に設定したガベージコレクション対象ブロック数から算出する、のいずれでもよい。   If the number of garbage collection target blocks is larger than the threshold level 1 (Yes in step S701), the NAND device side 20 calculates the predicted execution time (step S702). The calculation of the predicted execution time is, for example, calculated from the number of garbage collection target blocks if the threshold level is 2 or less, and calculated from the number of garbage collection blocks set to the threshold level 1 if the threshold level is 1 or more and 2 or less. Either of these may be used.

一方、ガベージコレクション対象ブロック数が閾値レベル1よりも多くなければ(ステップS701でNo)、NANDバックグラウンド処理の必要がないとしてステップS701に戻る。   On the other hand, if the number of garbage collection target blocks is not greater than the threshold level 1 (No in step S701), the process returns to step S701 because NAND background processing is not necessary.

次に、NANDデバイス側20は、メイン処理タスクからNANDバックグラウンド処理タスクへのタスク切替依頼の送信をHOST側10に対して行う(ステップS703)。タスク切替依頼の送信に際しては、ステップS702で算出した予測実行時間を引数とする。   Next, the NAND device side 20 transmits a task switching request from the main processing task to the NAND background processing task to the HOST side 10 (step S703). When transmitting a task switching request, the predicted execution time calculated in step S702 is used as an argument.

次に、HOST側10では、予測実行時間を引数として、メイン処理タスクからNANDバックグラウンド処理タスクへのタスク切替依頼を受信する(ステップS704)。   Next, the HOST side 10 receives a task switching request from the main processing task to the NAND background processing task using the predicted execution time as an argument (step S704).

次に、HOST側10では、リアルタイムタスクの実行管理を行うリアルタイムスケジューラによってリアルタイムタスクの実行状況を勘案しながら、NANDバックグラウンド処理の実行開始可能時刻を算出する(ステップS705)。   Next, the HOST side 10 calculates the execution start time of NAND background processing by taking into consideration the execution status of the real-time task by the real-time scheduler that manages the execution of the real-time task (step S705).

次いで、HOST側10では、NANDデバイス側20でNANDバックグラウンド処理に費やすことのできる実行可能時間を算出する(ステップS706)。   Next, the HOST side 10 calculates the executable time that can be spent on the NAND background processing on the NAND device side 20 (step S706).

続いて、HOST側10では、予測実行時間が実行可能時間よりも小さいか否かを判定する(ステップS707)。   Subsequently, the HOST side 10 determines whether or not the predicted execution time is shorter than the executable time (step S707).

次に、予測実行時間が実行可能時間よりも小さければ(ステップS707でYes)、HOST側10では、実際にNANDバックグラウンド処理を実行してよい時間tを予測実行時間に設定(ステップS708)し、ステップS710に移行する。   Next, if the predicted execution time is shorter than the executable time (Yes in step S707), the HOST side 10 sets a time t at which the NAND background processing may actually be executed as the predicted execution time (step S708). The process proceeds to step S710.

一方、予測実行時間が実行可能時間よりも小さくなければ(ステップS707でNo)、HOST側10では、実際にNANDバックグラウンド処理を実行してよい時間tを実行可能時間に設定する(ステップS709)。   On the other hand, if the predicted execution time is not shorter than the executable time (No in step S707), the HOST side 10 sets the time t at which the NAND background processing can actually be executed as the executable time (step S709). .

次いで、HOST側10では、NANDデバイス側20からのタスク切替依頼に対する応答を、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、NANDデバイス側20に送信する(ステップS710)。
次に、NANDデバイス側20では、実行開始可能時刻および実際にNANDバックグラウンド処理を実行してよい時間tを引数として、タスク切替依頼に対するHOST側10からの応答を受信する(ステップS711)。
Next, on the HOST side 10, a response to the task switching request from the NAND device side 20 is transmitted to the NAND device side 20 using the execution startable time and the time t when the NAND background processing can actually be executed as arguments. Step S710).
Next, the NAND device side 20 receives a response from the HOST side 10 to the task switching request with the execution startable time and the time t when the NAND background processing can actually be executed as arguments (step S711).

次いで、NANDデバイス側20では、タスク切替が実行され、NANDバックグラウンド処理タスクが実行され(ステップS712)、NANDバックグラウンド処理の制御を終了する。   Next, on the NAND device side 20, task switching is executed, a NAND background processing task is executed (step S712), and the control of the NAND background processing is ended.

上記したように、図6に示す例では、閾値レベル1以上閾値レベル2以下の場合で説明したが、閾値レベル2も超えた場合、NANDデバイス側20における予測実行時間の算出については、例えば、以下のいずれかのように取り扱うのが好適である。   As described above, in the example illustrated in FIG. 6, the case where the threshold level is 1 or more and the threshold level 2 or less is described. However, when the threshold level 2 is also exceeded, It is preferable to handle as follows.

(1)すべてのガベージコレクション対象ブロックに対してガベージコレクション処理を行うこととし、ガベージコレクション対象ブロック数を基に予測実行時間を算出する、
(2)HOST側OS11が、NANDデバイス側OS21から受信したタスク切替依頼通知に対する応答として、リアルタイムタスクモードを逸脱してもよい時間tを引数として渡すことも可能とし、この時間tを渡す場合は、時間t内に処理できる範囲内のガベージコレクション対象ブロックを処理することとして予測実行時間を算出する。
(1) Carry out garbage collection processing on all garbage collection target blocks, and calculate the estimated execution time based on the number of garbage collection target blocks.
(2) As a response to the task switching request notification received from the NAND device-side OS 21, the HOST-side OS 11 can pass the time t 1 that may deviate from the real-time task mode as an argument, and pass this time t 1 If, calculates the predicted execution time as treating the garbage collection object block within the range that can be processed in time t 1.

第2の実施形態によれば、フリーブロックの不足状況を反映させた緊急度に応じたNANDバックグラウンド処理が制御できる。   According to the second embodiment, NAND background processing according to the degree of urgency reflecting the shortage of free blocks can be controlled.

(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態に係るNANDバックグラウンド処理制御装置の概略構成は、第2の実施形態に係るNANDバックグラウンド処理制御装置1の概略構成と基本的には同様である。第3の実施形態では、HOST側OS11から提示された実行可能時間の長さに応じて、NANDデバイス側OS21では、ガベージコレクションを分割して実行する。例えば、閾値レベル1に設定したガベージコレクション対象ブロック数毎に、分けてNANDバックグラウンド処理する。
(Third embodiment)
Next, a third embodiment will be described. The schematic configuration of the NAND background processing control apparatus according to the third embodiment is basically the same as the schematic configuration of the NAND background processing control apparatus 1 according to the second embodiment. In the third embodiment, the NAND device-side OS 21 divides and executes garbage collection according to the length of the executable time presented from the HOST-side OS 11. For example, NAND background processing is performed separately for each number of garbage collection target blocks set to threshold level 1.

第3の実施形態によれば、HOST側10への応答遅延をできる限り少なくすることができる。   According to the third embodiment, the response delay to the HOST side 10 can be minimized.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1・・・NANDバックグラウンド処理制御装置
10・・・HOST側(ホストデバイス)
11・・・HOST側リアルタイムOS
111・・・リアルタイムスケジューラ
112・・・タスク切替依頼受信部
113・・・第1のデータ保持部
20・・・NANDデバイス側(メモリデバイス)
21・・・NANDデバイス側OS
211・・・ブロック管理部
212・・・タスク切替機能部
213・・・Read/Write部
214・・・タスク切替依頼送信部
215・・・第2のデータ保持部
1 ... NAND background processing control device 10 ... HOST side (host device)
11 ... HOST side real-time OS
111 ... Real-time scheduler 112 ... Task switching request receiving unit 113 ... First data holding unit 20 ... NAND device side (memory device)
21 ... NAND device side OS
211: Block management unit 212: Task switching function unit 213: Read / Write unit 214: Task switching request transmission unit 215: Second data holding unit

Claims (15)

リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
前記メモリデバイス側のOSから、ガベージコレクションを行うNANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、
前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、前記NANDバックグラウンド処理の実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけ前記NANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。
A host device having a real-time OS and periodically executing a real-time task; and a memory device configured to be communicable with the host device and having a NAND flash memory and a device-side OS,
From the OS on the memory device side, while sending the information of the estimated execution time and the number of garbage collection target blocks required for NAND background processing for garbage collection to the OS on the host device side,
The OS on the host device side does not affect real-time task execution, and sends the execution start time and execution time of the NAND background process to the memory device side OS,
The memory device-side OS is a NAND background processing control device that executes the NAND background processing for the executable time at the execution startable time in a gap time during which a real-time task does not access the memory device.
リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
前記ホストデバイス側リアルタイムOSは、前記メモリデバイス側におけるガベージコレクションを行うNANDバックグラウンド処理タスクとメイン処理タスクとのタスク切替依頼の信号を前記メモリデバイス側から受信するタスク切替依頼受信部と、前記NANDバックグラウンド処理の実行開始可能時刻および前記NANDバックグラウンド処理を実行してもリアルタイムタスクに支障のない時間である実行可能時間の情報を保持する第1のデータ保持部を有し、
前記メモリデバイス側OSは、前記メモリデバイス側におけるブロックの状況を管理するとともに、前記NANDバックグラウンド処理に要する予測実行時間を算出可能なブロック管理部と、前記NANDバックグラウンド処理タスクと前記メイン処理タスクとのタスク切替依頼の信号を前記ホストデバイス側に送信するタスク切替依頼送信部と、前記NANDバックグラウンド処理におけるガベージコレクション対象ブロック数および前記NANDバックグラウンド処理に要する予測実行時間の情報を保持する第2のデータ保持部を、
備え、
前記メモリデバイス側のOSから、前記予測実行時間および前記ガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけ前記NANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。
A host device having a real-time OS and periodically executing a real-time task; and a memory device configured to be communicable with the host device and having a NAND flash memory and a device-side OS,
The host device side real-time OS includes a task switching request receiving unit that receives a task switching request signal between a NAND background processing task and a main processing task that performs garbage collection on the memory device side, and the NAND A first data holding unit that holds information on an execution start time of a background process and an executable time that is a time that does not interfere with a real-time task even if the NAND background process is executed;
The OS on the memory device side manages the block status on the memory device side, and can calculate a predicted execution time required for the NAND background processing, the NAND background processing task, and the main processing task A task switching request transmission unit that transmits a task switching request signal to the host device side, and stores information on the number of blocks subject to garbage collection in the NAND background processing and the estimated execution time required for the NAND background processing. 2 data holding unit,
Prepared,
From the OS on the memory device side, the information on the predicted execution time and the number of blocks to be garbage collected is sent to the OS on the host device side, while the OS on the host device side does not affect real-time task execution. Send the execution startable time and executable time to the memory device side OS,
The memory device-side OS is a NAND background processing control device that executes the NAND background processing for the executable time at the execution startable time in a gap time during which a real-time task does not access the memory device.
前記ブロック管理部は、前記予測実行時間を算出するための算出ルールを設定可能となっている請求項2に記載のNANDバックグラウンド処理制御装置。   The NAND background processing control device according to claim 2, wherein the block management unit can set a calculation rule for calculating the predicted execution time. 前記メモリデバイス側から前記ホストデバイス側へのタスク切替依頼の送信は、現状の前記ガベージコレクション対象ブロック数を所定の値との比較結果に応じることを契機とする請求項2または請求項3に記載のNANDバックグラウンド処理制御装置。   The transmission of the task switching request from the memory device side to the host device side is triggered by the current number of the garbage collection target blocks depending on a comparison result with a predetermined value. NAND background processing controller. 前記メモリデバイス側から前記ホストデバイス側へのタスク切替依頼の送信は、前記ホストデバイス側OSから前記メモリデバイス側OSに対してタスク切替許可通知が送られたことを契機とする請求項2または請求項3に記載のNANDバックグラウンド処理制御装置。 The transmission from the memory device side of the task switching request to the host device side, claim 2 or claim that triggered said memory device side OS to the task switching permission notification from the host device side OS is sent Item 4. The NAND background processing control device according to Item 3 . 前記タスク切替依頼の送信に際しては、現状の前記ガベージコレクション対象ブロック数を基に算出したガベージコレクションに要する予測実行時間を引数とする請求項2乃至請求項5のいずれか1項に記載のNANDバックグラウンド処理制御装置。   6. The NAND back according to claim 2, wherein when the task switching request is transmitted, an estimated execution time required for garbage collection calculated based on the current number of blocks to be garbage collected is used as an argument. Ground processing control device. 前記ホストデバイス側では、前記予測実行時間が前記実行可能時間よりも小さければ、実際に前記NANDバックグラウンド処理を実行してよい時間tに前記予測実行時間を設定し、
前記予測実行時間が前記実行可能時間よりも小さくなければ、実際に前記NAND バックグラウンド処理を実行してよい時間tに前記実行可能時間を設定する請求項1乃至請求項6のいずれか1項に記載のNANDバックグラウンド処理制御装置。
On the host device side, if the predicted execution time is smaller than the executable time, the predicted execution time is set to a time t at which the NAND background process may actually be executed,
7. The executable time according to claim 1, wherein the executable time is set to a time t at which the NAND background processing may actually be executed if the predicted execution time is not smaller than the executable time. The NAND background processing control device described.
前記時間tは、現在の時刻から、次にリアルタイムタスクを起動するまでの空き時間を考慮して決定する請求項7に記載のNANDバックグラウンド処理制御装置。   8. The NAND background processing control apparatus according to claim 7, wherein the time t is determined in consideration of a free time from the current time until the next real-time task is activated. リアルタイムOSを有し、周期的にリアルタイムタスクを実行するホストデバイスと、このホストデバイスと通信可能に構成され、NAND型フラッシュメモリとデバイス側OSを有するメモリデバイスとを備え、
前記メモリデバイス側OSは、 ガベージコレクションを行うNANDバックグラウンド処理の緊急度を示す閾値レベル1と、より緊急度の高い閾値レベル2の2段階の閾値を設定し、
ガベージコレクション対象ブロック数が閾値レベル1以上閾値レベル2以下の場合には、
前記メモリデバイス側のOSから、前記NANDバックグラウンド処理に要する予測実行時間およびガベージコレクション対象ブロック数の情報を前記ホストデバイス側のOSに送る一方、前記ホストデバイス側のOSはリアルタイムタスク実行に影響を及ぼさないための、実行開始可能時刻と実行可能時間を前記メモリデバイス側OSに送信し、
前記メモリデバイス側OSは、リアルタイムタスクが前記メモリデバイス側にアクセスしない隙間時間において、前記実行開始可能時刻に、前記実行可能時間分だけNANDバックグラウンド処理を実行するNANDバックグラウンド処理制御装置。
A host device having a real-time OS and periodically executing a real-time task; and a memory device configured to be communicable with the host device and having a NAND flash memory and a device-side OS,
The OS memory device side, the threshold level 1 indicating the urgency of the NAND background processing for garbage collection, and set more two-stage threshold high threshold level 2 urgency,
When the number of garbage collection target blocks is threshold level 1 or more and threshold level 2 or less,
The OS on the memory device side sends the information on the estimated execution time and the number of blocks subject to garbage collection required for the NAND background processing to the OS on the host device side, while the OS on the host device side affects the real-time task execution. Send the execution start time and execution time to the memory device side OS so as not to reach,
The OS on the memory device side is a NAND background processing control device that executes NAND background processing for the executable time at the execution startable time in a gap time during which a real-time task does not access the memory device.
前記リアルタイムタスクの周期が所定値よりも小さい場合には前記閾値レベル1に設定するガベージコレクション対象ブロック数を小さく設定して1度のタスク切替依頼で処理するブロック数を少なくし、
記リアルタイムタスクの周期が所定値よりも大きい場合には前記閾値レベル1に設定するガベージコレクション対象ブロック数を大きめに設定して1度のタスク切替依頼で処理するブロック数を多くする請求項9に記載のNANDバックグラウンド処理制御装置。
The period of the real-time task to reduce the number of blocks to be processed by the task switching request once set smaller the number of garbage collection object block to be set to the threshold level 1 is smaller than a predetermined value,
Billing cycle before cut real-time task to increase the number of blocks to be processed by the task switching request of one degree and large set the number of garbage collection object block to be set to the threshold level 1 is larger than a predetermined value Item 10. The NAND background processing control device according to Item 9.
ガベージコレクション対象ブロック数が前記閾値レベル2を超えた場合には、直ちにリアルタイムモードを一時停止して当該モードから逸脱し、前記メモリデバイス側OSに対して、前記NANDバックグラウンド処理の実行を許可し、
前記NANDバックグラウンド処理完了後、前記ホストデバイス側OSは、再びリアルタイムタスクモードに復帰し、周期的にリアルタイムタスクを起動・実行する請求項9に記載のNANDバックグラウンド処理制御装置。
If the number of blocks subject to garbage collection exceeds the threshold level 2, the real-time mode is immediately suspended to deviate from the mode, and the memory device OS is allowed to execute the NAND background processing. ,
10. The NAND background processing control apparatus according to claim 9, wherein after completion of the NAND background processing, the host device-side OS returns to the real-time task mode again and periodically starts and executes the real-time task.
ガベージコレクション対象ブロック数が前記閾値レベル2も超えた場合、前記メモリデバイス側における前記予測実行時間の算出は、
(1)すべてのガベージコレクション対象ブロックに対してガベージコレクションを行うこととし、ガベージコレクション対象ブロック数を基に算出する、
(2)前記ホストデバイス側OSから、リアルタイムタスクモードを逸脱してもよい時間tを引数として受け取り、時間t内に処理できる範囲内のガベージコレクション対象ブロック数を基に算出する、
のいずれかによる請求項9乃至請求項11のいずれか1項に記載のNANDバックグラウンド処理制御装置。
When the number of garbage collection target blocks exceeds the threshold level 2, the calculation of the predicted execution time on the memory device side is as follows:
(1) Carry out garbage collection on all garbage collection target blocks, and calculate based on the number of garbage collection target blocks.
(2) A time t 1 that may deviate from the real-time task mode is received as an argument from the OS on the host device side, and is calculated based on the number of garbage collection target blocks within a range that can be processed within the time t 1 .
The NAND background processing control device according to any one of claims 9 to 11, according to any one of the above.
前記ホストデバイス側OSから提示された実行可能時間の長さに応じて、前記メモリデバイス側OSでは、ガベージコレクションを分割して実行する請求項9乃至請求項12のいずれか1項に記載のNANDバックグラウンド処理制御装置。 The NAND according to any one of claims 9 to 12 , wherein the memory device-side OS executes garbage collection in a divided manner according to the length of the executable time presented from the host device-side OS. Background processing controller. 前記閾値レベル1に設定したガベージコレクション対象ブロック数毎に、分割してNANDバックグラウンド処理する請求項13に記載のNANDバックグラウンド処理制御装置。 The NAND background processing control device according to claim 13 , wherein the NAND background processing is divided and executed for each number of garbage collection target blocks set to the threshold level 1. システム起動時に、前記ホストデバイス側リアルタイムOSは、前記メモリデバイス側OSに対して、リアルタイムタスクの起動周期、リアルタイムタスク起動後から前記NANDバックグラウンド処理を終了させる必要のある時間を表すデッドライン、リアルタイムタスク起動から前記メモリデバイスへのアクセス発生までの平均時間の情報を送信し、
前記メモリデバイス側OSは、これらの情報を基に、前記ガベージコレクション対象ブロック数の2レベルの閾値を算出する請求項9乃至請求項14のいずれか1項に記載のNANDバックグラウンド処理制御装置。
At the time of system startup, the host device side real-time OS provides the memory device side OS with a real-time task start cycle, a deadline indicating the time required to finish the NAND background processing after the real-time task start, real-time Send information on the average time from task activation to the occurrence of access to the memory device,
The memory device side OS, based on these information, NAND background processing control apparatus according to any one of claims 9 to 14 to calculate a two-level threshold of the garbage collection object blocks.
JP2014167517A 2014-08-20 2014-08-20 NAND background processing controller Active JP6193189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014167517A JP6193189B2 (en) 2014-08-20 2014-08-20 NAND background processing controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014167517A JP6193189B2 (en) 2014-08-20 2014-08-20 NAND background processing controller

Publications (2)

Publication Number Publication Date
JP2016045563A JP2016045563A (en) 2016-04-04
JP6193189B2 true JP6193189B2 (en) 2017-09-06

Family

ID=55636113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014167517A Active JP6193189B2 (en) 2014-08-20 2014-08-20 NAND background processing controller

Country Status (1)

Country Link
JP (1) JP6193189B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786804A1 (en) 2019-08-30 2021-03-03 Canon Kabushiki Kaisha Recording apparatus, image capturing apparatus, control method, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149526A (en) * 2019-03-15 2020-09-17 株式会社東芝 Processing apparatus, processing method and program
JP7339815B2 (en) 2019-08-30 2023-09-06 キヤノン株式会社 Recording device, imaging device, control method, and program
JP7418105B2 (en) 2019-08-30 2024-01-19 キヤノン株式会社 Recording device, control method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297443A (en) * 2001-04-02 2002-10-11 Sharp Corp Dynamic memory management device, dynamic memory management method, computer program, recording medium with the program recorded thereon and portable terminal having these
WO2010013445A1 (en) * 2008-07-30 2010-02-04 パナソニック株式会社 Nonvolatile storage device, host device, nonvolatile storage system, data recording method, and program
JP5687096B2 (en) * 2011-03-04 2015-03-18 三菱電機株式会社 Memory maintenance device, memory maintenance method, and data transfer device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3786804A1 (en) 2019-08-30 2021-03-03 Canon Kabushiki Kaisha Recording apparatus, image capturing apparatus, control method, and storage medium
US11334142B2 (en) 2019-08-30 2022-05-17 Canon Kabushiki Kaisha Recording apparatus, image capturing apparatus, control method, and storage medium

Also Published As

Publication number Publication date
JP2016045563A (en) 2016-04-04

Similar Documents

Publication Publication Date Title
US11726931B2 (en) Artificial intelligence-enabled management of storage media access
TWI704496B (en) Electronic equipment, computer systems and their control methods
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 (en) Storage device and computer system
US20130138912A1 (en) Scheduling requests in a solid state memory device
US11397675B2 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
KR20160049200A (en) Method for operating data storage device, mobile computing device having the same, and method of the mobile computing device
TWI735918B (en) Method for performing access management of memory device, associated memory device and controller thereof, associated host device and associated electronic device
KR20070089460A (en) Apparatus and method for operating non-volatile memory according to priority
JP6193189B2 (en) NAND background processing controller
US10089266B2 (en) Power saving feature for storage subsystems
CN108073358B (en) User equipment including storage device and trimming management method of storage device
CN111857814A (en) Memory controller for executing microinstructions
KR20100042885A (en) Methods for operating nonvolatile memory devices
US11790997B2 (en) Memory system
CN108572932B (en) Multi-plane NVM command fusion method and device
CN108628759B (en) Method and apparatus for out-of-order execution of NVM commands
KR20200129700A (en) Controller and memory system having the same
US10922013B2 (en) Suspending and resuming a read operation for a non-volatile memory
KR101549569B1 (en) Method for performing garbage collection and flash memory apparatus using the method
WO2015170702A1 (en) Storage device, information processing system, storage control method and program
JP2019160155A (en) Information processing device, information processing method, and program
CN108345428B (en) Control intensive control system and method thereof
KR102254101B1 (en) Data processing system and operating method of the same

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 Written amendment

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