WO2023218967A1 - ストレージ、映像記録システム、及び、ストレージの制御方法 - Google Patents

ストレージ、映像記録システム、及び、ストレージの制御方法 Download PDF

Info

Publication number
WO2023218967A1
WO2023218967A1 PCT/JP2023/016483 JP2023016483W WO2023218967A1 WO 2023218967 A1 WO2023218967 A1 WO 2023218967A1 JP 2023016483 W JP2023016483 W JP 2023016483W WO 2023218967 A1 WO2023218967 A1 WO 2023218967A1
Authority
WO
WIPO (PCT)
Prior art keywords
recording
video
storage
threshold
data
Prior art date
Application number
PCT/JP2023/016483
Other languages
English (en)
French (fr)
Inventor
英明 山下
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2023218967A1 publication Critical patent/WO2023218967A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the storage unit 57 is provided as a memory separate from the flash memory 53 or is a part of the recording area RA, and stores various parameters related to the control of the storage 5. Specifically, the storage unit 57 stores recording number information CI, address allocation table TA, and threshold value TH.
  • the CPU 31 calculates the second threshold based on the recording speed at which the video to be recorded is recorded in the recording area RA and the time required to record the video in the recording area.
  • the recording speed is calculated as the product of the number of pixels per frame of the video to be recorded, the bit depth per pixel, chroma sampling, and the number of frames per unit time included in the operation mode. be done.
  • the amount of data per unit time is reduced to one-tenth, for example. That is, the recording speed corresponds to the amount of data per unit time of the video to be recorded, and is, for example, the bit rate (bps, bit per second).
  • the required time corresponds to the time length of the video to be recorded.
  • the threshold TH is the first threshold. Therefore, the controller 55 determines whether the current degree of data recording maldistribution is greater than or equal to the first threshold value.
  • the controller 55 erases the data in the block BL of the physical address "00AB". Due to this erasure, the number of recordings of the block BL with the physical address "00AB" increases by 1 to N+1. As a result, the maximum value of the number of recordings of the block BL included in the available area UA remains N+99, but the minimum value of the number of recordings of all the blocks BL becomes N+1. That is, the degree of data recording maldistribution is 98. In this case, the first wear leveling process is not executed unless data is recorded twice in the block BL (physical address: 0001) with the maximum number of recordings included in the available area UA. In other words, even if one video is recorded, the first wear leveling process is not performed.
  • the second wear leveling process by exchanging the blocks BL and the second wear leveling process using garbage collection may be executed in combination.
  • steps S51 to S55 and steps S58 to S60 in FIG. 16 are the same as the processing contents in steps S11 to S15 and steps S17 to S19 in FIG. 6, respectively, so a detailed explanation will be omitted.
  • the processing contents in steps S61 to S63 and steps S65 to S71 in FIG. 17 are the same as the processing contents in steps S31 to S33 and steps S34 to S60 in FIG. 7, respectively, so a detailed explanation will be omitted.
  • the processing contents in steps S201 to S202 and steps S204 to S207 in FIG. 18 are the same as the processing contents in steps S101 to S102 and steps S104 to S107 in FIG. 8, respectively, so a detailed explanation will be omitted.
  • the information processing device sets the second threshold based on the recording speed at which the video is recorded to the recording area and the time required to record the video to the recording area. may be calculated. Thereby, an appropriate second threshold value can be calculated according to the characteristics of the video to be recorded.

Abstract

映像の記録中にウェアレベリング処理が実行されないようにして、映像を途切れなく記録する。ストレージ(5)は、映像を記録する記録領域(RA)を有するフラッシュメモリ(53)と、映像のフラッシュメモリ(53)への記録を制御するコントローラ(55)と、を備える。コントローラ(55)は、データ記録偏在度が第1閾値以上となった場合、データ記録偏在度を第1閾値よりも小さくする第1ウェアレベリング処理を、ストレージ(5)の標準機能として実行する。コントローラ(55)は、映像の記録中にデータ記録偏在度が第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得し、データ記録偏在度が第2閾値よりも大きい場合、データ記録偏在度を第2閾値以下とする第2ウェアレベリング処理を実行する。

Description

ストレージ、映像記録システム、及び、ストレージの制御方法
 本開示は、映像を記録するためのストレージ、ストレージに映像を記録するための映像記録システム、及び、映像を記録するためのストレージの制御方法に関する。
 カメラ等の映像出力装置が取得した映像を入力し、当該映像をストレージに記録するシステムが知られている。外部のストレージに記録された映像は、例えば、将来の再生、又は、映像編集に用いられる。このシステムでは、ソリッド・ステート・ドライブ(SSD)と呼ばれるストレージが用いられることがある。
 SSDは、NANDフラッシュメモリと呼ばれる半導体デバイスをデータの記録領域として有する。NANDフラッシュメモリは、多数のメモリ素子から構成され、各メモリ素子にデータ(ビットデータ)が記録される。NANDフラッシュメモリのメモリ素子は、その性質上、データの記録回数に上限がある。また、NANDフラッシュメモリでは、特定のメモリ素子の記録回数が上限に達して正常動作しなくなると、その影響がNANDフラッシュメモリ全体に及ぶことがある。
 上記の問題点を解決するために、SSDでは、データの記録が特定のメモリ素子に偏って発生することを回避するために、「ウェアレベリング処理」と呼ばれる処理が実行される。ウェアレベリング処理は、NANDフラッシュメモリに記録されたデータの「配置変更」を行うことで、メモリ素子の記録回数の最大値と最小値との差を小さくする処理である。
 その一方で、SSDからのデータの読み出し時、又は、SSDへのデータの記録時に、ウェアレベリング処理が発生すると、データの読み出し又は記録が遅くなることがある。そこで、データの読み出し時にウェアレベリング処理を無効とすることが知られている(例えば、特許文献1を参照)。
特開2013-191150号公報
 映像のSSDへの記録においても、映像が途切れずにSSDに記録される必要がある。その理由は、映像の記録が途切れると、映像の一部が欠けて、記録された映像の品質が、元の映像よりも低下してしまうからである。従って、映像のSSDへの記録も、ウェアレベリング処理により途切れないようにする必要がある。
 本開示は、フラッシュメモリを映像の記録領域として有するストレージにおいて、映像の記録中にウェアレベリング処理が実行されることを抑制して、フラッシュメモリの記録領域に映像を途切れなく記録することを目的とする。
 本開示のストレージは、映像を記録するストレージであって、フラッシュメモリと、コントローラと、を備える。フラッシュメモリは、映像を記録する記録領域を有する。コントローラは、映像のフラッシュメモリへの記録を制御する。
 記録領域は、データの消去単位である複数のブロックに分割されている。コントローラは、複数のブロックのうち映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、データ記録偏在度を第1閾値よりも小さくする第1ウェアレベリング処理を、ストレージの標準機能として実行する。また、コントローラは、映像の記録中にデータ記録偏在度が第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得する。コントローラは、データ記録偏在度が第2閾値よりも大きい場合、データ記録偏在度を第2閾値以下とする第2ウェアレベリング処理を実行する。
 本開示のストレージでは、第2ウェアレベリング処理を実行し、データ記録偏在度を第2閾値以下とすることで、ストレージの標準機能として実行される第1ウェアレベリングが映像の記録中に実行されることを抑制できる。この結果、フラッシュメモリの記録領域に映像を途切れなく記録できる。
図1は、映像記録システムの構成を示す図である。 図2は、情報処理装置の構成を示す図である。 図3は、ストレージの構成を示す図である。 図4は、記録領域の構成を示す図である。 図5は、アドレス割り当てテーブルの一例を示す図である。 図6は、情報処理装置の動作を示すフローチャートである。 図7は、ストレージの動作を示すフローチャートである。 図8は、動作時における信号の送受信を示す図である。 図9は、第2ウェアレベリング処理前の記録領域の状態の一例を示す図である。 図10は、第2ウェアレベリング処理前のアドレス割り当てテーブルの一例を示す図である。 図11は、第2ウェアレベリング処理による記録領域の状態遷移の一例を示す図である。 図12は、第2ウェアレベリング処理後のアドレス割り当てテーブルの一例を示す図である。 図13は、他の第2ウェアレベリング処理前のアドレス割り当てテーブルの一例を示す図である。 図14は、他の第2ウェアレベリング処理による記録領域の状態遷移の一例を示す図である。 図15は、他の第2ウェアレベリング処理後のアドレス割り当てテーブルの一例を示す図である。 図16は、変形例1の情報処理装置の動作を示すフローチャートである。 図17は、変形例1のストレージの動作を示すフローチャートである。 図18は、変形例1の信号の送受信を示す図である。 図19は、変形例2の映像記録システムの構成を示す図である。
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者は、当業者が本開示を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
 本開示において、「映像」は、動画データと音声データとを含むデータ、動画データのみを含むデータ、静止画データを含むデータを意味する。データの「記録」は、データ内容の変更を意味し、データの書き込みだけでなく、データの消去も含む。
[1.映像記録システム]
 以下、図面を参照しながら、本開示の映像記録システム100を説明する。映像記録システム100は、映像出力装置1が取得した映像を、ストレージ5に記憶するシステムである。図1を用いて、映像記録システム100の構成を説明する。図1は、映像記録システム100の構成を示す図である。映像記録システム100は、映像出力装置1と、情報処理装置3と、ストレージ5と、を備える。
 映像出力装置1は、映像を外部に出力する装置である。映像出力装置1は、例えば、所定の映像を撮影するカメラ、当該所定の映像の音声を取得するマイク、などを備える映像撮影装置である。その他、映像出力装置1は、例えば、多数の映像を記録したメディアサーバ、電波などの信号に乗せられた映像を取得する受像装置であってもよい。映像出力装置1により取得される映像は、例えば、非圧縮形式の4K映像などの高画質映像である。なお、図1に示す例では、映像出力装置1は1つしか設けられていないが、これに限られない。映像記録システム100は、複数の映像出力装置1を備えてもよい。
 情報処理装置3は、映像出力装置1とストレージ5に接続されている。情報処理装置3は、映像出力装置1から入力した映像を、ストレージ5に記録する。情報処理装置3は、ストレージ5に記録された映像を、例えば、将来の映像編集、再生などのために使用できる。
 情報処理装置3は、例えば、映像出力装置1から入力した映像を編集し、編集後の映像を外部装置(図示せず)に送出できる。情報処理装置3は、映像の編集として、例えば、映像出力装置1から入力した映像に、ストレージ5に記憶された過去の映像の特定の部分を挿入して、新たな映像を生成できる。
 情報処理装置3は、入力装置7に接続される。入力装置7は、ユーザの入力操作を受け付けて、当該入力操作を情報処理装置に送信する。入力装置7は、例えば、映像編集用のコンソール、キーボード、マウス、タッチパネルなどである。
 情報処理装置3は、表示装置9に接続される。表示装置9は、情報処理装置3で編集した映像、ストレージ5から再生用に読み出した映像を表示する。表示装置9は、例えば、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイなどのディスプレイ装置である。
 なお、情報処理装置3、入力装置7、及び/又は表示装置9は1つの装置として構成されていてもよいし、別個の装置として構成されていてもよい。
 ストレージ5は、映像を記録するための装置である。ストレージ5は、データの記録領域として、半導体の不揮発メモリであるフラッシュメモリを有する。ストレージ5は、ソリッド・ステート・ドライブ(SSD)である。
 図1に示す映像記録システム100の例では、映像出力装置1と、情報処理装置3と、ストレージ5は、別個の装置として構成されている。しかし、これに限られず、情報処理装置3とストレージ5とが1つの筐体内に配置されて1つの装置を構成してもよい。また、映像出力装置1と情報処理装置3とが1つの筐体内に配置されて1つの装置を構成してもよい。さらに、映像出力装置1と、情報処理装置3と、ストレージ5と、が1つの筐体に配置されて、映像記録システム100が1つの装置として構成されてもよい。
[2.情報処理装置]
 図2を用いて、情報処理装置3の構成を説明する。図2は、情報処理装置3の構成を示す図である。情報処理装置3は、CPU31と、RAM33と、記憶装置35と、各種インタフェースと、を有する。
 CPU31は、情報処理装置3における各種処理を実行する。詳細には、CPU31は、映像編集に関する情報処理、映像出力装置1から入力した映像のストレージ5への記録に関する処理、等を実行する。CPU31は、記憶装置35に記憶されたプログラムに示された命令に従って各種処理を実行する。なお、処理の一部は、CPU31に実装されたハードウェアにより実現されてもよい。CPU31は、各種処理を実行するための指令を生成する。
 RAM33は、データ等を一時的に記憶する。CPU31が生成した指令は、RAM33に一時的に記憶される(キューイング)。また、映像出力装置1、ストレージ5との間で送受信されるデータも、RAM33に一時的に記憶される。
 記憶装置35は、ROM、ハードディスク(HDD)、ソリッド・ステート・ドライブ(SSD)などで構成される。記憶装置35は、CPU31で実行するプログラム、情報処理装置3の処理に関する設定、当該処理に用いるパラメータ等を記憶する。
 インタフェースは、情報処理装置3と他の装置とを接続する。詳細には、映像用インタフェース37と、I/Oインタフェース39と、表示インタフェース41と、ストレージ用インタフェース43と、を有する。
 映像用インタフェース37には、映像出力装置1が接続される。映像用インタフェース37は、例えば、シリアルデジタルインタフェース(SDI、Serial Digital Interface)規格のインタフェースなどの映像関連の機器を接続するためのインタフェースである。I/Oインタフェース39には、入力装置7が接続される。表示インタフェース41には、表示装置9が接続される。
 ストレージ用インタフェース43には、ストレージ5が接続される。ストレージ用インタフェース43は、例えば、PCIeインタフェースである。これにより、情報処理装置3とストレージ5とは、ソリッド・ステート・ドライブ専用のプロトコル(NVMe(Non-Volatile Memory Express))により高速にデータ等を送受信できる。
[3.ストレージ]
 図3を用いて、ストレージ5の構成を説明する。図3は、ストレージ5の構成を示す図である。ストレージ5は、アクセスポート51と、フラッシュメモリ53と、コントローラ55と、記憶部57と、を有する。アクセスポート51は、情報処理装置3とストレージ5とを接続する。なお、アクセスポート51が複数設けられ、複数のアクセスポート51のうち1つに情報処理装置3が接続されていてもよい。
 フラッシュメモリ53は、複数のNANDフラッシュメモリにて構成される。フラッシュメモリ53は、映像を記録するための記録領域RAを有する。図4に示すように、記録領域RAは、複数のブロックBLに分割されている。図4は、記録領域RAの構成を示す図である。
 ブロックBLは、消去ブロックとも呼ばれ、データの消去単位となる。ブロックBLは、さらに複数のページPAに分割される。ページPAは、データの書き込み単位である。フラッシュメモリ53において、ブロックBLのデータを消去する場合、このブロックBLに含まれるデータを、他のブロックBLに移動させた後に消去する(ガベージコレクション)。これにより、このブロックBLが、データの書き込みが可能な「空きブロック」となる。
 また、記録領域RAは、利用可能領域UAと、スペア領域SAと、により構成される。利用可能領域UAは、データの記録可能なブロックBLを含む。スペア領域SAは、ウェアレベリング処理、ガベージコレクションなどにより、利用可能領域UAに含まれていたデータを退避させる目的で使用される。スペア領域SAに含まれるブロックBLに対しては、情報処理装置3からのデータの記録が禁止される。
 コントローラ55は、ストレージ5に関する制御を実行する。詳細には、コントローラ55は、フラッシュメモリ53へのデータの記録、フラッシュメモリ53からのデータの読み出しを制御する。コントローラ55は、その他、ウェアレベリングなど、ソリッド・ステート・ドライブにて必要な処理を実行する。コントローラ55は、記憶部57に記憶されたプログラムを実行して、上記処理を実行する。また、コントローラ55は、上記処理を、コントローラ55のハードウェアにより実現してもよい。
 記憶部57は、フラッシュメモリ53とは別個のメモリとして設けられるか、又は、記録領域RAの一部であり、ストレージ5の制御に関する各種パラメータ等を記憶する。詳細には、記憶部57は、記録回数情報CIと、アドレス割り当てテーブルTAと、閾値THと、を記憶する。
 記録回数情報CIは、記録領域RAに含まれる各ブロックBLのデータの記録回数を示す情報である。アドレス割り当てテーブルTAは、図5に示すように、外部の装置により指定されたアドレス(論理アドレス)と、論理アドレスに対応するブロックBLのアドレス(物理アドレス)と、を対応付けたテーブルである。図5は、アドレス割り当てテーブルTAの一例を示す図である。コントローラ55は、外部の装置が指定したアドレスから論理アドレスを決定し、決定した論理アドレスから物理アドレスを決定して、アクセス対象のブロックBLを決定する。
 閾値THは、ウェアレベリング処理を実行する条件を表す。詳細には、閾値THは、データ記録偏在度がこの閾値TH以上となった場合に、ウェアレベリング処理が実行されることを表す。言い換えると、後述する第1ウェアレベリング処理と第2ウェアレベリング処理は、共通のウェアレベリング処理のアルゴリズムを使用しており、記憶部57の閾値THを変更するだけで、複数のウェアレベリング処理を使い分けて実行できるようになっている。
 データ記録偏在度は、データ記録の頻度が高いブロックBLにどの程度データ記録が集中しているかを示す。データ記録偏在度は、複数のブロックBLのうち映像が記録される可能性があるブロックBLの記録回数の最大値と、複数のブロックBL全体の記録回数のうち最小値と、の差分として表される。映像が記録される可能性があるブロックBLは、利用可能領域UAに含まれるブロックBLである。
 閾値THのデフォルト値は、第1閾値である。すなわち、データ記録偏在度が第1閾値以上となった場合に、コントローラ55は、ウェアレベリング処理をストレージ5の標準機能として実行する。このウェアレベリング処理を、第1ウェアレベリング処理と呼ぶ。
[4.映像記録システムの動作]
[4-1.情報処理装置の動作]
 図6~図8を用いて、映像記録システムにおける映像の読み出し/記録動作を説明する。図6は、情報処理装置3の動作を示すフローチャートである。図7は、ストレージ5の動作を示すフローチャートである。図8は、動作時における信号の送受信を示す図である。まず、図6及び図8を用いて、情報処理装置3における動作を説明する。
 映像記録システム100が起動されると、映像記録システム100の初期化がなされる。詳細には、ストレージ5においては、コントローラ55が、閾値THとして第1閾値を記憶する。これにより、ストレージ5において、第1ウェアレベリング処理が標準機能として実行可能となる。また、必要に応じて、ストレージ5において他の初期化(例えば、バッファメモリのクリアなど)が実行され、情報処理装置3において所定の初期化が実行されてもよい。
 映像記録システム100の初期化後、図6のステップS11において、ユーザが、入力装置7を用いて、映像記録システム100の動作モードの設定を行う。動作モードは、映像記録システム100で用いる映像の品質を表す。動作モードは、例えば、映像記録システム100で用いる映像の1フレームあたりの画素数、単位時間あたりのフレーム数(例えば、fps(frame per second))、映像の記録/読み出しにおける速度低下の許容範囲、などの情報を含む。
 ユーザが、入力装置7を用いて操作を行った場合(ステップS12で「Yes」)、CPU31は、ユーザの操作が読み出し操作であったか、それとも、記録動作であったかを判断する(ステップS13)。なお、入力装置7による操作がない場合(ステップS12で「No」)、CPU31は、入力装置7からの操作を受け付けるために待機する。
 ユーザの操作が読み出し操作であった場合(ステップS13で「読み出し」)、CPU31が読み出し指令を生成することで、ストレージ5からの映像の読み出しが実行される(ステップS14、ステップS101~S102)。読み出し指令には、読み出し対象の映像にアクセスするための読み出しアドレスが含まれる。ストレージ5からの映像の読み出し動作は、後ほど詳しく説明する。
 一方、ユーザの操作が記録操作であった場合(ステップS13で「記録」)、CPU31は、第2閾値を算出しRAM33に記憶する(ステップS15)。第2閾値は、記録対象の映像の記録中にデータ記録偏在度が第1閾値に達しないようにするためのデータ記録偏在度である。すなわち、第2閾値は、記録対象の映像の記録中に第1ウェアレベリング処理を実行させないようにするためのデータ記録偏在度である。
 詳細には、CPU31は、記録対象の映像を記録領域RAへ記録する記録速度と、当該映像を記録領域へ記録するために必要な所要時間と、に基づいて第2閾値を算出する。記録速度は、非圧縮記録の場合、動作モードに含まれる、記録対象の映像の1フレームあたりの画素数とその画素あたりのビット深度、クロマサンプリングと、単位時間あたりのフレーム数との積として算出される。また、圧縮記録の場合、例えば、単位時間あたりのデータ量を10分の1などに縮小する。すなわち、記録速度は、記録対象の映像の単位時間あたりのデータ量に対応し、例えば、ビットレート(bps、bit per second)である。一方、所要時間は、記録対象の映像の時間長さに対応する。
 より詳細には、CPU31は、記録速度と所要時間との積から記録対象の映像の合計データ量を算出し、当該合計データ量に基づいて第2閾値を算出する。さらに詳細には、CPU31は、合計データ量が大きいほど、より小さい第2閾値を算出できる。その理由は、合計データ量が大きいほど、記録回数が最大であるブロックBLに映像が記録される確率が高くなるからである。つまり、合計データ量が大きいほど、記録回数が最大であるブロックBLに映像が記録され、第1ウェアレベリング処理が実行される確率が高くなるからである。
 第2閾値を算出後、第2閾値が、RAM33からストレージ5に送信される(ステップS16、ステップS103)。これにより、ストレージ5側で、データ記録偏在度を第2閾値以下とするウェアレベリング処理(第2ウェアレベリング処理と呼ぶ)が実行される。第2ウェアレベリング処理における詳細な動作は、後ほど詳しく説明する。
 第2閾値の送信後、情報処理装置3のCPU31は、第2ウェアレベリング処理の完了通知がストレージ5から通知されたか否かを判断する(ステップS17)。詳細には、CPU31は、RAM33に完了通知が記憶されているか否かを判断する。完了通知がされていない場合(ステップS17で「No」)、CPU31は、完了通知が通知されるまで待機する。
 一方、完了通知がされている場合(ステップS17で「Yes」、ステップS104)、CPU31が、記録指令を生成し、映像出力装置1から記録対象の映像を取得し、記録指令と記録対象の映像をRAM33に記憶することで、ストレージ5への映像の記録が実行される(ステップS18、ステップS105~S107)。読み出し指令には、記録対象の映像を記録する記録アドレスが含まれる。ストレージ5への映像の記録動作は、後ほど詳しく説明する。
 映像の読み出し/記録を実行後、CPU31は、入力装置7などから情報処理装置3の停止操作がされたか否かを判断する(ステップS19)。停止操作がなされない限り(ステップS19で「No」である限り)、上記のステップS11~S18が繰り返し実行される。一方、停止操作がなされた場合(ステップS19で「Yes」)、情報処理装置3は動作を停止する。
[4-2.ストレージの動作]
 次に、図7及び図8を用いて、ストレージ5の動作を説明する。最初に、ステップS31において、コントローラ55は、現在のデータ記録偏在度が、記憶部57に記憶された閾値TH以上であるかを判断する。具体的には、コントローラ55は、記録回数情報CIを参照し、複数のブロックBLのデータ記録回数の最大値と最小値との差分をデータ記録偏在度として算出し、これと閾値THとを比較する。
 上記のとおり、映像記録システム100の初期化動作において、閾値THは第1閾値とされている。よって、コントローラ55は、現在のデータ記録偏在度が第1閾値以上であるか否かを判断する。
 現在のデータ記録偏在度が第1閾値以上である場合(ステップS31で「Yes」)、コントローラ55は、ストレージ5の標準機能として、第1ウェアレベリング処理を実行する(ステップS32)。第1ウェアレベリング処理は、データ記録偏在度が第1閾値よりも小さくなるまで繰り返し実行される。
 一方、現在のデータ記録偏在度が第1閾値よりも小さい場合(ステップS31で「No」)、ステップS33に進む。ステップS33において、コントローラ55は、第2閾値を取得可能か否か判断する。具体的には、コントローラ55は、情報処理装置3のRAM33に第2閾値が記憶されているか否かを判断する。RAM33に第2閾値が記憶されていない場合(ステップS33で「No」)、ストレージ5の動作はステップS39に進む。すなわち、データの読み出し/記録指令があれば、それを実行する。
 一方、RAM33に第2閾値が記憶されている場合(ステップS33で「Yes」)、ステップS34において、コントローラ55は、第2閾値をRAM33から取得し(ステップS103)、記憶部57の閾値THを第1閾値から第2閾値に書き換える。
 その後、ステップS35で、現在のデータ記録偏在度が第2閾値よりも大きいか否かを判断する。現在のデータ記録偏在度が第2閾値よりも大きい場合(ステップS35で「Yes」)、コントローラ55は、第2ウェアレベリング処理を実行する(ステップS36)。第2ウェアレベリング処理は、データ記録偏在度が第2閾値以下となるまで繰り返し実行される。
 第2ウェアレベリング処理を実行して現在のデータ記録偏在度が第2閾値以下となったか、あるいは、第2ウェアレベリング処理を実行しなくともデータ記録偏在度が第2閾値以下であった場合(ステップS35で「No」)、コントローラ55は、記憶部57の閾値THを第2閾値から第1閾値に書き換える(ステップS37)。その後、コントローラ55は、第2ウェアレベリング処理の完了通知を生成し、情報処理装置3に送信する(ステップS38、ステップS104)。送信された完了通知は、RAM33に記憶される。
 このようにして、ストレージ5では、データ記録偏在度が第2閾値以下となった状態で、標準機能としての第1ウェアレベリング処理が実行可能となる。この結果、少なくとも映像の記録中においては、第1ウェアレベリング処理が実行されなくなる。映像の記録中にウェアレベリング処理が実行されないので、記録領域RAへの映像の記録が途切れなく実行されるようになる。
 情報処理装置3にて映像の読み出し又は記録の要求があった場合(ステップS39で「Yes」)、ストレージ5のコントローラ55は、映像の読み出し/記録を実行する(ステップS40)。
 映像の読み出しは、以下のようにして実行される。まず、ストレージ5のコントローラ55が、情報処理装置3のRAM33に記憶された読み出し指令を取得する(ステップS101)。次に、コントローラ55は、読み出し指令に含まれる読み出しアドレスから論理アドレスを決定する。コントローラ55は、アドレス割り当てテーブルTAを参照して、論理アドレスから物理アドレスを決定する。コントローラ55は、物理アドレスに基づいて決定したページPAから読み出し対象の映像を取得し、RAM33に送信する(ステップS102)。
 映像の記録は、以下のようにして実行される。まず、ストレージ5のコントローラ55が、情報処理装置3のRAM33に記憶された記録指令と記録対象の映像とを取得する(ステップS105~S106)。次に、コントローラ55は、記録指令に含まれる記録アドレスから論理アドレスを決定する。コントローラ55は、アドレス割り当てテーブルTAを参照して、論理アドレスから物理アドレスを決定する。コントローラ55は、物理アドレスに基づいて決定したページPAに、記録対象の映像を記録する。映像の記録に成功した場合、コントローラ55は、映像の記録の完了通知を生成し、情報処理装置3に送信する(ステップS107)。送信された完了通知は、RAM33に記憶される。これにより、情報処理装置3は、記録対象の映像が指定した記録領域RAに記録されたことを認識できる。
[4-3.第2ウェアレベリング処理]
 以下、図9~図12を用いて、第2ウェアレベリング処理を説明する。図9は、第2ウェアレベリング処理前の記録領域RAの状態の一例を示す図である。図10は、第2ウェアレベリング処理前のアドレス割り当てテーブルTAの一例を示す図である。図11は、第2ウェアレベリング処理による記録領域RAの状態遷移の一例を示す図である。図12は、第2ウェアレベリング処理後のアドレス割り当てテーブルTAの一例を示す図である。図9、図11では、分かりやすくするため、記録領域RAのうちスペア領域SAをハッチングにて示している。また、各ブロックBLの右側又は左側には、「物理アドレス(記録回数)」の形式で、当該ブロックBLの物理アドレスと記録回数とを示している。また、図10、図12では、アドレス割り当てテーブルTAのうち、利用可能領域UAにおけるアドレス割り当てのみを示す。
 また、以下の説明では、第1閾値を100とし、第2閾値を98とする。これにより、例えば、記録回数が最大値のブロックBLにデータを2回記録されるまでは、第1ウェアレベリング処理は実行されない。
 図9に示すように、第2ウェアレベリング処理前において、利用可能領域UAに含まれるブロックBLの記録回数のうち最大値は、物理アドレス「0001」のブロックBLが有するN+99である。一方、複数のブロックBL全体の記録回数のうち最小値は、物理アドレス「00AB」のブロックBLが有するNである。すなわち、データ記録偏在度は99となっている。
 第2ウェアレベリング処理は、利用可能領域UA内の記録回数が最小であるブロックBLと、スペア領域SA内の記録回数が最小であるブロックBLと、を「交換」することで実現できる。詳細には、以下の処理により実現できる。コントローラ55は、利用可能領域UA内の物理アドレス「00AB」のブロックBL内のデータを、スペア領域SA内の記録回数が最小(N+4)であり物理アドレス「00F2」であるブロックBLにコピーする(図11の(A))。
 既に記録されているデータを消去して新たなデータを記録する際、ブロックBLの記録回数は、既存のデータを消去したタイミングで1増加する。よって、利用可能領域UAに移動した物理アドレス「00F2」のブロックBLの記録回数は、このコピーによっても増加せずN+4のまま維持される。
 次に、コントローラ55は、物理アドレス「00F2」のブロックBLを利用可能領域UAのブロックとし、物理アドレス「00AB」のブロックBLをスペア領域SAのブロックとする(図11の(B)、(C))。また、コントローラ55は、アドレス割り当てテーブルTAにおいて、論理アドレス「0124」に割り当てられていた物理アドレスを、「00AB」から「00F2」に変更する(図12)。これにより、情報処理装置3から論理アドレス「0124」が指定された場合には、物理アドレス「00F2」のブロックBLにアクセスされる。
 第2ウェアレベリング処理後に論理アドレスと物理アドレスが上記のように対応付けられても、情報処理装置3は、第2ウェアレベリング処理前後で適切なデータアクセスが可能である。その理由は、物理アドレス「00F2」のブロックBLには、第2ウェアレベリング処理前に論理アドレス「0124」に割り当てられていたブロックBL(物理アドレス:00AB)のデータが記録されているからである。
 その後、コントローラ55は、物理アドレス「00AB」のブロックBLのデータを消去する。この消去により、物理アドレス「00AB」のブロックBLの記録回数が1増加してN+1となる。これにより、利用可能領域UAに含まれるブロックBLの記録回数の最大値はN+99のままであるが、複数のブロックBL全体の記録回数の最小値はN+1となる。すなわち、データ記録偏在度が98となる。この場合、利用可能領域UAに含まれる記録回数が最大値のブロックBL(物理アドレス:0001)に2回のデータ記録が生じない限り、第1ウェアレベリング処理は実行されない。つまり、1つの映像の記録が実行されても、第1ウェアレベリング処理は実行されない。
 その他、第2ウェアレベリング処理は、ガベージコレクション(GC)によっても実現できる。以下、図13~図15を用いて、ガベージコレクションを用いた第2ウェアレベリング処理を説明する。図13は、他の第2ウェアレベリング処理前のアドレス割り当てテーブルTAの一例を示す図である。図14は、他の第2ウェアレベリング処理による記録領域RAの状態遷移の一例を示す図である。図15は、他の第2ウェアレベリング処理後のアドレス割り当てテーブルTAの一例を示す図である。
 以下の説明では、アドレス割り当てテーブルTAが、図13に示すようになっているとする。すなわち、論理アドレス「0001」には、物理アドレス「0001」と「00AB」とが割り当てられているとする。
 まず、ストレージ5のコントローラ55は、利用可能領域UA内の記録回数が最大のブロックBL(物理アドレス:0001)のデータと最小のブロックBL(物理アドレス:00AB)のデータとを、スペア領域SA内の記録回数が最小のブロックBL(物理アドレス:00F2)にコピーする(ガベージコレクション)(図9、図14の(A))。
 次に、コントローラ55は、データがコピーされたブロックBL(物理アドレス:00F2)を利用可能領域UAのブロックとする。また、利用可能領域UA内の記録回数が最大のブロックBL(物理アドレス:0001)と最小のブロックBL(物理アドレス:00AB)とをスペア領域SAのブロックとする(図14の(B)、(C))。また、コントローラ55は、アドレス割り当てテーブルTAにおいて、論理アドレス「0001」に割り当てられていた物理アドレスを「00F2」に変更する(図15)。
 上記のガベージコレクションを用いた第2ウェアレベリング処理では、利用可能領域UAに含まれるブロックBLの記録回数の最大値はN+97であり、複数のブロックBL全体の記録回数の最小値はNのままである。すなわち、データ記録偏在度が97となる。この場合、利用可能領域UAに含まれる記録回数が最大値のブロックBL(物理アドレス:0002)に3回のデータ記録が生じない限り、第1ウェアレベリング処理は実行されない。つまり、1つの映像の記録が実行されても、第1ウェアレベリング処理は実行されない。
 なお、複数のブロックBL全体の記録回数の最大値(N+99)を有するブロックBL(物理アドレス:0001)は、スペア領域SAに存在する。そのため、このブロックBLにはデータが記録されることがなく、このブロックBLの記録回数はN+99を維持する。
 また、上記のブロックBLの交換による第2ウェアレベリング処理と、ガベージコレクションを用いた第2ウェアレベリング処理と、は組み合わせて実行されてもよい。
