JP2016206938A - Information processing system, memory control method for information processing system, and program - Google Patents
Information processing system, memory control method for information processing system, and program Download PDFInfo
- Publication number
- JP2016206938A JP2016206938A JP2015087759A JP2015087759A JP2016206938A JP 2016206938 A JP2016206938 A JP 2016206938A JP 2015087759 A JP2015087759 A JP 2015087759A JP 2015087759 A JP2015087759 A JP 2015087759A JP 2016206938 A JP2016206938 A JP 2016206938A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing system
- erasing
- area
- command
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
Description
本発明は、情報処理システム、情報処理システムのメモリ制御方法、及びプログラムに関するものである。 The present invention relates to an information processing system, a memory control method for the information processing system, and a program.
従来、情報処理装置に備える記憶デバイスとして、SSD(ソリッドステートドライブ)が利用されるものがある。ここで、SSDはデータが書き込まれているブロックに対してデータを上書きすることができない。そのため書換えたいブロックを一旦、バッファに読み出しバッファ上のデータを書き換え、該当ブロックを消去してからバッファの内容をブロックに書き戻すと言った手順が必要であった。そのため、空きブロックが少なくなると書き込み速度が著しく低下することが問題となっていた。 2. Description of the Related Art Conventionally, as a storage device provided in an information processing apparatus, there is an apparatus using an SSD (solid state drive). Here, the SSD cannot overwrite data on a block in which data is written. For this reason, it is necessary to read the block to be rewritten into the buffer, rewrite the data in the buffer, erase the corresponding block, and then write back the contents of the buffer to the block. Therefore, there has been a problem that the writing speed is remarkably reduced when the number of empty blocks is reduced.
そこで、この書き込み速度の低下を改善するため、不要になったデータのあるブロックをOS(Operating System)がSSDに通知し、そのブロック内の不要領域を解放して空きブロックにするTrimコマンドが考案された。 Therefore, in order to improve the decrease in the writing speed, a Trim command has been devised, in which an OS (Operating System) notifies the SSD of an unnecessary data block to the SSD, and an unnecessary area in the block is released to make an empty block. It was done.
また、データの書き込み可能な領域が無くなった場合には、データを書き込む場所を確保するために一度データ領域の全内容を消去するガベージコレクションを実行するのもがある(例えば、特許文献1参照)。 In addition, when there is no longer a data writable area, there is a case where garbage collection is performed to erase the entire contents of the data area once in order to secure a place to write data (see, for example, Patent Document 1). .
しかしながら、先行技術においてはTrimコマンドが実行されると不要データが存在する全てのブロックに対してガベージコレクションを実行するため、不要データが多数存在する場合には処理時間を要してしまう。
このため、SSD全体の処理能力が低下してしまう。また、データ領域の全内容を消去するガベージコレクションを実行した場合には更に処理時間を要してしまい、著しくSSD全体の処理能力が低下してしまう。
However, in the prior art, when the Trim command is executed, garbage collection is executed for all blocks in which unnecessary data exists, and therefore processing time is required when a large amount of unnecessary data exists.
For this reason, the processing capacity of the entire SSD is reduced. Further, when garbage collection is executed to erase the entire contents of the data area, further processing time is required, and the processing capacity of the entire SSD is significantly reduced.
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、半導体メモリ上の指定された特定の領域に対して消去処理を短時間に行える仕組みを提供することである。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a mechanism capable of performing an erasing process in a short time on a specified specific area on a semiconductor memory. .
上記目的を達成する本発明の情報処理システムは以下に示す構成を備える。
ホストと半導体メモリとを含む情報処理システムであって、半導体メモリに対してコマンドを発行する発行手段と、発行されたコマンドが前記半導体メモリの指定されたメモリ領域を消去するためのコマンドであるかどうかを判断する第1の判断手段と、指定されたメモリ領域を消去するためのコマンドであると判断した場合、指定されたメモリ領域を消去する消去手段と、を備えることを特徴とする。
An information processing system of the present invention that achieves the above object has the following configuration.
An information processing system including a host and a semiconductor memory, wherein issuance means for issuing a command to the semiconductor memory, and whether the issued command is a command for erasing a specified memory area of the semiconductor memory First determining means for determining whether or not and a erasing means for erasing the specified memory area when it is determined that the command is for erasing the specified memory area.
本発明によれば、半導体メモリ上の指定された特定の領域に対して消去処理を短時間に行える。 According to the present invention, an erasing process can be performed in a short time for a specified specific area on a semiconductor memory.
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
Next, the best mode for carrying out the present invention will be described with reference to the drawings.
<Description of system configuration>
[First Embodiment]
図1は、本実施形態を示す情報処理システムの構成をブロック図である。本例は、半導体メモリとして使用されるSSD(ソリッド・ステート・ドライブ)及びホストを1つの情報処理システムとする例である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。 FIG. 1 is a block diagram showing the configuration of the information processing system according to the present embodiment. In this example, an SSD (solid state drive) used as a semiconductor memory and a host are used as one information processing system. It should be noted that the present invention can be applied to a single device or a system composed of a plurality of devices as long as the functions of the present invention are executed unless otherwise specified.
図1において、101はホストであって、SSD102に対してデータの書き込みや読み出しを行うと共に、コマンドの送信やSSD102のステータスを受信してSSD102の制御を行う。このため、ホスト101には、図示しないCPU、メモリ、データバス、制御バスを含むシステムバス等を備えている。
102はSSDであって、ホスト101から受信したデータを内部のNANDフラッシュメモリ105に書き込む。また、内部のNANDフラッシュメモリ105からデータを読み出してホスト101へ送信する。それと、ホスト101から受信したコマンドに基づき自身の設定を行うと共に、自身のステータスをホスト101に送信する。
In FIG. 1,
An SSD 102 writes data received from the
103はSATA I/F部であって、ホスト101とコントローラ104との通信を行う。104はコントローラ部であって、SSD全体の制御を司る。105はNANDフラッシュメモリであって、コントローラ104の指示に従ってデータの記憶及び読み出しを行う。106はワークメモリであって、コントローラ104で実行するプログラムや制御に必要な各種参照データの記憶及び一時的なデータバッファとして機能する。
A SATA I /
図2は、図1に示したホスト101が発行するTrimコマンド・フォーマットの一例を示す図である。ここで、Trimコマンドとは、あらかじめ物理消去してもよい論理アドレスをSSD102に通知するためのコマンドである。
図2において、201はTrimコマンド・フォーマットのTrimフィールドであって、"1"がセットされるとTrimが有効に、"0"がセットされるとTrimが無効になる。
202はTrimコマンド・フォーマットで開始位置を特定する論理アドレスフィールドであって、Trimフィールド201が"1"の場合、ここに記述された論理アドレスからTrimコマンドを実行する。
203はTrimコマンド・フォーマットのサイズフィールドであって、Trimフィールド201が"1"の場合、開始論理アドレスフィールド202に記述された論理アドレスから、ここに記述されたサイズまでの領域に対してTrimコマンドを実行する。TrimコマンドはATA(AT Attachment)インタフェース規格で定められており、ホスト101からSSD102に対して送信される。SSD102はSATA I/F103を介して受信し、コントローラ104によって解釈、実行される。
FIG. 2 is a diagram showing an example of a Trim command format issued by the
In FIG. 2,
以下、表1に上記開始位置を特定する論理アドレスと物理アドレスの変換の一例を示す。テーブル形式で示す表1において、論理アドレスはホスト101からSSD102の記憶領域を見た場合のアドレスである。物理アドレスはSSD102内のNANDフラッシュメモリ105の記憶領域(メモリ領域)であるブロックのアドレスであり、論理アドレス202とは一対一に紐付けられている。この情報はワークメモリ106に記憶されており、コントローラ104によって管理される。ガベージコレクションなどでデータの書き込まれている物理アドレスが変わった場合でも逐次更新され、論理アドレスとの紐付けは維持される。
Table 1 below shows an example of conversion between a logical address and a physical address that specify the start position. In Table 1 shown in the table format, the logical address is an address when the storage area of the
図3は、図1に示したSSD102のメモリマップを示す図である。
図3において、301はホスト101から見たSSD102の領域である。302はスプール領域であって、SSD102の一部の領域に、ホスト101もしくはユーザによる指示によって設けられる。この領域は一時的なデータを記憶するもので、例えば、複合機のジョブデータを一時記録するために使用される。
FIG. 3 is a diagram showing a memory map of the
In FIG. 3,
図4は、図1に示したホスト101に表示されるUI画面の一例を示す図である。
図4において、401はホスト101でTrimコマンドを発行するUI(User Interface)の一例であって、PC(Personal Computer)のモニタや複合機の操作パネルなどに表示され、ユーザから消去指示の操作を受付ける。402はTrimコマンド実行ボタンであって、ユーザによるTrimコマンド実行の指示を受け付ける。
FIG. 4 is a diagram showing an example of a UI screen displayed on the
In FIG. 4, 401 is an example of a UI (User Interface) that issues a Trim command in the
図5は、本実施形態を示す情報処理システムのメモリ制御方法を説明するフローチャートである。本例は、図1に示したホスト101のTrimコマンド実行の処理手順に対応する。各ステップは、ホスト101の制御部が記憶される制御プログラムを実行することで実現される。なお、ホスト101には、所定のOSがインストールされ、OSの管理下で各種のシステム(ファイルシステムを含む)がデータ処理を実行する。
FIG. 5 is a flowchart for explaining a memory control method of the information processing system according to the present embodiment. This example corresponds to the Trim command execution processing procedure of the
ホスト101は、図4に示したUI画面において、ユーザが実行ボタン402を押下したことを検知すると(S501)、図示しないOSに管理されるファイルシステムで、SSD102のスプール領域302を消去する(S502)。なお、ファイルシステムによる消去は、該当ブロックのデータを不要データに置き換えるだけでブロック上に存在し続けている。
続いて、ホスト101は、OSからスプール領域302の論理アドレス及びサイズを取得し(S504)、ATAコマンドのTrimフィールド201に"1"を設定する。更に、開始論理アドレスフィールド202にS504で取得した論理アドレスを、サイズフィールド203にS504で取得したサイズを設定し(S505)、TrimコマンドをSSD102に対して送信して(S506)、本処理を終了する。
When the
Subsequently, the
図6は、本実施形態を示す情報処理システムのメモリ制御方法を説明するフローチャートである。本実施形態におけるSSD102がホスト101から受信するTrimコマンドの実行処理手順に対応する。各ステップは、コントローラ104が記憶される制御プログラムを実行することで実現される。
SSD102のコントローラ104は、ホスト101からATAコマンドを受信すると(S601)、受信したコマンドがTrimコマンドか否かを判別する(S602)。ここで、Trimコマンドでないとコントローラ104が判断した場合、コントローラ104は、該当するコマンドを実行して(S603)、本処理を終了する。
FIG. 6 is a flowchart for explaining a memory control method of the information processing system according to the present embodiment. This corresponds to the Trim command execution processing procedure received by the
When the
一方、Trimコマンドであるとコントローラ104が判断した場合、コントローラ104は、SSD102は領域指定のオプションがあるか否かを判別する(S604)。ここで、領域指定のオプションがあるとコントローラ104が判断した場合、コントローラ104は、開始論理アドレスフィールド202が示す論理アドレスに紐付けられた物理アドレスを表1から取得する(S605)。続いて、コントローラ104は、データの書き込まれていない空きブロックを探し(S607)、コントローラ104は、処理に適したタイミングを待つ(S608)。
On the other hand, when the
ここで、処理に適したタイミングとは、例えば、ホスト101からのアクセスが少ない時や予め定めた時間を経過した時などである。
このように処理に適したタイミングが来ると、SSD102のコントローラ104は、指定領域内の1つのブロック内に書き込まれている有効データを空きブロックにコピーし(S609)、コントローラ104は、続いてコピー元の古いブロックを消去して空きブロックを作る(S610)。
Here, the timing suitable for processing is, for example, when there are few accesses from the
When the timing suitable for processing comes in this way, the
一方、S604で指定領域オプションが無いとコントローラ104が判断した場合、コントローラ104は、通常のTrimコマンド処理としてSSD102はデータの書き込まれていない空きブロックを探す(S612)。そして、コントローラ104は、処理に適したタイミングを待つ(S613)。ここで、処理に適したタイミングが来ると、コントローラ104は、全領域内の1つのブロック内に書き込まれている有効データを空きブロックにコピーし(S614)、続いて、コントローラ104は、コピー元の古いブロックを消去して空きブロックを作り(S615)、S611へ戻る。
On the other hand, when the
図7は、図2に示したSSD102のブロック情報を示す図である。
図7の(A)において、701はブロックであって、SSD102の消去単位である。702はSSD102に書き込まれている有効データである。703は空きブロックであり、新たなデータを書込み可能な状態を示している。704は不要データであって、ファイルシステムによって消去されたデータである。705はスプール領域302に該当するSSD102の領域であって、不要データとなっている。ここでは連続したブロックで表わしているが、論理アドレスと物理アドレスの紐付けによっては不連続なブロックの集まりになることもある。
FIG. 7 is a diagram showing block information of the
In FIG. 7A,
図7の(B)において、701から704は図7の(A)と同様である。706はスプール領域302に該当するSSD102の領域であって、図7の(A)の705の領域を本発明の方法で領域指定Trimコマンドを実行した後の状態を示している。領域指定した部分が空きブロック706に置き換わっている。以上説明した様に、領域指定した部分に対してブロック単位でガベージコレクションを行うので高速である。
本実施形態によれば、ブロック単位で指定した一部の領域に対してのみ不要データを消去することが可能となるので、全ての領域に対してTrimコマンドや消去を実行するよりも高速に空き領域を確保する処理を終了できる。
In FIG. 7B,
According to the present embodiment, unnecessary data can be erased only for a part of areas designated in units of blocks, so that there is an empty space faster than executing a Trim command or erasing for all areas. The process of securing the area can be finished.
〔第2実施形態〕
図8は、本実施形態を示す情報処理システムのメモリ制御方法を説明するフローチャートである。本例は、図1に示したホスト101のTrimコマンド実行の処理手順に対応する。各ステップは、ホスト101の制御部が記憶される制御プログラムを実行することで実現される。なお、ホスト101には、所定のOSがインストールされ、OSの管理下で各種のシステム(ファイルシステムを含む)がデータ処理を実行する。なお、S502からS506は図5と同様である。
[Second Embodiment]
FIG. 8 is a flowchart for explaining a memory control method of the information processing system according to the present embodiment. This example corresponds to the Trim command execution processing procedure of the
ホスト101はスプール領域302に一時的に記憶したジョブデータを用いた処理が終了したことを検知すると(S511)、第1実施形態と同様にファイルシステムでSSD102のスプール領域302を消去する(S502)。
When the
続いて、ホスト101はOSからスプール領域302の論理アドレス及びサイズを取得し(S504)、ホスト101は、ATAコマンドのTrimフィールド201に"1"を設定する。更に、ホスト101は、開始論理アドレスフィールド202にS504で取得した論理アドレスを、サイズフィールド203にS504で取得したサイズを設定し(S505)、ホスト101は、TrimコマンドをSSD102に対して送信する(S506)。
これにより、ホスト101はユーザからの指示を待つことなく速やかに領域指定のTrimコマンドをSSD102に送信することが可能となる。
これにより、ホスト101から発行されるTrimコマンドの実行タイミングを所定のジョブの実行が終了した時点で開始させることができる。したがって、ジョブ処理中におけるSSD102のコントローラ104のデータ処理負担を軽減することができる。
Subsequently, the
As a result, the
Thereby, the execution timing of the Trim command issued from the
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
101 ホスト
102 SSD
103 SATA I/F
104 コントローラ
105 NANDフラッシュメモリ
106 ワークメモリ
101
103 SATA I / F
104
Claims (10)
半導体メモリに対してコマンドを発行する発行手段と、
発行されたコマンドが前記半導体メモリの指定されたメモリ領域を消去するためのコマンドであるかどうかを判断する第1の判断手段と、
指定されたメモリ領域を消去するためのコマンドであると判断した場合、指定されたメモリ領域を消去する消去手段と、
を備えることを特徴とする情報処理システム。 An information processing system including a host and a semiconductor memory,
Issuing means for issuing commands to the semiconductor memory;
First determination means for determining whether the issued command is a command for erasing a specified memory area of the semiconductor memory;
If it is determined that the command is for erasing the specified memory area, erasing means for erasing the specified memory area;
An information processing system comprising:
指定されたメモリ領域が空き領域であると判断した場合、前記消去手段は、指定されたメモリ領域を消去することを特徴とする請求項1記載の情報処理システム。 A second judging means for judging whether or not the designated memory area is a free area;
2. The information processing system according to claim 1, wherein when it is determined that the designated memory area is an empty area, the erasing unit erases the designated memory area.
前記消去手段は、前記テーブルを参照して、前記半導体メモリで消去すべき物理アドレスを特定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理システム。 A table that associates the logical address with the physical address of the semiconductor memory;
6. The information processing system according to claim 1, wherein the erasing unit specifies a physical address to be erased in the semiconductor memory with reference to the table.
半導体メモリに対してコマンドを発行する発行工程と、
発行されたコマンドが前記半導体メモリの指定されたメモリ領域を消去するためのコマンドであるかどうかを判断する判断工程と、
指定されたメモリ領域を消去するためのコマンドであると判断した場合、指定されたメモリ領域を消去する消去工程と、
を備えることを特徴とする情報処理システムのメモリ制御方法。 A memory control method for an information processing system including a host and a semiconductor memory,
An issuing process for issuing commands to the semiconductor memory;
A determination step of determining whether the issued command is a command for erasing a specified memory area of the semiconductor memory;
If it is determined that the command is for erasing the specified memory area, an erasing process for erasing the specified memory area;
A memory control method for an information processing system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015087759A JP2016206938A (en) | 2015-04-22 | 2015-04-22 | Information processing system, memory control method for information processing system, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015087759A JP2016206938A (en) | 2015-04-22 | 2015-04-22 | Information processing system, memory control method for information processing system, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016206938A true JP2016206938A (en) | 2016-12-08 |
Family
ID=57487837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015087759A Pending JP2016206938A (en) | 2015-04-22 | 2015-04-22 | Information processing system, memory control method for information processing system, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016206938A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568998A (en) * | 2019-09-16 | 2019-12-13 | 深圳忆联信息系统有限公司 | trim command implementation method and device based on solid state disk and computer equipment |
JP2021501941A (en) * | 2017-11-07 | 2021-01-21 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Memory block reclaim method and memory block reclaim device |
JP2021089518A (en) * | 2019-12-03 | 2021-06-10 | キヤノン株式会社 | Information processing apparatus, processing method for information processing apparatus, and program |
CN114296642A (en) * | 2021-12-15 | 2022-04-08 | 合肥大唐存储科技有限公司 | Method for processing TRIM instruction in solid state disk and solid state disk |
-
2015
- 2015-04-22 JP JP2015087759A patent/JP2016206938A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021501941A (en) * | 2017-11-07 | 2021-01-21 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Memory block reclaim method and memory block reclaim device |
JP7279889B2 (en) | 2017-11-07 | 2023-05-23 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | MEMORY BLOCK RECLAIM METHOD AND MEMORY BLOCK RECLAIM DEVICE |
US11886333B2 (en) | 2017-11-07 | 2024-01-30 | Huawei Technologies Co., Ltd. | Memory block reclamation method and apparatus |
CN110568998A (en) * | 2019-09-16 | 2019-12-13 | 深圳忆联信息系统有限公司 | trim command implementation method and device based on solid state disk and computer equipment |
JP2021089518A (en) * | 2019-12-03 | 2021-06-10 | キヤノン株式会社 | Information processing apparatus, processing method for information processing apparatus, and program |
JP7467088B2 (en) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | Information processing device, processing method and program for information processing device |
CN114296642A (en) * | 2021-12-15 | 2022-04-08 | 合肥大唐存储科技有限公司 | Method for processing TRIM instruction in solid state disk and solid state disk |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9223695B2 (en) | Information processing apparatus | |
JP6403164B2 (en) | Memory system | |
JP4886866B2 (en) | Method for speeding up access to main storage device and storage device system | |
JP5538970B2 (en) | Information processing apparatus, data processing method, and program | |
JP6875808B2 (en) | Information processing device | |
JP5917163B2 (en) | Information processing apparatus, control method and program thereof, and storage medium | |
KR20120084906A (en) | Non-volatile memory system and management method therefor | |
KR20110088566A (en) | Memory device and controlling method of the same | |
JP5773773B2 (en) | Image forming apparatus, start control method of image forming apparatus, program, and storage medium | |
JP2016206938A (en) | Information processing system, memory control method for information processing system, and program | |
JP2015219602A (en) | Information processing device, method, and program | |
JP2015141603A (en) | Image processor and control method thereof, and program | |
JP2012086449A (en) | Image forming apparatus, job management method, and program | |
JP2011175632A (en) | Semiconductor storage device, and method for controlling the same | |
CN106326132B (en) | Storage system, storage management device, memory, hybrid storage device, and storage management method | |
JP2015095001A (en) | Information processing apparatus, control method of the same, and program | |
JP2014106918A (en) | Information processing apparatus, and control method and program thereof | |
JP2004326165A (en) | Device and method for controlling memory | |
JP2018063676A (en) | Information processing device, control method thereof, and program | |
JP6389616B2 (en) | Information processing apparatus and control method thereof | |
JP2011003060A (en) | Information processor, and control method and program of the same | |
JP7401215B2 (en) | Information processing device, its control method and program | |
JP2015204071A (en) | Information processing device, information processing method and program | |
JP6652605B2 (en) | Memory system control method | |
JP2020109591A (en) | Information processing apparatus, control method therefor, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |