JP6805501B2 - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
JP6805501B2
JP6805501B2 JP2016027040A JP2016027040A JP6805501B2 JP 6805501 B2 JP6805501 B2 JP 6805501B2 JP 2016027040 A JP2016027040 A JP 2016027040A JP 2016027040 A JP2016027040 A JP 2016027040A JP 6805501 B2 JP6805501 B2 JP 6805501B2
Authority
JP
Japan
Prior art keywords
data
block data
writes
stored
storage
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
JP2016027040A
Other languages
Japanese (ja)
Other versions
JP2017146722A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2016027040A priority Critical patent/JP6805501B2/en
Publication of JP2017146722A publication Critical patent/JP2017146722A/en
Application granted granted Critical
Publication of JP6805501B2 publication Critical patent/JP6805501B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストレージ装置にかかり、特に、書き込み回数に応じて使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置に関する。 The present invention relates to a storage device, and more particularly to a storage device that writes data to a storage medium whose service life is shortened according to the number of writes.

近年、フラッシュメモリは、大容量化や記録再生速度の高速化、さらには低価格化が進んでおり、広く普及してきている。また、エンタープライズ向けストレージ装置においても、フラッシュメモリのみを用いた製品が販売されるようになっている。 In recent years, flash memory has become widespread due to its large capacity, high recording / playback speed, and low price. Also, in enterprise storage devices, products using only flash memory are being sold.

一方で、フラッシュメモリの課題として、書き込み可能回数が限られることがあげられる。このため、特定のメモリセルに書き込みが集中しないようにし、フラッシュメモリの使用寿命を延ばすための技術であるウェアレベリング(摩耗平滑化)が必要になる(例えば、特許文献1の段落0039)。特に、高信頼性が求められるエンタープライズ向け製品でフラッシュメモリを使用する場合は、より高度なウェアレベリングが求められる。 On the other hand, the problem of flash memory is that the number of writable times is limited. Therefore, wear leveling (wear smoothing), which is a technique for preventing writing from being concentrated on a specific memory cell and extending the service life of the flash memory, is required (for example, paragraph 0039 of Patent Document 1). In particular, when flash memory is used in enterprise products that require high reliability, higher wear leveling is required.

ここで、ウェアレベリングの方法として、メモリセルの書き込み回数の統計情報を基に書き込み回数を均等化する方法がある。具体的には、I/O(Input/Output)統計情報を基に書き込み先のメモリセルを決定する方法や、I/O統計情報を基にメモリセル間の書き込み回数が平準化するようにデータの再配置を行う方法、がある。 Here, as a wear leveling method, there is a method of equalizing the number of writes based on the statistical information of the number of writes of the memory cell. Specifically, the method of determining the memory cell to write to based on the I / O (Input / Output) statistical information, and the data so that the number of writes between the memory cells is leveled based on the I / O statistical information. There is a way to relocate.

特開2014−225297号公報Japanese Unexamined Patent Publication No. 2014-225297

しかしながら、上述したI/O統計情報を用いたウェアレベリング方法では、フラッシュメモリの使用寿命を延ばすことが困難である、という問題が生じる。つまり、上述した方法では、I/Oの挙動が変わった場合には、メモリセルのデータが今後も書き換えられるかを予測することは困難であり、効率的なウェアレベリング処理が困難となる。その結果、フラッシュメモリの使用寿命が短くなってしまう。 However, the wear leveling method using the above-mentioned I / O statistical information has a problem that it is difficult to extend the service life of the flash memory. That is, with the above-mentioned method, when the behavior of the I / O changes, it is difficult to predict whether the data in the memory cell will be rewritten in the future, and efficient wear leveling processing becomes difficult. As a result, the service life of the flash memory is shortened.

そして、上述した問題は、フラッシュメモリだけでなく、データの書き換えによって使用寿命が短くなるあらゆる記憶媒体に対しても生じうる。 The above-mentioned problems can occur not only in flash memory but also in any storage medium whose service life is shortened by rewriting data.

このため、本発明の目的は、上述した課題である、記憶媒体の使用寿命が短くなることを解消することにある。 Therefore, an object of the present invention is to solve the above-mentioned problem that the service life of the storage medium is shortened.

本発明の一形態であるストレージ装置は、
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置であって、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得する共有数取得部と、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える書き換え部と、
を備えた、
という構成をとる。
The storage device according to one embodiment of the present invention
A storage device that writes data to a storage medium whose service life is shortened by rewriting.
A shared number acquisition unit that acquires the number of shares representing the number of shared data stored in the storage medium, and a shared number acquisition unit.
A rewriting unit that rewrites the data stored in the storage medium to another storage area having a different service life based on the number of shares.
With,
It takes the configuration.

また、本発明の一形態であるプログラムは、
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置に装備された制御部に、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得する共有数取得部と、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える書き換え部と、
を実現させる、
という構成をとる。
Moreover, the program which is one form of the present invention
In the control unit equipped in the storage device that writes data to the storage medium whose service life is shortened by rewriting,
A shared number acquisition unit that acquires the number of shares representing the number of shared data stored in the storage medium, and a shared number acquisition unit.
A rewriting unit that rewrites the data stored in the storage medium to another storage area having a different service life based on the number of shares.
To realize,
It takes the configuration.

また、本発明の一形態である書き換え方法は、
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置による書き換え方法であって、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得し、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える、
という構成をとる。
Further, the rewriting method, which is one form of the present invention, is
This is a rewriting method using a storage device that writes data to a storage medium whose service life is shortened by rewriting.
Acquires the number of shares that represents the number of data stored in the storage medium.
Based on the number of shares, the data stored in the storage medium is rewritten into another storage area having a different service life.
It takes the configuration.

本発明は、以上のように構成されることにより、記憶媒体の使用寿命が短くなることを抑制することができる。 The present invention can suppress the shortening of the service life of the storage medium by being configured as described above.

本発明の実施形態1におけるストレージ装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage device in Embodiment 1 of this invention. 図1に開示したストレージ装置に格納されたデータの構造の一例を示す図である。It is a figure which shows an example of the structure of the data stored in the storage device disclosed in FIG. 図2に開示したコンテンツアドレスのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the content address disclosed in FIG. ストレージ装置によるデータ書き換え処理の動作を示すフローチャートである。It is a flowchart which shows the operation of the data rewriting process by a storage device. ストレージ装置によるデータ書き換え処理の様子を示す図である。It is a figure which shows the state of the data rewriting process by a storage device. ストレージ装置によるデータ書き換え処理の他の様子を示す図である。It is a figure which shows the other state of the data rewriting process by a storage device. 本発明の実施形態2におけるストレージ装置によるデータ書き換え処理の様子を示す図である。It is a figure which shows the state of the data rewriting process by the storage apparatus in Embodiment 2 of this invention. 本発明の実施形態3におけるストレージ装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage device in Embodiment 3 of this invention.

<実施形態1>
本発明の第1の実施形態を、図1乃至図6を参照して説明する。図1乃至図3は、ストレージ装置の構成を説明するための図であり、図4乃至図6は、ストレージ装置によるデータ書き換え処理を説明するための図である。
<Embodiment 1>
The first embodiment of the present invention will be described with reference to FIGS. 1 to 6. 1 to 3 are diagrams for explaining the configuration of the storage device, and FIGS. 4 to 6 are diagrams for explaining the data rewriting process by the storage device.

[構成]
本発明におけるストレージ装置10は、記憶媒体に対してデータを読み書きする装置である。本実施形態では、図1に示すように、ストレージ装置10が記憶媒体であるフラッシュメモリ20に接続されている。このとき、ストレージ装置10とフラッシュメモリ20とは、例えば、SCSI(Small Computer System Interface)、SAS(Serial Attached SCSI)、SATA(Serial ATA)、FC(Fibre Channel)などのストレージインタフェースによって接続されている。なお、図1では、フラッシュメモリ20がストレージ装置10の外部に配置されているものとして記載しているが、フラッシュメモリ20はストレージ装置10の内部に搭載されていてもよい。
[Constitution]
The storage device 10 in the present invention is a device that reads and writes data to and from a storage medium. In this embodiment, as shown in FIG. 1, the storage device 10 is connected to the flash memory 20 which is a storage medium. At this time, the storage device 10 and the flash memory 20 are connected by storage interfaces such as SCSI (Small Computer System Interface), SAS (Serial Attached SCSI), SATA (Serial ATA), and FC (Fibre Channel). .. Although the flash memory 20 is described as being arranged outside the storage device 10 in FIG. 1, the flash memory 20 may be mounted inside the storage device 10.

ここで、フラッシュメモリ20は、データを記憶する記憶領域の単位となるメモリセルを複数備えており、メモリセルごとに書き込み可能回数が限られている。つまり、フラッシュメモリ20は、データの書き換えにより使用寿命が短くなる性質を有している。このため、特定のメモリセルに書き込みが集中しないようにするウェアレベリングが必要になる。本発明では、ウェアレベリング方法に特徴を有しており、かかる方法を以下に説明する。なお、図1では、フラッシュメモリ20が1つのように記載されているが、1つでも複数でもよい。 Here, the flash memory 20 includes a plurality of memory cells that are units of a storage area for storing data, and the number of writable times is limited for each memory cell. That is, the flash memory 20 has a property that the service life is shortened by rewriting the data. For this reason, wear leveling is required to prevent writing from being concentrated on a specific memory cell. The present invention is characterized by a wear leveling method, which will be described below. Although the flash memory 20 is described as one in FIG. 1, one or a plurality of flash memories 20 may be used.

上記ストレージ装置10は、図示しない演算部と記憶部とを備えている。そして、ストレージ装置10の演算部は、プログラムが当該演算部によって実行されることで実現された、データ書き込み部11、重複回数記録部12、重複回数取得部13、データ再配置開始部14、スケジューラ15、を備えている。 The storage device 10 includes a calculation unit and a storage unit (not shown). Then, the calculation unit of the storage device 10 is a data writing unit 11, a duplication number recording unit 12, a duplication number acquisition unit 13, a data rearrangement start unit 14, and a scheduler, which are realized by executing the program by the calculation unit. It is equipped with 15.

また、上記フラッシュメモリ20は、図示しない演算装置と記憶部とを備えている。そして、フラッシュメモリ20の演算部は、プログラムが当該演算部によって実行されることで実現された、データ書き込み部21、書き込み回数記録処理部22、書き込み回数取得部23、データ再配置部24、アドレス変換部25、を備えている。また、フラッシュメモリ20の記憶部は、アドレス変換記録部26、書き込み回数記録部27、データ記憶部28、を備えている。 Further, the flash memory 20 includes an arithmetic unit and a storage unit (not shown). The arithmetic unit of the flash memory 20 is a data writing unit 21, a writing count recording processing unit 22, a writing count acquisition unit 23, a data rearrangement unit 24, and an address, which are realized by executing the program by the arithmetic unit. The conversion unit 25 is provided. The storage unit of the flash memory 20 includes an address translation recording unit 26, a write count recording unit 27, and a data storage unit 28.

以下、ストレージ装置10とフラッシュメモリ20とが備える各構成について詳述する。 Hereinafter, each configuration included in the storage device 10 and the flash memory 20 will be described in detail.

ストレージ装置10のデータ書き込み部11は、ユーザからの要求に応じてデータの書き込みを行う。例えば、データ書き込み部11としては、CIFS/NFS(Common Internet File System / Network File System)などのプロトコルがあげられる。具体的に、ストレージ装置10のデータ書き込み部11は、フラッシュメモリ20のデータ書き込み部21と協働して、データの書き込みを行う。ここで、データ書き込み時の様子を、図2及び図3を参照して説明する。 The data writing unit 11 of the storage device 10 writes data in response to a request from the user. For example, as the data writing unit 11, a protocol such as CIFS / NFS (Common Internet File System / Network File System) can be mentioned. Specifically, the data writing unit 11 of the storage device 10 writes data in cooperation with the data writing unit 21 of the flash memory 20. Here, the state at the time of writing data will be described with reference to FIGS. 2 and 3.

データ書き込み部11,21は、まず、書き込み対象となるファイルを、所定容量のブロックデータに分割して、当該ブロックデータ(実データ)をフラッシュメモリ20のデータ記憶部28となるメモリセルに記憶する。このとき、データ書き込み部11,12は、ブロックデータを参照する、当該ブロックデータのデータ内容及び格納位置に基づくアドレスデータ(コンテンツアドレス:CA)を生成して、当該コンテンツアドレスと共にツリー構造にてフラッシュメモリ20に格納する。このため、データ書き込み部11,21は、異なるファイルのブロックデータであっても、データ内容が同一であれば、同じアドレスデータで参照すればよいため、1つのブロックデータを記憶装置に記憶しておけばよいこととなる。このように、データ書き込み部11,21は、同一内容のブロックデータの重複記憶を排除する機能(重複記憶排除機能)を有している。 The data writing units 11 and 21 first divide the file to be written into block data having a predetermined capacity, and store the block data (actual data) in the memory cell serving as the data storage unit 28 of the flash memory 20. .. At this time, the data writing units 11 and 12 generate address data (content address: CA) based on the data content and storage position of the block data, which refers to the block data, and flash the block data together with the content address in a tree structure. Store in memory 20. Therefore, even if the block data of different files are the same, the data writing units 11 and 21 may refer to the same address data as long as the data contents are the same, so that one block data is stored in the storage device. It will be good to do it. As described above, the data writing units 11 and 21 have a function of eliminating duplicate storage of block data having the same content (duplicate storage exclusion function).

一例として、図2の例では、例えば、ファイル1は3つのブロックデータ11,12,13で構成されているものとし、これらがメモリセルに格納される。そして、これらブロックデータ11,12,13の格納位置を参照するコンテンツアドレスCA11,12,13をたどることで、ファイル1を読み出すことができる。一方、ファイル2は、3つのブロックデータ21,22,23で構成されているものとし、これらがメモリセルに格納される。このうちブロックデータ21が、ファイル1を構成するブロックデータ13と同一内容である場合には、ブロックデータ21の実データを格納することなく、すでに格納されているブロックデータ13のコンテンツアドレスCA13を参照すればよいこととなる。これにより、すでに格納されているブロックデータ13が、ファイル2のブロックデータとして格納されたこととなる。 As an example, in the example of FIG. 2, for example, it is assumed that the file 1 is composed of three block data 11, 12, and 13, and these are stored in the memory cell. Then, the file 1 can be read by tracing the content addresses CA11,12,13 that refer to the storage positions of the block data 11,12,13. On the other hand, it is assumed that the file 2 is composed of three block data 21, 22, 23, and these are stored in the memory cell. When the block data 21 has the same contents as the block data 13 constituting the file 1, the content address CA13 of the block data 13 already stored is referred to without storing the actual data of the block data 21. You just have to do it. As a result, the already stored block data 13 is stored as the block data of the file 2.

そして、ストレージ装置10の重複回数記録部12は、上述したように格納されたブロックデータ毎に、当該ブロックデータがいくつのファイルから参照されて共有されているかを表す参照数(共有数)を記憶する。例えば、図3に示すように、各ブロッックデータを参照するコンテンツアドレスCA内に、当該ブロックデータを参照しているファイルを特定する情報、例えば、i-node番号を記録する。つまり、ブロックデータを参照するコンテンツアドレスCA内のi-node番号の数が、当該コンテンツアドレスCAが参照するブロックデータがいくつのファイルから参照されているか、つまり、いくつのファイルによって共有されているか、を表す参照数(共有数)となる。例えば、図2の例では、ブロックデータ13はファイル1とファイル2によって参照(共有)されているため、当該ブロックデータ13の参照数は「2」となる。 Then, the duplicate count recording unit 12 of the storage device 10 stores the number of references (number of shares) indicating how many files the block data is referenced and shared for each block data stored as described above. To do. For example, as shown in FIG. 3, information that identifies a file that refers to the block data, for example, an i-node number, is recorded in the content address CA that refers to each block data. That is, the number of i-node numbers in the content address CA that refers to the block data is how many files refer to the block data referenced by the content address CA, that is, how many files share it. It is the number of references (number of shares) that represents. For example, in the example of FIG. 2, since the block data 13 is referenced (shared) by the file 1 and the file 2, the number of references to the block data 13 is “2”.

また、フラッシュメモリ20のアドレス変換部25は、ブロックデータを書き込む場合、ブロックデータが書き込まれた位置と、実際にブロックデータが格納されたメモリセルと、の対応を表す情報を、アドレス変換記録部26に記録する。この変換により、後述するように、ブロックデータのメモリセル上の配置位置が変更されたとしても、ストレージ装置10からは、同じ書き込み位置を指定してブロックデータにアクセスすることができる。このように、アドレス変換部25は、ストレージ装置10から見えるデータの配置位置と、メモリセル上のデータ配置位置と、の対応を更新している。 Further, when writing block data, the address conversion unit 25 of the flash memory 20 stores information indicating the correspondence between the position where the block data is written and the memory cell in which the block data is actually stored, in the address conversion recording unit. Record at 26. By this conversion, as will be described later, even if the arrangement position of the block data on the memory cell is changed, the block data can be accessed from the storage device 10 by designating the same writing position. In this way, the address translation unit 25 updates the correspondence between the data arrangement position visible from the storage device 10 and the data arrangement position on the memory cell.

また、フラッシュメモリ20の書き込み回数記録処理部22は、メモリセル毎の書き込み回数をカウントして、書き込み回数記録部27に記録する。例えば、書き込み回数記録処理部22は、データ書き込み部21などによってメモリセルが更新されると、そのメモリセルの書き込み回数を1つ増やして、書き込み回数記録部27に記録する。なお、メモリセル毎の書き込み回数のカウントは、後述するブロックデータの書き換え時にも行われる。 Further, the write count recording processing unit 22 of the flash memory 20 counts the write count for each memory cell and records it in the write count recording unit 27. For example, when the memory cell is updated by the data writing unit 21 or the like, the write count recording processing unit 22 increases the write count of the memory cell by one and records it in the write count recording unit 27. The number of writes for each memory cell is also counted when the block data is rewritten, which will be described later.

次に、ストレージ装置10によるブロックデータの再配置処理を行う構成について説明する。まず、ストレージ装置10のスケジューラ15は、定期的にデータ再配置開始部14を呼び出して実行する。これに応じて、データ再配置開始部14は、フラッシュメモリ20内の各メモリセルに格納されているブロックデータ(実データ)の書き換え処理であるウェアレベリングを実行する。 Next, a configuration for relocating the block data by the storage device 10 will be described. First, the scheduler 15 of the storage device 10 periodically calls and executes the data rearrangement start unit 14. In response to this, the data rearrangement start unit 14 executes wear leveling, which is a process of rewriting block data (actual data) stored in each memory cell in the flash memory 20.

ウェアレベリングでは、以下の処理を実行する。まず、ストレージ装置10の重複回数取得部13(共有数取得部)は、フラッシュメモリ20に格納されている各ブロックデータを参照するコンテンツアドレスCAを基に、各ブロックデータがいくつのファイルから参照されているかを表す参照数を取得する。具体的には、図2に示すように、ブロックデータを参照するコンテンツアドレスCA内に記憶されているi-node番号の数を、そのブロックデータの参照数として取得する。 In wear leveling, the following processing is executed. First, the duplicate count acquisition unit 13 (shared number acquisition unit) of the storage device 10 refers to each block data from a number of files based on the content address CA that refers to each block data stored in the flash memory 20. Get the number of references that indicate whether or not. Specifically, as shown in FIG. 2, the number of i-node numbers stored in the content address CA that refers to the block data is acquired as the number of references to the block data.

また、フラッシュメモリ20の書き込み回数取得部23は、各ブロックデータが配置されているメモリセルの書き込み回数を、書き込み回数記録部27から取得する。 Further, the write count acquisition unit 23 of the flash memory 20 acquires the write count of the memory cell in which each block data is arranged from the write count recording unit 27.

そして、データ再配置部24(書き換え部)は、メモリセル毎に、その位置と、当該メモリセルの書き込み回数と、当該メモリセルに格納されているブロックデータの参照数と、を受け取る。そして、データ再配置部24は、これら情報を基に実際にウェアレベリング、つまり、メモリセルに格納されているブロックデータの書き換え処理を実施する。この書き換え処理は、例えば、参照数が多いブロックデータを、使用寿命が短い他のメモリセルつまり書き込み回数が多い他のメモリセルに書き書き換える処理となる。書き換え処理の具体例については、以下の動作説明時に詳述する。 Then, the data relocation unit 24 (rewriting unit) receives the position, the number of times the memory cell is written, and the number of references to the block data stored in the memory cell for each memory cell. Then, the data rearrangement unit 24 actually performs wear leveling, that is, rewriting the block data stored in the memory cell, based on the information. This rewriting process is, for example, a process of rewriting block data having a large number of references to another memory cell having a short usage life, that is, another memory cell having a large number of writes. A specific example of the rewriting process will be described in detail when the operation is described below.

また、上述したアドレス変換部25は、データ再配置部24によりブロックデータが書き換えられた際にも、当該ブロックデータが格納された位置と実際のメモリセルとの対応を表す情報を、アドレス変換記録部26に記録する。 Further, the address translation unit 25 described above records information indicating the correspondence between the position where the block data is stored and the actual memory cell even when the block data is rewritten by the data rearrangement unit 24. Record in section 26.

[動作]
次に、上述した構成のストレージ装置10による動作、特に、ウェアレベリングの動作を、図4のフローチャート及び図5、図6のブロックデータの様子を示す図を参照して説明する。
[motion]
Next, the operation of the storage device 10 having the above-described configuration, particularly the wear leveling operation, will be described with reference to the flowchart of FIG. 4 and the diagrams showing the state of the block data of FIGS. 5 and 6.

まず、スケジューラ15は、定期的にデータ再配置開始部14を呼び出す。データ再配置開始部14は、まず、書き込み回数取得部23にて取得した各メモリセルの書き込み回数を取得し、重複回数取得部13にて取得した各メモリセルに格納されているブロックデータの参照数を取得する。 First, the scheduler 15 periodically calls the data rearrangement start unit 14. The data relocation start unit 14 first acquires the write count of each memory cell acquired by the write count acquisition unit 23, and refers to the block data stored in each memory cell acquired by the duplicate count acquisition unit 13. Get the number.

そして、データ再配置開始部14は、取得した書き込み回数と参照数とから、一定数未満の書き込み回数であるメモリセルに、一定数以上の参照数を持つブロックデータがあるか確認する(ステップS1)。もし、そのようなブロックデータが存在しない場合には(ステップS1でNo)、本発明によるウェアレベリングは実施せずに終了する。そのようなブロックデータが存在した場合は(ステップS1でYes)、かかるブロックデータを、以降のステップにおける置き換え候補(書き換え候補)として選択する(ステップS2)。 Then, the data relocation start unit 14 confirms from the acquired number of writes and the number of references whether there is block data having a certain number of references or more in the memory cell having a number of writes less than a certain number (step S1). ). If such block data does not exist (No in step S1), wear leveling according to the present invention ends without being carried out. If such block data exists (Yes in step S1), the block data is selected as a replacement candidate (rewrite candidate) in the subsequent steps (step S2).

なお、メモリセルの書き込み回数が一定数未満か否かの判断は、メモリセルの書き込み回数が予め設定された書き込み回数閾値よりも小さいか否かによって行う。また、ブロックデータの参照数が一定数以上か否かの判断は、ブロックデータの参照数が予め設定された参照数閾値以上であるか否かによって行う。 Whether or not the number of writes in the memory cell is less than a certain number is determined by whether or not the number of writes in the memory cell is smaller than the preset write count threshold value. Further, whether or not the number of references to the block data is equal to or greater than a certain number is determined by whether or not the number of references to the block data is equal to or greater than a preset reference number threshold value.

続いて、データ再配置開始部14は、書き込み回数が一定数以上のメモリセルのうち、他のデータが格納されていない空きのメモリセルがあるかを確認する(ステップS3)。なお、メモリセルの書き込み回数が一定数以上か否かの判断は、メモリセルの書き込み回数が上述した書き込み回数閾値以上であるか否かによって行うが、当該書込み回数閾値よりも大きい値の他の閾値以上であるか否かによって行ってもよい。 Subsequently, the data relocation start unit 14 confirms whether or not there is a free memory cell in which no other data is stored among the memory cells whose number of writes is a certain number or more (step S3). Whether or not the number of writes in the memory cell is equal to or greater than a certain number is determined by whether or not the number of writes in the memory cell is equal to or greater than the above-mentioned write count threshold value. It may be performed depending on whether or not it is equal to or higher than the threshold value.

そして、書き込み回数が一定数以上の空きのメモリセルがある場合は(ステップS3でYes)、データ再配置部24は、上記ステップS2で置き換え候補として選択したブロックデータを、空きのメモリセルに移動する(ステップS4)。つまり、データ再配置部24は、図5(A)に示すように、一定数未満の少ない書き込み回数であるメモリセルに格納されており一定数以上の多い参照数を持つブロックデータを、図5(B)に示すように、一定数以上の多い書き込み回数であるメモリセルに格納し直す。 Then, when there are free memory cells whose number of writes is a certain number or more (Yes in step S3), the data rearrangement unit 24 moves the block data selected as the replacement candidate in step S2 to the free memory cells. (Step S4). That is, as shown in FIG. 5A, the data rearrangement unit 24 displays block data stored in a memory cell having a small number of writes less than a certain number and having a large number of references of a certain number or more in FIG. As shown in (B), the data is stored again in the memory cell having a large number of writes of a certain number or more.

上記ステップS3で、書き込み回数が一定数以上の空きのメモリセルが無い場合は(ステップS3でNo)、データ再配置開始部14は、書き込み回数が一定数以上のメモリセルに一定数未満の参照数を持つブロックデータがあるかを確認する(ステップS5)。なお、ブロックデータの参照数が一定数未満か否かの判断は、ブロックデータの参照数が上述した参照数閾値未満であるか否かによって行うが、当該参照数閾値よりも小さい値の他の閾値未満であるか否かによって行ってもよい。そして、このようなブロックデータが無かった場合(ステップS5でNo)、ステップS2で置き換え候補として選択したブロックデータの移動先はないと判断し、ウェアレベリングは実施しない。 If there is no free memory cell with a certain number of writes or more in step S3 (No in step S3), the data relocation start unit 14 refers to a memory cell with a certain number of writes or more with less than a certain number. It is confirmed whether there is block data having a number (step S5). Whether or not the number of references to the block data is less than a certain number is determined by whether or not the number of references to the block data is less than the above-mentioned reference number threshold value, but other values smaller than the reference number threshold value are used. This may be done depending on whether or not it is below the threshold value. If there is no such block data (No in step S5), it is determined that there is no destination for the block data selected as the replacement candidate in step S2, and wear leveling is not performed.

一方、ステップS5において、書き込み回数が一定数以上のメモリセルに一定数未満の参照数を持つブロックデータがあった場合には(ステップS5でYes)、データ再配置部24は、ステップS2で置き換え候補として選択したブロックデータと、ステップS5で見つかったブロックデータのメモリセル上の配置を交換する(ステップS6)。つまり、データ再配置部24は、図6(A)に示すように、一定数未満の少ない書き込み回数であるメモリセルに格納されている一定数以上の多い参照数を持つブロックデータを、図6(B)に示すように、一定数以上の多い書き込み回数であるメモリセルに格納し直す。これと同時に、図6(A)に示すように、一定数以上の多い書き込み回数であるメモリセルに格納されている一定数未満の少ない参照数を持つブロックデータを、図6(B)に示すように、一定数未満の少ない書き込み回数であるメモリセルに格納し直す。 On the other hand, in step S5, if there is block data having a reference number less than a certain number in the memory cell whose number of writes is a certain number or more (Yes in step S5), the data rearrangement unit 24 is replaced in step S2. The arrangement of the block data selected as the candidate and the block data found in step S5 on the memory cell is exchanged (step S6). That is, as shown in FIG. 6A, the data relocation unit 24 displays block data having a large number of references of a certain number or more stored in the memory cell, which is a small number of writes less than a certain number, in FIG. As shown in (B), the data is stored again in the memory cell having a large number of writes of a certain number or more. At the same time, as shown in FIG. 6A, block data having a small number of references less than a certain number stored in a memory cell having a large number of writes of a certain number or more is shown in FIG. 6B. As described above, the data is re-stored in a memory cell having a small number of writes less than a certain number.

なお、上記ステップS5において、書き込み回数が一定数以上のメモリセルに一定数未満の参照数を持つブロックデータが無かった場合であっても(ステップS5でNo)、データ再配置開始部14は、以下のようにウェアレベリングは実施してもよい。まず、書き込み回数が一定数以上のメモリセルに格納されているブロックデータの参照数と、ステップS2で置き換え候補として選択したブロックデータの参照数と、を比較する。そして、比較の結果、参照数が多いブロックデータを書き込み回数が一定数以上のメモリセルに配置するよう書き換えを行う。例えば、ステップS2で置き換え候補として選択したブロックデータの参照数の方が大きい場合には、かかるブロックデータを書き込み回数が一定数以上のメモリセルに書き換える。これと同時に、書き込み回数が一定数以上のメモリセルに格納されているブロックデータを、一定数未満の少ない書き込み回数であるメモリセルに書き換える。 In step S5, even if there is no block data having a reference number less than a certain number in the memory cells whose number of writes is a certain number or more (No in step S5), the data rearrangement start unit 14 still performs. Wear leveling may be performed as follows. First, the number of references to block data stored in a memory cell whose number of writes is a certain number or more is compared with the number of references to block data selected as replacement candidates in step S2. Then, as a result of the comparison, the block data having a large number of references is rewritten so as to be arranged in a memory cell having a certain number of writes or more. For example, when the number of references to the block data selected as the replacement candidate in step S2 is larger, the block data is rewritten into a memory cell having a certain number of writes or more. At the same time, the block data stored in the memory cell having a certain number of writes or more is rewritten to the memory cell having a small number of writes less than a certain number.

そして、ステップS4やステップS6などの処理によりブロックデータ書き換えを行なった後に、アドレス変換部25は、それぞれのブロックデータの位置とメモリセル上の位置が対応するように、アドレス変換記録部26を更新する。 Then, after rewriting the block data by processing such as step S4 and step S6, the address conversion unit 25 updates the address conversion recording unit 26 so that the position of each block data corresponds to the position on the memory cell. To do.

以上のように、本発明では、参照数の多いブロックデータを書き込み回数の多いメモリセルに配置するよう書き換えを行なっている。ここで、参照数が多いブロックデータは、さまざまなファイルから参照されているため、参照している全てのファイルが削除されない限り解放されない。このため、参照数が多いブロックデータは、以後、削除される可能性が低く、当該ブロックデータが格納されているメモリセルは書き換えられる可能性が低くなる。逆に、参照数が少ないブロックデータは以後に削除される可能性が高いため、当該ブロックデータが格納されているメモリセルは書き換えられる可能性が高くなる。 As described above, in the present invention, the block data having a large number of references is rewritten so as to be arranged in the memory cell having a large number of writes. Here, since the block data having a large number of references is referenced from various files, it is not released unless all the referenced files are deleted. Therefore, the block data having a large number of references is unlikely to be deleted thereafter, and the memory cell in which the block data is stored is unlikely to be rewritten. On the contrary, since the block data having a small number of references is likely to be deleted later, the memory cell in which the block data is stored is likely to be rewritten.

このようなことから、上述したように、将来書き換えられる可能性の低いブロックデータを、書き込み回数の多いメモリセルに配置することで、当該書き込み回数の多いメモリセルに対する以後の書き込み回数の増加を抑制することができる。その結果、フラッシュメモリの長寿命化を実現することができる。 For this reason, as described above, by arranging block data that is unlikely to be rewritten in the future in a memory cell having a large number of writes, it is possible to suppress an increase in the number of subsequent writes to the memory cell having a large number of writes. can do. As a result, it is possible to extend the life of the flash memory.

なお、上記では、書き込み回数が一定数未満であり参照数が一定数以上のブロックデータを、書き込み回数が一定数以上のメモリセルに書き換えることとしているが、本発明は、かかる方法で書き換えを行うことに限定されない。例えば、ブロックデータの参照数に応じて、当該ブロックデータを他のメモリセルに記憶してもよい。このとき、書き換え先となる他のメモリセルは、上述したように書き込み回数から使用寿命の異なるものを選択してもよく、他の方法で使用寿命の異なるものを選択してもよい。 In the above, the block data in which the number of writes is less than a certain number and the number of references is a certain number or more is rewritten into a memory cell in which the number of writes is a certain number or more. However, the present invention rewrites by such a method. Not limited to that. For example, the block data may be stored in another memory cell according to the number of references to the block data. At this time, as the other memory cell to be rewritten, a memory cell having a different service life may be selected from the number of writes as described above, or a memory cell having a different service life may be selected by another method.

また、上記では、図3に示すように、コンテンツアドレスごとに、ブロックを参照しているファイルのi-node番号を記録して、参照数を取得していた。しかしながら、このような永続的な情報を記録することなく、他の方法で参照数を取得してもよい。例えば、重複排除を行うストレージ装置においては、ブロックデータは参照される回数が0になるまで解放されず、また、参照数が0になったブロックを解放するために、定期的にガベージコレクションを行う。このガベージコレクションにおいて、i-nodeがどのプロックデータを参照しているのかを確認し、図3に示す内容を作成することもできる。そして、その後、データ再配置開始部14を呼び出すことで上述同様のウェアレベリングを実施することができる。この方法によれば、データ再配置開始部14の処理が完了したあと、図3の内容は解放できる。 Further, in the above, as shown in FIG. 3, the i-node number of the file that refers to the block is recorded for each content address, and the number of references is acquired. However, the number of references may be obtained by other methods without recording such persistent information. For example, in a storage device that performs deduplication, block data is not released until the number of references reaches 0, and garbage collection is performed periodically to release the block whose number of references becomes 0. .. In this garbage collection, it is also possible to confirm which block data the i-node refers to and create the content shown in FIG. Then, after that, the same wear leveling as described above can be performed by calling the data rearrangement start unit 14. According to this method, the contents of FIG. 3 can be released after the processing of the data rearrangement start unit 14 is completed.

また、上記では、重複排除機能を有するストレージ装置におけるブロックデータの参照数(重複数)を基にウェアレベリングを実施しているが、他のストレージ装置においても本発明の構成を利用することができる。例えば、スナップショット機能を持つファイルシステムやRAWデバイスにおいては、スナップショット間でデータを共有するが、当該データの共有数を、上述した参照数として用いて、ウェアレベリングを行なってもよい。 Further, in the above, wear leveling is performed based on the number of reference (multiple) of block data in the storage device having the deduplication function, but the configuration of the present invention can also be used in other storage devices. .. For example, in a file system or a RAW device having a snapshot function, data is shared between snapshots, and wear leveling may be performed using the number of shared data as the above-mentioned reference number.

<実施形態2>
次に、本発明の第2の実施形態を、図7を参照して説明する。図7は、ストレージ装置によるデータ書き換え処理を説明するための図である。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 7 is a diagram for explaining a data rewriting process by the storage device.

本発明におけるストレージ装置10は、上述した実施形態1とほぼ同様の構成を有するが、フラッシュメモリ20の構成が異なる。本実施形態におけるフラッシュメモリ20は、SLC(Single Level Cell)、MLC(Multi Level Cell)、TLC(Triple Level Cell)が混在している。このような構成において、ストレージ装置10のデータ再配置部24は、ブロックデータの参照数に応じて、以下に説明するように適切なフラッシュメモリを選択する機能を有する。 The storage device 10 in the present invention has substantially the same configuration as that of the first embodiment described above, but the configuration of the flash memory 20 is different. The flash memory 20 in the present embodiment contains a mixture of SLC (Single Level Cell), MLC (Multi Level Cell), and TLC (Triple Level Cell). In such a configuration, the data rearrangement unit 24 of the storage device 10 has a function of selecting an appropriate flash memory as described below according to the number of reference to the block data.

ここで、SLC, MLC, TLCは、それぞれ性能や価格が異なっており、特に、使用寿命つまり書き換え可能回数が設定されている。例えば、MLC, TLCは、SLCよりも書き換え可能回数が少なく設定されており、使用寿命が短いものである。 Here, SLC, MLC, and TLC have different performances and prices, and in particular, the service life, that is, the number of rewritable times is set. For example, MLC and TLC are set to have a smaller number of rewritable times than SLC, and have a short service life.

そして、データ再配置部24は、例えば、図7(A)に示すように、書き換え可能回数が多いSLCに格納されており一定数以上の多い参照数を持つブロックデータを、図7(B)に示すように、書き換え可能回数の少ないMLCに書き換える。 Then, as shown in FIG. 7A, for example, the data rearrangement unit 24 displays the block data stored in the SLC having a large number of rewritable times and having a large number of references of a certain number or more in FIG. 7B. As shown in, rewrite to MLC with a small number of rewritable times.

このように、参照数が多く削除される可能性が低いブロックデータを、書き換え可能回数の少ないMLCに配置することで、当該MLCに対する以後の書き込み回数の増加を抑制することができる。その結果、使用寿命の短いフラッシュメモリであっても、長寿命化を実現することができる。 In this way, by arranging the block data having a large number of references and having a low possibility of being deleted in the MLC having a small number of rewritable times, it is possible to suppress an increase in the number of subsequent writes to the MLC. As a result, even a flash memory having a short service life can be extended in life.

<実施形態3>
次に、本発明の第3の実施形態を、図8を参照して説明する。図8は、ストレージ装置の構成を示すブロック図である。
<Embodiment 3>
Next, a third embodiment of the present invention will be described with reference to FIG. FIG. 8 is a block diagram showing the configuration of the storage device.

本発明におけるストレージ装置100は、書き換えにより使用寿命が短くなる記憶媒体110に対してデータを書き込むストレージ装置100であって、記憶媒体110に記憶されているデータが共有されている数を表す共有数を取得する共有数取得部101と、前記共有数に基づいて、記憶媒体110に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える書き換え部102と、を備える。なお、上記共有数取得部101と書き換え部102とは、ストレージ装置100に装備された制御部(図示せず)でプログラムが実行されることで構築される。 The storage device 100 in the present invention is a storage device 100 that writes data to a storage medium 110 whose service life is shortened by rewriting, and is a shared number representing the number of data stored in the storage medium 110. A shared number acquisition unit 101 for acquiring the data, and a rewriting unit 102 for rewriting the data stored in the storage medium 110 to another storage area having a different usage life based on the shared number. The shared number acquisition unit 101 and the rewrite unit 102 are constructed by executing a program in a control unit (not shown) provided in the storage device 100.

そして、上記ストレージ装置100は、まず、共有数取得部101が、記憶媒体110に記憶されているデータが共有されている数を表す共有数を取得する。そして、書き換え部102が、取得した共有数に基づいて、記憶媒体110に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える。 Then, in the storage device 100, first, the shared number acquisition unit 101 acquires the shared number representing the number of data stored in the storage medium 110 being shared. Then, the rewriting unit 102 rewrites the data stored in the storage medium 110 to another storage area having a different service life based on the acquired number of shares.

このように、データの共有数に基づいて、当該データを使用寿命の異なる他の記憶領域に書き換えることで、記憶媒体に対する書き込み回数を抑制することができ、当該記憶媒体の長寿命化を図ることができる。 In this way, by rewriting the data to another storage area having a different service life based on the number of shared data, the number of writes to the storage medium can be suppressed, and the life of the storage medium can be extended. Can be done.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置、プログラム、書き換え方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
<Additional notes>
Part or all of the above embodiments may also be described as in the appendix below. Hereinafter, the outline of the configuration of the storage device, the program, and the rewriting method in the present invention will be described. However, the present invention is not limited to the following configurations.

(付記1)
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置であって、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得する共有数取得部と、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える書き換え部と、
を備えたストレージ装置。
(Appendix 1)
A storage device that writes data to a storage medium whose service life is shortened by rewriting.
A shared number acquisition unit that acquires the number of shares representing the number of shared data stored in the storage medium, and a shared number acquisition unit.
A rewriting unit that rewrites the data stored in the storage medium to another storage area having a different service life based on the number of shares.
Storage device with.

(付記2)
付記1に記載のストレージ装置であって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも使用寿命の短い他の記憶領域に書き換える、
ストレージ装置。
(Appendix 2)
The storage device according to Appendix 1.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage area having a shorter service life than the storage area in which the data is stored.
Storage device.

(付記3)
付記1又は2に記載のストレージ装置であって、
記憶媒体に形成された記憶領域毎の書き込み回数を取得する書き込み回数取得部を備え、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える、
ストレージ装置。
(Appendix 3)
The storage device according to Appendix 1 or 2.
A write count acquisition unit for acquiring the write count for each storage area formed in the storage medium is provided.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage area having a larger number of writes than the storage area in which the data is stored.
Storage device.

(付記4)
付記3に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上のデータを、予め設定された前記書き込み回数以上の他の記憶領域に書き換える、
ストレージ装置。
(Appendix 4)
The storage device according to Appendix 3,
The rewriting unit is stored in a storage area that is less than the preset number of writes, and rewrites data that is equal to or greater than the preset number of shares to another storage area that is greater than or equal to the preset number of writes.
Storage device.

(付記5)
付記4に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上のデータを、予め設定された前記書き込み回数以上の他の記憶領域のうち他のデータが記憶されていない空き記憶領域に書き換える、
ストレージ装置。
(Appendix 5)
The storage device according to Appendix 4,
The rewriting unit is stored in a storage area that is less than the preset number of writes, and stores data that is greater than or equal to the preset number of shares among other storage areas that are greater than or equal to the preset number of writes. Rewrite to a free storage area where the data of
Storage device.

(付記6)
付記4又は5に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上のデータを、当該データの前記共有数よりも少ない共有数のデータが記憶されている予め設定された前記書き込み回数以上の他の記憶領域に書き換える、
ストレージ装置。
(Appendix 6)
The storage device according to Appendix 4 or 5.
The rewriting unit is stored in a storage area less than the preset number of writes, and stores data having a number of shares less than the preset number of shares, and data having a number of shares less than the number of shares of the data. Rewrite to another storage area that is equal to or greater than the preset number of writes.
Storage device.

(付記7)
付記2に記載のストレージ装置であって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも使用寿命の短い他の記憶媒体に書き換える、
ストレージ装置。
(Appendix 7)
The storage device according to Appendix 2,
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage medium having a shorter service life than the storage medium in which the data is stored.
Storage device.

(付記8)
付記7に記載のストレージ装置であって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも書き換え可能回数が少なく設定された他の記憶媒体に書き換える、
ストレージ装置。
(Appendix 8)
The storage device according to Appendix 7.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage medium set to have a smaller number of rewritable times than the storage medium in which the data is stored.
Storage device.

(付記9)
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置に装備された制御部に、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得する共有数取得部と、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える書き換え部と、
を実現させるためのプログラム。
(Appendix 9)
In the control unit equipped in the storage device that writes data to the storage medium whose service life is shortened by rewriting,
A shared number acquisition unit that acquires the number of shares representing the number of shared data stored in the storage medium, and a shared number acquisition unit.
A rewriting unit that rewrites the data stored in the storage medium to another storage area having a different service life based on the number of shares.
A program to realize.

(付記9−1)
付記9に記載のプログラムであって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも使用寿命の短い他の記憶領域に書き換える、
プログラム。
(Appendix 9-1)
The program described in Appendix 9
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage area having a shorter service life than the storage area in which the data is stored.
program.

(付記9−2)
付記9又は9−1にプログラムであって、
前記制御部に、さらに、記憶媒体に形成された記憶領域毎の書き込み回数を取得する書き込み回数取得部を実現させ、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える、
プログラム。
(Appendix 9-2)
The program in Appendix 9 or 9-1
The control unit further realizes a write count acquisition unit that acquires the write count for each storage area formed in the storage medium.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage area having a larger number of writes than the storage area in which the data is stored.
program.