[5.変形例1]
 以下に説明する変形例1は、第2ウェアレベリング処理を、フラッシュメモリ53への映像の記録が実行されない空き時間を指定して実行することを想定している。この場合の映像記録システム100の動作を、図16~図18を用いて説明する。図16は、変形例1の情報処理装置3の動作を示すフローチャートである。図17は、変形例1のストレージ5の動作を示すフローチャートである。図18は、変形例1の信号の送受信を示す図である。
 情報処理装置3は、第2閾値を算出した場合(ステップS55)に、第2ウェアレベリング処理を実行する指定時間を決定する(ステップS56)。例えば、CPU31は、ユーザの操作により映像の記録が予約された時刻を参照し、当該予約がされていない時間帯を指定時間として決定する。CPU31は、決定した指定時間を、RAM33に記憶する。その後、RAM33に記憶された第2閾値と指定時間が、ストレージ5に送信される(ステップS57、ステップS203)。
 ストレージ5では、コントローラ55が、第2閾値と指定時間を取得後(ステップS63で「Yes」、ステップS203)、時刻が指定時刻となったタイミングで(ステップS64で「Yes」)、第2ウェアレベリング処理を実行する(ステップS65~S69
)。
 なお、図16のステップS51~S55、ステップS58~S60における処理内容は、それぞれ、図6のステップS11~S15、ステップS17~S19の処理内容と同じであるので、詳細な説明を省略する。図17のステップS61~S63、ステップS65~S71における処理内容は、それぞれ、図7のステップS31~S33、ステップS34~S60の処理内容と同じであるので、詳細な説明を省略する。図18のステップS201~S202、ステップS204~S207における処理内容は、それぞれ、図8のステップS101~S102、ステップS104~S107の処理内容と同じであるので、詳細な説明を省略する。
 このように、フラッシュメモリ53への映像の記録が実行されない空き時間を利用して第2ウェアレベリング処理を実行することで、第2ウェアレベリング処理の実行のために、ストレージ5における他の動作が停止するか又は遅くなることを抑制できる。
[6.変形例2]
 以下に説明する変形例2は、図19に示すように、映像記録システム100aにおいて、複数のストレージ5が情報処理装置3に接続されていることを想定している。図19は、変形例2の映像記録システム100aの構成を示す図である。なお、図19に示す例では、n台のストレージ5が情報処理装置3に接続されている。
映像記録システム100aの複数のストレージ5は、ストライピング構成とされている。すなわち、映像記録システム100aにおいて、複数のストレージ5が、複数のストレージ5の合計容量を有する1つのストレージとして扱われる。これにより、映像記録システム100aにおいて、記録できる映像量を増加できる。
 また、映像記録システム100aにおいて、各ストレージ5は、他のストレージ5から独立して情報処理装置3との間で指令及び映像の送受信が可能となっている。これにより、各ストレージ5は、他のストレージ5における動作に制限されることなく、情報処理装置3から受信した指令に従って各種動作を実行できる。
 例えば、情報処理装置3が、各ストレージ5に異なる時間帯に第2閾値を送信することで、各ストレージ5に対して、他のストレージ5とは異なる時間帯に第2ウェアレベリング処理を実行させることができる。これにより、1つのストレージ5において第2ウェアレベリング処理が実行されている間に、他のストレージ5において映像の読み出し/記録などの他の動作を実行できる。この結果、複数のストレージ5の運用効率が向上するので、映像記録システム100aがより高速になる。
 また、ストレージ5において第2ウェアレベリング処理が実行されている場合、当該ストレージ5に記録する予定の映像は、第2ウェアレベリング処理が終了するまで、情報処理装置3のRAM33に記録される。上記のように、映像記録システム100aにおいては、各ストレージ5が異なる時間帯に第2ウェアレベリング処理を実行するので、RAM33に蓄積される映像のデータ量は、少なくなる。
 比較例として、複数のストレージ5に対して同時に1つの指令しか送信できない場合に、例えば、第2閾値を複数のストレージ5に送信すると、複数のストレージ5において同時に第2ウェアレベリング処理が実行された。また、第2ウェアレベリング処理が最後に完了したストレージ5から完了通知がされるまで、第2ウェアレベリング処理が完了した他のストレージ5は、自身に指令された動作を実行できなかった。
 また、複数のストレージ5が同時に第2ウェアレベリング処理を実行すると、第2ウェアレベリング処理の実行中にRAM33に蓄積される映像のデータ量は、複数のストレージ5分のデータ量となり、非常に多くなる。そのため、情報処理装置3における動作に影響する可能性がある。
[7.本開示の特徴]
(1)本開示のストレージは、映像を記録するストレージであって、フラッシュメモリと、コントローラと、を備える。フラッシュメモリは、映像を記録する記録領域を有する。コントローラは、映像のフラッシュメモリへの記録を制御する。
 記録領域は、データの消去単位である複数のブロックに分割されている。コントローラは、複数のブロックのうち映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、データ記録偏在度を第1閾値よりも小さくする第1ウェアレベリング処理を、ストレージの標準機能として実行する。また、コントローラは、映像の記録中にデータ記録偏在度が第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得する。コントローラは、データ記録偏在度が第2閾値よりも大きい場合、データ記録偏在度を第2閾値以下とする第2ウェアレベリング処理を実行する。
 本開示のストレージでは、第2ウェアレベリング処理を実行し、データ記録偏在度を第2閾値以下とすることで、ストレージの標準機能として実行される第1ウェアレベリングが映像の記録中に実行されることを抑制できる。この結果、フラッシュメモリの記録領域に映像を途切れなく記録できる。
 (2)上記(1)のストレージにおいて、第2閾値は、映像を記録領域へ記録する記録速度と、映像を記録領域へ記録するために必要な所要時間と、に基づいて算出されてもよい。これにより、記録対象の映像の特性に応じた適切な第2閾値を算出できる。
 (3)上記(1)~(2)のストレージにおいて、コントローラは、フラッシュメモリへの映像の記録が実行されない空き時間を利用して、第2ウェアレベリング処理を実行してもよい。これにより、第2ウェアレベリング処理の実行のために、ストレージにおける他の動作が停止するか又は遅くなることを抑制できる。
 (4)上記(1)~(3)のストレージは、記憶部をさらに備えてもよい。この場合、コントローラは、データ記録偏在度が記憶部に記憶された閾値以上である場合にウェアレベリング処理を実行してもよい。また、コントローラは、取得した第2閾値を記憶部に記憶することで第2ウェアレベリング処理を実行し、第2ウェアレベリング処理を実行後に、記憶部の第2閾値を第1閾値に書き換えてもよい。これにより、データ記録偏在度が記憶部に記憶された閾値以上のときにウェアレベリング処理を実行するとの共通のアルゴリズムを用いて、記憶部に記憶する閾値を変更するだけで、第1ウェアレベリング処理と第2ウェアレベリング処理とを個別に実行できる。
 (5)上記(1)~(4)のストレージにおいて、第2閾値は、記録領域に記録する映像を送信する情報処理装置から送信されてもよい。これにより、ストレージ側で第2閾値を算出する必要がなくなる。
 (6)本開示の映像記録システムは、ストレージと、情報処理装置と、を備える。ストレージは、映像を記録する記録領域を有するフラッシュメモリと、前記映像の前記フラッシュメモリへの記録を制御するコントローラと、を有する。情報処理装置は、ストレージに接続され、記録領域に記録する映像をストレージに送信する。
 この映像記録システムにおいて、記録領域は、データの消去単位である複数のブロックに分割されている。また、コントローラは、複数のブロックのうち映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、データ記録偏在度を第1閾値よりも小さくする第1ウェアレベリング処理を、ストレージの標準機能として実行する。さらに、情報処理装置は、映像の記録中にデータ記録偏在度が第1閾値に達しないようにするデータ記録偏在度である第2閾値を算出する。コントローラは、第2閾値を情報処理装置から取得し、データ記録偏在度が第2閾値以上である場合、データ記録偏在度を第2閾値以下とする第2ウェアレベリング処理を実行する。
 本開示の映像記録システムでは、ストレージにおいて、第2ウェアレベリング処理を実行し、データ記録偏在度を第2閾値以下とすることで、ストレージの標準機能として実行される第1ウェアレベリングが映像の記録中に実行されることを抑制できる。この結果、フラッシュメモリの記録領域に映像を途切れなく記録できる。また、情報処理装置が第2閾値を算出することで、ストレージのコントローラの処理負担を軽減できる。
 (7)上記(6)の映像記録システムにおいて、情報処理装置は、映像を記録領域へ記録する記録速度と、映像を記録領域へ記録するために必要な所要時間と、に基づいて第2閾値を算出してもよい。これにより、記録対象の映像の特性に応じた適切な第2閾値を算出できる。
 (8)上記(6)~(7)映像記録システムには、ストレージが複数設けられてもよい。この場合、複数のストレージは、ストライピング構成とされていてもよい。また、各ストレージは、他のストレージから独立して情報処理装置との間で指令及び映像の送受信が可能となっていてもよい。これにより、映像記録システムにおいて記録できる映像量を増加できる。また、1つのストレージにおいて処理が実行されている間に、他のストレージにおいて他の処理を実行できる。この結果、複数のストレージの運用効率が向上するので、映像記録システムがより高速になる。
 (9)上記(7)の映像記録システムにおいて、情報処理装置は、各ストレージに異なる時間帯に第2閾値を送信することで、各ストレージに対して、他のストレージとは異なる時間帯に第2ウェアレベリング処理を実行させてもよい。これにより、1つのストレージにおいて第2ウェアレベリング処理が実行されている間に、他のストレージにおいて他の動作を実行できる。この結果、複数のストレージの運用効率が向上するので、映像記録システムがより高速になる。
 (10)本開示のストレージの制御方法は、映像を記録する記録領域を有するフラッシュメモリを有するストレージの制御方法である。このストレージでは、記録領域に含まれる複数のブロックのうち映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、データ記録偏在度を第1閾値よりも小さくする第1ウェアレベリング処理が実行される。
 上記の構成を有するストレージの制御方法は、映像の記録中にデータ記録偏在度が第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得するステップと、データ記録偏在度が第2閾値よりも大きい場合、データ記録偏在度を第2閾値以下とする第2ウェアレベリング処理を実行するステップと、を備える。
 本開示の制御方法では、第2ウェアレベリング処理を実行し、データ記録偏在度を第2閾値以下とすることで、ストレージの標準機能として実行される第1ウェアレベリングが映像の記録中に実行されることを抑制できる。この結果、フラッシュメモリの記録領域に映像を途切れなく記録できる。
 本開示は、映像を記録するためのストレージ、ストレージに映像を記録するための映像記録システム、映像を記録するためのストレージの制御方法に適用可能である。
100、100a :映像記録システム
1    :映像出力装置
3    :情報処理装置
31   :CPU
33   :RAM
35   :記憶装置
37   :映像用インタフェース
39   :I/Oインタフェース
41   :表示インタフェース
43   :ストレージ用インタフェース
5    :ストレージ
51   :アクセスポート
53   :フラッシュメモリ
RA   :記録領域
SA   :スペア領域
UA   :利用可能領域
55   :コントローラ
57   :記憶部
CI   :記録回数情報
TA   :アドレス割り当てテーブル
TH   :閾値
7    :入力装置
9    :表示装置
BL   :ブロック