(付記9−3)
付記9−1に記載のプログラムであって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも使用寿命の短い他の記憶媒体に書き換える、
プログラム。
(Appendix 9-3)
The program described in Appendix 9-1.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage medium having a shorter service life than the storage medium in which the data is stored.
program.

(付記9−4)
付記9−3に記載のプログラムであって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも書き換え可能回数が少なく設定された他の記憶媒体に書き換える、
プログラム。
(Appendix 9-4)
The program described in Appendix 9-3.
The rewriting unit rewrites the data determined to have a large number of shares according to a preset standard to another storage medium set to have a smaller number of rewritable times than the storage medium in which the data is stored.
program.

(付記10)
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置による書き換え方法であって、
記憶媒体に記憶されているデータが共有されている数を表す共有数を取得し、
前記共有数に基づいて、記憶媒体に記憶されているデータを、使用寿命の異なる他の記憶領域に書き換える、
書き換え方法。
(Appendix 10)
This is a rewriting method using a storage device that writes data to a storage medium whose service life is shortened by rewriting.
Acquires the number of shares that represents the number of data stored in the storage medium.
Based on the number of shares, the data stored in the storage medium is rewritten into another storage area having a different service life.
How to rewrite.

(付記10−1)
付記10に記載の書き換え方法であって、
予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも使用寿命の短い他の記憶領域に書き換える、
書き換え方法。
(Appendix 10-1)
The rewriting method described in Appendix 10
The data determined to have a large number of shares according to a preset standard is rewritten to another storage area having a shorter service life than the storage area in which the data is stored.
How to rewrite.

(付記10−2)
付記10又は10−1に書き換え方法であって、
さらに、記憶媒体に形成された記憶領域毎の書き込み回数を取得し、
予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える、
書き換え方法。
(Appendix 10-2)
It is a rewriting method to Appendix 10 or 10-1.
Further, the number of writes for each storage area formed in the storage medium is acquired, and the number of writes is acquired.
The data determined to have a large number of shares according to a preset standard is rewritten to another storage area having a larger number of writes than the storage area in which the data is stored.
How to rewrite.

(付記10−3)
付記10−1に記載の書き換え方法であって、
予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも使用寿命の短い他の記憶媒体に書き換える、
書き換え方法。
(Appendix 10-3)
The rewriting method described in Appendix 10-1.
The data determined to have a large number of shares according to a preset standard is rewritten to another storage medium having a shorter service life than the storage medium in which the data is stored.
How to rewrite.

(付記10−4)
付記10−3に記載の書き換え方法であって、
予め設定された基準により前記共有数が多いと判断されたデータを、当該データが記憶されている記憶媒体よりも書き換え可能回数が少なく設定された他の記憶媒体に書き換える、
書き換え方法。
(Appendix 10-4)
The rewriting method described in Appendix 10-3.
The data determined to have a large number of shares according to a preset standard is rewritten to another storage medium set to have a smaller number of rewritable times than the storage medium in which the data is stored.
How to rewrite.

なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 The above-mentioned program is stored in a storage device or recorded on a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.

以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。 Although the invention of the present application has been described above with reference to the above-described embodiments and the like, the present invention is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the structure and details of the present invention within the scope of the present invention.

10 ストレージ装置
11 データ書き込み部
12 重複回数記録部
13 重複回数取得部
14 データ再配置開始部
15 スケジューラ
20 フラッシュメモリ
21 データ書き込み部
22 書き込み回数記録処理部
23 書き込み回数取得部
24 データ再配置部
25 アドレス変換部
26 アドレス変換取得部
27 書き込み回数記録部
28 データ記憶部
100 ストレージ装置
101 共有数取得部
102 書き換え部
110 記憶媒体
10 Storage device 11 Data write unit 12 Duplicate count recording unit 13 Duplicate count acquisition unit 14 Data relocation start unit 15 Scheduler 20 Flash memory 21 Data write unit 22 Write count recording processing unit 23 Write count acquisition unit 24 Data relocation unit 25 Address Conversion unit 26 Address conversion acquisition unit 27 Write count recording unit 28 Data storage unit 100 Storage device 101 Shared number acquisition unit 102 Rewriting unit 110 Storage medium

Claims (7)