Claims (10)

  1.  映像を記録するストレージであって、
     映像を記録する記録領域を有するフラッシュメモリと、
     前記映像の前記フラッシュメモリへの記録を制御するコントローラと、
     を備え、
     前記記録領域は、データの消去単位である複数のブロックに分割されており、
     前記コントローラは、複数のブロックのうち前記映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、前記データ記録偏在度を前記第1閾値よりも小さくする第1ウェアレベリング処理を、前記ストレージの標準機能として実行し、
     前記コントローラは、
     前記映像の記録中に前記データ記録偏在度が前記第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得し、
     前記データ記録偏在度が前記第2閾値よりも大きい場合、前記データ記録偏在度を前記第2閾値以下とする第2ウェアレベリング処理を実行する、
     ストレージ。
  2.  前記第2閾値は、前記映像を前記記録領域へ記録する記録速度と、前記映像を前記記録領域へ記録するために必要な所要時間と、に基づいて算出される、請求項1に記載のストレージ。
  3.  前記コントローラは、前記フラッシュメモリへの前記映像の記録が実行されない空き時間を利用して、前記第2ウェアレベリング処理を実行する、請求項1に記載のストレージ。
  4.  記憶部をさらに備え、
     前記コントローラは、前記データ記録偏在度が前記記憶部に記憶された閾値以上である場合にウェアレベリング処理を実行し、
     前記コントローラは、取得した前記第2閾値を前記記憶部に記憶することで前記第2ウェアレベリング処理を実行し、前記第2ウェアレベリング処理を実行後に、前記記憶部の前記第2閾値を前記第1閾値に書き換える、
     請求項1に記載のストレージ。
  5.  前記第2閾値は、前記記録領域に記録する映像を送信する情報処理装置から送信される、請求項1に記載のストレージ。
  6.  映像を記録する記録領域を有するフラッシュメモリと、前記映像の前記フラッシュメモリへの記録を制御するコントローラと、を有するストレージと、
     前記ストレージに接続され、前記記録領域に記録する映像を前記ストレージに送信する情報処理装置と、
     を備え、
     前記記録領域は、データの消去単位である複数のブロックに分割されており、
     前記コントローラは、複数のブロックのうち前記映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、前記データ記録偏在度を前記第1閾値よりも小さくする第1ウェアレベリング処理を、前記ストレージの標準機能として実行し、
     前記情報処理装置は、前記映像の記録中に前記データ記録偏在度が前記第1閾値に達しないようにするデータ記録偏在度である第2閾値を算出し、
     前記コントローラは、
     前記第2閾値を前記情報処理装置から取得し、
     前記データ記録偏在度が前記第2閾値以上である場合、前記データ記録偏在度を前記第2閾値以下とする第2ウェアレベリング処理を実行する、
     映像記録システム。
  7.  前記情報処理装置は、前記映像を前記記録領域へ記録する記録速度と、前記映像を前記記録領域へ記録するために必要な所要時間と、に基づいて前記第2閾値を算出する、請求項6に記載の映像記録システム。
  8.  前記ストレージは複数設けられ、
     複数のストレージは、ストライピング構成とされており、
     各ストレージは、他のストレージから独立して前記情報処理装置との間で指令及び前記映像の送受信が可能となっている、請求項6に記載の映像記録システム。
  9.  前記情報処理装置は、各ストレージに異なる時間帯に前記第2閾値を送信することで、各ストレージに対して、他のストレージとは異なる時間帯に前記第2ウェアレベリング処理を実行させる、請求項8に記載の映像記録システム。
  10.  映像を記録する記録領域を有するフラッシュメモリを有し、
     前記記録領域に含まれる複数のブロックのうち前記映像が記録される可能性があるブロックのデータ記録回数の最大値と、複数のブロック全体の記録回数のうち最小値と、の差分として表されるデータ記録偏在度が第1閾値以上となった場合、前記データ記録偏在度を前記第1閾値よりも小さくする第1ウェアレベリング処理が実行されるストレージの制御方法であって、
     前記映像の記録中に前記データ記録偏在度が前記第1閾値に達しないようにするデータ記録偏在度である第2閾値を取得するステップと、
     前記データ記録偏在度が前記第2閾値よりも大きい場合、前記データ記録偏在度を前記第2閾値以下とする第2ウェアレベリング処理を実行するステップと、
     を備える、制御方法。
PCT/JP2023/016483 2022-05-11 2023-04-26 ストレージ、映像記録システム、及び、ストレージの制御方法 WO2023218967A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022078012 2022-05-11
JP2022-078012 2022-05-11

Publications (1)

Publication Number Publication Date
WO2023218967A1 true WO2023218967A1 (ja) 2023-11-16

Family

ID=88730375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/016483 WO2023218967A1 (ja) 2022-05-11 2023-04-26 ストレージ、映像記録システム、及び、ストレージの制御方法

Country Status (1)

Country Link
WO (1) WO2023218967A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222986A (ja) * 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
JPH1040176A (ja) * 1996-07-25 1998-02-13 Canon Inc 電子機器におけるメモリ管理システム,メモリ管理方法およびコンピュータで読み出し可能なメモリ管理プログラムを格納した記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222986A (ja) * 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
JPH1040176A (ja) * 1996-07-25 1998-02-13 Canon Inc 電子機器におけるメモリ管理システム,メモリ管理方法およびコンピュータで読み出し可能なメモリ管理プログラムを格納した記憶媒体

Similar Documents

Publication Publication Date Title
US8554987B2 (en) Nonvolatile memory system for improving stream data writing
US11385831B2 (en) Memory controller and storage device including the same
US7860896B2 (en) Method for automatically managing disk fragmentation
WO2005096220A1 (ja) メモリカード及びメモリカードシステム
US6272085B1 (en) Data recording/reproducing method and device
US7426333B2 (en) Recording apparatus and method, recording medium and program
US20210141559A1 (en) Memory controller and storage device including the same
US8112583B2 (en) Data recording for a hard drive in response to commands
US7613892B2 (en) Recording device, recording method, recording medium, and program
JP4241839B2 (ja) データ及びファイルシステム情報の記録装置及び記録方法
US11966618B2 (en) Purposeful super device imbalance for ZNS SSD efficiency
US8625968B2 (en) Recording apparatus and control method thereof
WO2023218967A1 (ja) ストレージ、映像記録システム、及び、ストレージの制御方法
US20210096985A1 (en) Memory controller and storage device including the same
JP2010237907A (ja) ストレージ装置および記録方法
JP5523128B2 (ja) 記録装置及びその制御方法
JP5473623B2 (ja) データ記録装置及びその制御方法
JP5178355B2 (ja) 記録装置
US20230075329A1 (en) Super Block Allocation Across Super Device In ZNS SSD
JP5455689B2 (ja) 記録装置及び方法
US8565584B2 (en) Editing apparatus and editing method
JP3631234B2 (ja) ファイルデータ記憶管理方法、ファイルデータ記憶装置、ファイルデータを記憶するための処理を実行するプログラムおよび記憶媒体
WO2023233952A1 (ja) データ記録システム、ストレージ、及び、ストレージの制御方法
EP2256648A1 (en) Method for storing data files, method for reading data content, and data store
TWI793932B (zh) 固態儲存裝置及其相關的寫入控制方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23803446

Country of ref document: EP

Kind code of ref document: A1