書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置であって、
書き込み対象となるファイルをブロックデータに分割して当該ブロックデータを記憶媒体に書き込む際に、当該ブロックデータを参照する、当該ブロックデータのデータ内容及び格納位置に基づくアドレスデータを生成し、データ内容が同一である前記ブロックデータを同一の前記アドレスデータで参照することで、同一内容の前記ブロックデータの重複記憶を排除する機能を有するデータ書き込み部と、
前記ブロックデータを参照する前記アドレスデータに、当該ブロックデータが前記ファイルに共有されている当該ファイルの数を記憶する重複回数記録部と、
記憶媒体に記憶されている前記ブロックデータが前記ファイルに共有されている当該ファイルの数を表す共有数を、当該ブロックデータを参照する前記アドレスデータを基に取得する共有数取得部と、
記憶媒体に形成された記憶領域毎の書き込み回数を取得する書き込み回数取得部と、
予め設定された基準により前記共有数が多いと判断された前記ブロックデータを、当該ブロックデータが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える書き換え部と、
を備えたストレージ装置。
A storage device that writes data to a storage medium whose service life is shortened by rewriting.
When the file to be written is divided into block data and the block data is written to the storage medium, the data content of the block data and the address data based on the storage position that refer to the block data are generated, and the data content is A data writing unit having a function of eliminating duplicate storage of the block data having the same contents by referring to the same block data with the same address data.
In the address data that refers to the block data, a duplicate number recording unit that stores the number of the files in which the block data is shared in the file, and
Shared number the block data stored in the storage medium represents the number of the files shared in the file, a shared number obtaining unit for obtaining on the basis of the address data that refers to the block data,
A write count acquisition unit that acquires the write count for each storage area formed on the storage medium,
A rewriting unit that rewrites the block data, which is determined to have a large number of shares according to a preset standard, to another storage area that has a larger number of writes than the storage area in which the block data is stored.
Storage device with.
請求項1に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上の前記ブロックデータを、予め設定された前記書き込み回数以上の他の記憶領域に書き換える、
ストレージ装置。
The storage device according to claim 1.
The rewriting unit is stored in a storage area that is less than the preset number of writes, and stores the block data that is equal to or greater than the preset number of shares in another storage area that is greater than or equal to the preset number of writes. rewrite,
Storage device.
請求項2に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上の前記ブロックデータを、予め設定された前記書き込み回数以上の他の記憶領域のうち他のデータが記憶されていない空き記憶領域に書き換える、
ストレージ装置。
The storage device according to claim 2.
The rewriting unit is stored in a storage area having a preset number of writes or less, and the block data having a preset number of shares or more can be stored in a storage area having a preset number of writes or more. Rewrite to a free storage area where other data is not stored,
Storage device.
請求項2又は3に記載のストレージ装置であって、
前記書き換え部は、予め設定された前記書き込み回数未満の記憶領域に記憶されており、予め設定された前記共有数以上の前記ブロックデータを、当該ブロックデータの前記共有数よりも少ない共有数の前記ブロックデータが記憶されている予め設定された前記書き込み回数以上の他の記憶領域に書き換える、
ストレージ装置。
The storage device according to claim 2 or 3.
The rewriter is stored in the preset memory area of less than the write count was, the block data of the above shared number set in advance, the number of shared shares on the less than of the block data Rewrite to another storage area in which the block data is stored, which is equal to or greater than the preset number of writes.
Storage device.
請求項1乃至4のいずれかに記載のストレージ装置であって、
前記書き換え部は、予め設定された基準により前記共有数が多いと判断された前記ブロックデータを、当該ブロックデータが記憶されている記憶媒体よりも書き換え可能回数が少なく設定された他の記憶媒体に書き換える、
ストレージ装置。
The storage device according to any one of claims 1 to 4.
The rewriting unit transfers the block data, which is determined to have a large number of shares according to a preset standard, to another storage medium set to be rewritable less than the storage medium in which the block data is stored. rewrite,
Storage device.
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置に装備されたコンピュータに、
書き込み対象となるファイルをブロックデータに分割して当該ブロックデータを記憶媒体に書き込む際に、当該ブロックデータを参照する、当該ブロックデータのデータ内容及び格納位置に基づくアドレスデータを生成し、データ内容が同一である前記ブロックデータを同一の前記アドレスデータで参照することで、同一内容の前記ブロックデータの重複記憶を排除する機能を有するデータ書き込み部と、
前記ブロックデータを参照する前記アドレスデータに、当該ブロックデータが前記ファイルに共有されている当該ファイルの数を記憶する重複回数記録部と、
記憶媒体に記憶されている前記ブロックデータが前記ファイルに共有されている当該ファイルの数を表す共有数を、当該ブロックデータを参照する前記アドレスデータを基に取得する共有数取得部と、
記憶媒体に形成された記憶領域毎の書き込み回数を取得する書き込み回数取得部と、
予め設定された基準により前記共有数が多いと判断された前記ブロックデータを、当該ブロックデータが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える書き換え部と、
を実現させるためのプログラム。
A computer equipped with a storage device that writes data to a storage medium whose service life is shortened by rewriting.
When the file to be written is divided into block data and the block data is written to the storage medium, the data content of the block data and the address data based on the storage position that refer to the block data are generated, and the data content is A data writing unit having a function of eliminating duplicate storage of the block data having the same contents by referring to the same block data with the same address data.
In the address data that refers to the block data, a duplicate number recording unit that stores the number of the files in which the block data is shared in the file, and
Shared number the block data stored in the storage medium represents the number of the files shared in the file, a shared number obtaining unit for obtaining on the basis of the address data that refers to the block data,
A write count acquisition unit that acquires the write count for each storage area formed on the storage medium,
A rewriting unit that rewrites the block data, which is determined to have a large number of shares according to a preset standard, to another storage area that has a larger number of writes than the storage area in which the block data is stored.
A program to realize.
書き換えにより使用寿命が短くなる記憶媒体に対してデータを書き込むストレージ装置による書き換え方法であって、
書き込み対象となるファイルをブロックデータに分割して当該ブロックデータを記憶媒体に書き込む際に、当該ブロックデータを参照する、当該ブロックデータのデータ内容及び格納位置に基づくアドレスデータを生成し、データ内容が同一である前記ブロックデータを同一の前記アドレスデータで参照することで、同一内容の前記ブロックデータの重複記憶を排除し、
前記ブロックデータを参照する前記アドレスデータに、当該ブロックデータが前記ファイルに共有されている当該ファイルの数を記憶し、
記憶媒体に記憶されている前記ブロックデータが前記ファイルに共有されている当該ファイルの数を表す共有数を、当該ファイルのデータを参照する前記アドレスデータを基に取得すると共に、
記憶媒体に形成された記憶領域毎の書き込み回数を取得し、
予め設定された基準により前記共有数が多いと判断された前記ブロックデータを、当該ブロックデータが記憶されている記憶領域よりも前記書き込み回数が多い他の記憶領域に書き換える、
書き換え方法。
This is a rewriting method using a storage device that writes data to a storage medium whose service life is shortened by rewriting.
When the file to be written is divided into block data and the block data is written to the storage medium, the data content of the block data and the address data based on the storage position that refer to the block data are generated, and the data content is By referencing the same block data with the same address data, duplicate storage of the block data having the same content can be eliminated.
In the address data that refers to the block data, the number of the files in which the block data is shared in the file is stored.
Shared number the block data stored in the storage medium represents the number of the files shared in the file, obtains based on the address data that refers to the data of the file,
Acquires the number of writes for each storage area formed in the storage medium,
The block data determined to have a large number of shares according to a preset standard is rewritten to another storage area having a larger number of writes than the storage area in which the block data is stored.
How to rewrite.
JP2016027040A 2016-02-16 2016-02-16 Storage device Active JP6805501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016027040A JP6805501B2 (en) 2016-02-16 2016-02-16 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016027040A JP6805501B2 (en) 2016-02-16 2016-02-16 Storage device

Publications (2)

Publication Number Publication Date
JP2017146722A JP2017146722A (en) 2017-08-24
JP6805501B2 true JP6805501B2 (en) 2020-12-23

Family

ID=59680852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016027040A Active JP6805501B2 (en) 2016-02-16 2016-02-16 Storage device

Country Status (1)

Country Link
JP (1) JP6805501B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146254A (en) * 2006-12-07 2008-06-26 Sony Corp Storage device, computer system and data processing method for storage device
JP5298982B2 (en) * 2009-03-17 2013-09-25 日本電気株式会社 Storage system
JP6094267B2 (en) * 2013-03-01 2017-03-15 日本電気株式会社 Storage system
KR102289919B1 (en) * 2014-04-15 2021-08-12 삼성전자주식회사 Storage controller, storage device, storage system and method of operation of the storage controller

Also Published As

Publication number Publication date
JP2017146722A (en) 2017-08-24

Similar Documents

Publication Publication Date Title
KR101769883B1 (en) Apparatus, system, and method for allocating storage
US10521131B2 (en) Storage apparatus and storage control apparatus
US9111618B2 (en) De-duplication in flash memory module
US9996542B2 (en) Cache management in a computerized system
EP2631916A1 (en) Data deletion method and device
WO2015076354A1 (en) Storage device, method, and program
KR20070060070A (en) Fat analysis for optimized sequential cluster management
CN111209253B (en) Performance improving method and device for distributed storage device and distributed storage device
JPWO2008072590A1 (en) Write-once recording device, controller, access device, and write-once recording system
US20180307440A1 (en) Storage control apparatus and storage control method
US20180307426A1 (en) Storage apparatus and storage control method
JP6867578B2 (en) Storage controller, storage system, storage control method and storage control program
US11269771B2 (en) Storage device for improving journal replay, operating method thereof, and electronic device including the storage device
US10929299B2 (en) Storage system, method and non-transitory computer-readable storage medium
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
JP2010237907A (en) Storage device and recording method
EP2381354A2 (en) Data recording device
JP6805501B2 (en) Storage device
US10853257B1 (en) Zero detection within sub-track compression domains
JP5768118B2 (en) Storage system having multiple flash packages
WO2022021280A1 (en) Storage controller, storage control method, solid state disk and storage system
US10740015B2 (en) Optimized management of file system metadata within solid state storage devices (SSDs)
JP6276208B2 (en) Memory system and program
JP6138318B2 (en) Storage system having multiple flash packages
JP5945040B2 (en) Storage system having multiple flash packages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201002

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: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201117

R150 Certificate of patent or registration of utility model

Ref document number: 6805501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150