JP6112461B2 - 記録装置、アクセス装置、記録システム、及び記録方法 - Google Patents

記録装置、アクセス装置、記録システム、及び記録方法 Download PDF

Info

Publication number
JP6112461B2
JP6112461B2 JP2014529247A JP2014529247A JP6112461B2 JP 6112461 B2 JP6112461 B2 JP 6112461B2 JP 2014529247 A JP2014529247 A JP 2014529247A JP 2014529247 A JP2014529247 A JP 2014529247A JP 6112461 B2 JP6112461 B2 JP 6112461B2
Authority
JP
Japan
Prior art keywords
recording
data
access device
interruption
block
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
JP2014529247A
Other languages
English (en)
Other versions
JPWO2014024350A1 (ja
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2014024350A1 publication Critical patent/JPWO2014024350A1/ja
Application granted granted Critical
Publication of JP6112461B2 publication Critical patent/JP6112461B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本開示は、データを不揮発性メモリに格納する記録装置、記録装置にアクセスするアクセス装置、及び、記録装置およびアクセス装置を備えた記録システムに関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードが知られている。半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。例えば、半導体メモリは、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用される。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子である。NAND型フラッシュメモリは、従来のハードディスクと同様に、複数回書き換え可能な記録装置を構成することが可能である。
図2は、NAND型フラッシュメモリの構成を示した図である。NAND型フラッシュメモリは複数の物理ブロックを含む。物理ブロックはNAND型フラッシュメモリに記録されたデータを消去する際の単位である。NAND型フラッシュメモリは、データを直接上書きすることができず、データを書き込むときに必ず物理ブロック単位で記録済みのデータを一旦消去しなければならないという特徴を持つ。
この物理ブロックは複数のページを含む。ページは、NAND型フラッシュメモリに対してデータの読み出し、および書き込みを行う際の単位である。ページはデータ部と冗長部を含む。データ部は論理アドレス空間としてアクセス装置からアクセスすることが可能な領域であり、実際にファイルデータ等が格納される領域である。
冗長部は、NAND型フラッシュメモリを有する記録装置の管理情報やECC等が格納される領域であり、アクセス装置からはアクセスできない領域である。例えば、データ部の大きさは4KB、冗長部の大きさは128バイト程度となる。また、データ部にのみ着目した場合の物理ブロックの大きさは、例えば4MB程度となる。よって、この大きさの物理ブロック8192個から構成されるNAND型フラッシュメモリの容量は32GBとなる。
NAND型フラッシュメモリには前述の特徴があるので、記録装置が物理ブロックサイズより小さな単位でNAND型フラッシュメモリにデータ書き込みを実施する場合、同一ブロック内に存在する有効なデータを他の物理ブロックにコピーする巻き込み退避処理が必要となる。そのため、NAND型フラッシュメモリは、消去単位より小さな単位でデータを書き込む場合、記録速度が低下することになる。
ムービーカメラやDSCによる動画撮影等のリアルタイム記録を行う際、記録速度が低下すると、ストリームデータを記録装置に記録する速度がストリームデータを生成する速度に間に合わず、リアルタイム記録が停止することがある。ムービーカメラやDSCによる動画撮影では、運動会や結婚式等、二度と再現することができない、ユーザの大切なシーンを記録しているため、リアルタイム記録の停止は致命的な問題となる。
従来、このような問題を解決する方法として、記録装置上のデータ格納領域を固定長ブロック単位で管理し、空き領域(=ストリームデータ記録可能領域)の大きさが閾値以上の固定長ブロックにリアルタイム記録のストリームデータを記録する方法が提案されている(例えば、特許文献1参照)。この方法では、ストリームデータの記録対象となる領域に含まれる既存有効データの大きさが小さくなるため、巻き込み退避処理のオーバーヘッドが小さくなる。その結果としてリアルタイム記録の停止を防ぐことが可能となる。
国際公開第2005/055064号
上記の従来技術では、各固定長ブロック内に含まれる既存有効データの大きさが閾値未満であれば、当該ブロックをストリームデータの記録対象領域として使用することができるため、リアルタイム記録時のデータ格納領域の使用効率は向上する。しかしながら、上記の従来技術では、各固定長ブロック内に少しでも既存有効データが存在する場合、リアルタイム記録中に巻き込み退避処理により既存有効データのコピーをしながらストリームデータを記録する必要がある。そのため、記録装置の最高記録速度を出すことが難しくなる可能性がある。
逆に、既存有効データを含まない固定長ブロックをストリームデータの記録対象領域として使用すれば、リアルタイム記録中に巻き込み退避処理が発生しないため、記録装置による高速な記録が可能となる。しかしながら、この場合、各固定長ブロック内に少しでも既存有効データが含まれる場合には、当該ブロックにストリームデータを記録することができないため、リアルタイム記録時の領域使用効率は低下する。特に記録装置に対してデータの記録および削除を繰り返し実施したことにより、記録装置内のデータが分散して配置されているような場合には、この領域使用効率の低下は顕著となる。
本開示は、記録装置に対してリアルタイム記録を行う場合において、高速な記録を実現しつつ、リアルタイム記録時の領域使用効率を向上させる記録装置、アクセス装置、記録システム、及び、記録方法を提供する。
本開示の記録装置は、アクセス装置からの指示に基づいて動作する。記録装置は、データを格納する不揮発性メモリと、アクセス装置から発行される指示を受け付ける通信部と、不揮発性メモリを制御するメモリ制御部と、を備える。メモリ制御部は、アクセス装置から、データを不揮発性メモリに記録するための記録指示を受け付けると、不揮発性メモリへのデータの記録を開始する。そして、メモリ制御部は、アクセス装置から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリに格納する。
本開示のアクセス装置は、データを格納する不揮発性メモリを備えた記録装置にアクセスする。アクセス装置は、不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ内の未記録領域を検索し、未記録ブロックにデータを記録する記録制御部と、アクセス装置と記録装置との間でデータの送受信を行なう通信部とを備える。記録制御部は、未記録ブロックへデータを記録するとき、データを不揮発性メモリに記録するための記録指示を、記録装置へ送信する。そして記録制御部は、データの記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信する。
本開示の記録システムは、データを格納する不揮発性メモリを含む記録装置と、前記不揮発性メモリにアクセスするアクセス装置とを備える。前記アクセス装置は、前記不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、前記所定のブロック長単位で前記不揮発性メモリ内の未記録領域を検索し、前記未記録ブロックにデータを記録する記録制御部と、前記アクセス装置と前記記録装置との間でデータの送受信を行なう第1通信部とを含む。前記記録装置は、前記アクセス装置から発行される指示を受け付ける第2通信部と、前記不揮発性メモリを制御するメモリ制御部と、を含む。前記アクセス装置の前記記録制御部は、前記未記録ブロックへデータを記録するとき、データを前記不揮発性メモリに記録するための記録指示を、前記記録装置へ送信する。そして前記アクセス装置の前記記録制御部は、前記データ記録を前記未記録ブロックの途中で中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信する。前記記録装置のメモリ制御部は、前記アクセス装置から、前記記録指示を受け付けると、前記不揮発性メモリへのデータの記録を開始する。そして前記記録装置のメモリ制御部は、前記アクセス装置から、前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、前記不揮発性メモリに格納する。
本開示の記録方法は、データを格納する不揮発性メモリを含む記録装置と、不揮発性メモリにアクセスするアクセス装置を備える記録システムにおいて、アクセス装置が不揮発性メモリにデータを記録するための記録方法である。記録方法は、アクセス装置において、不揮発性メモリ内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ内の未記録領域を検索し、未記録ブロックにデータを記録するステップと、アクセス装置と記録装置との間でデータの送受信を行なうステップとを含み、記録装置において、アクセス装置から発行される指示を受け付けるステップと、不揮発性メモリを制御するステップと、を含む。記録方法は、さらに、アクセス装置において、未記録ブロックへデータを記録するとき、データを不揮発性メモリに記録するための記録指示を、記録装置へ送信するステップと、データ記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信するステップと、メモリ制御部において、アクセス装置から、記録指示を受け付けると、不揮発性メモリへのデータの記録を開始するステップと、アクセス装置から、中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリに格納するステップとを含む。
本開示の思想によれば、記録装置にリアルタイム記録を行う場合において、高速記録を可能にすると共に、リアルタイム記録時の領域使用効率を向上する記録装置等を提供することが可能となる。
本実施形態におけるアクセス装置、及び記録装置の構成を示した図。 NAND型フラッシュメモリの構成を示した図。 従来の記録装置におけるデータ書き込み処理を示したフローチャート。 従来の記録装置におけるアドレス管理情報と物理ブロックの一例を示した図。 本実施形態におけるアドレス管理情報の構成を示した図。 本実施形態における、中断処理が発生しない場合のストリーム記録処理を示したシーケンスチャート。 本実施形態における物理ブロックの状態を示した図。 従来の記録装置における、中断処理が発生する場合のストリーム記録処理を示したシーケンスチャート。 従来の記録装置における物理ブロックの状態を示した図。 本実施形態における、中断処理が発生する場合のストリーム記録処理を示したシーケンスチャート。 本実施形態における物理ブロックの状態を示した別の図。 本実施形態における中断アドレス情報を示した図。 本実施形態における記録装置内の第2記録制御部での、中断アドレス情報の更新処理の一例を示した図。 本実施形態において第1の中断アドレス情報を用いる場合の、第1記録制御部におけるストリームデータ記録処理を示したフローチャート。 本実施形態において第1の中断アドレス情報を用いる場合の、第2記録制御部におけるストリームデータ記録処理を示したフローチャート。 本実施形態において第2の中断アドレス情報を用いる場合の、第1記録制御部におけるストリームデータ記録処理を示したフローチャート。 本実施形態において第3の中断アドレス情報を用いる場合の、第1記録制御部におけるストリームデータ記録処理を示したフローチャート。
以下、本開示の実施形態として、記録装置、アクセス装置、及び、記録システムについて、図面を参照しつつ説明する。
ただし、詳細な説明において、従来技術および実質的に同一の構成に関する説明のうち不必要な部分は省略されることもある。これは、説明を簡単にするためである。
また、以下の説明および添付の図面は、当業者が本開示を充分に理解できるよう開示されるのであって、特許請求の範囲の主題を限定することを意図されていない。
<1.アクセス装置および記録装置の構成>
図1は、本実施形態におけるアクセス装置および記録装置を含む記録システムの構成図である。図1に示すようにアクセス装置1は、CPU11、RAM12、第1インタフェース部13、およびROM14を含む。
ROM14にはアクセス装置1を制御するプログラムが格納されている。このプログラムはRAM12を一時記憶領域として使用して、CPU11により実行される。
第1インタフェース部13は、記録装置2とアクセス装置1との間を接続する接続部であり、記録装置2とアクセス装置1との間で制御信号及びデータの送受信を行う。
CPU11は、アプリケーション制御部101、ファイルシステム制御部102、およびアクセス部103を含む。CPU11は、ROM14に格納されているプログラムを読み込んで実行することにより、アプリケーション制御部101、ファイルシステム制御部102、およびアクセス部103の機能を実現する。
アプリケーション制御部101は、データの生成や電源の制御等のアクセス装置1全体の制御を行う。
ファイルシステム制御部102は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。
アクセス部103は、記録装置2に対するコマンドやデータの送受信を制御する。例えば、アクセス部103は、ファイルシステム制御部102からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを記録装置2の不揮発性メモリ22における指定された位置に記録する。
ファイルシステム制御部102は更に、第1記録制御部104を含む。第1記録制御部104は、本開示の思想の特徴であるリアルタイム記録時における記録領域の選択、決定、ストリーム記録の中断を、制御する制御部である。第1記録制御部104は、従来のアクセス装置には存在しないものである。
また、図1に示すように、記録装置2は、コントローラ21と不揮発性メモリ22とを含む。
コントローラ21は、不揮発性メモリ22の制御全般を行う装置である。コントローラ21はCPU等を含むシステムLSIとして構成される。コントローラ21は第2インタフェース部211、CPU212、RAM213、ROM214、およびメモリインタフェース部215を含む。
第2インタフェース部211は、記録装置2とアクセス装置1との間を接続する接続部であり、第1インタフェース部13同様、記録装置2とアクセス装置1との間で制御信号及びデータを送受信するインタフェースである。
ROM214には記録装置2を制御するプログラムが格納されている。このプログラムはRAM213を一時記憶領域として使用して、CPU212により実行される。
メモリインタフェース部215は、コントローラ21と不揮発性メモリ22との間を接続する接続部であり、コントローラ21と不揮発性メモリ22との間で不揮発性メモリ22に対するコマンドやデータの送受信を制御する。
CPU212は、アドレス変換制御部216および第2記録制御部217を含む。
アドレス変換制御部216は、不揮発性メモリ22上の物理アドレスと、アクセス装置1からアクセス可能なアドレス空間として記録装置2が提供する論理アドレス空間における論理アドレスとの対応付けを制御する制御部である。
第2記録制御部217は、本開示の思想の特徴であるストリーム記録の中断を制御する制御部であり、従来の記録装置には存在しないものである。
不揮発性メモリ22は、ユーザデータを格納する領域とは別の領域にアドレス管理情報221を格納する。
アドレス管理情報221は物理アドレスと論理アドレスの対応付け等、不揮発性メモリ22内の記録領域のアドレス管理に使用する情報である。ユーザデータはアクセス装置1からアクセス可能な論理アドレス空間内に格納される。これに対して、アドレス管理情報221はアクセス装置1からアクセスできないよう論理アドレス空間の外側に格納される。
アドレス管理情報221は更に、物理アドレスと論理アドレスの対応付けを管理するアドレス変換情報222、空き物理ブロック(以下、「フリーブロック」ともいう)を管理するフリーブロック情報223、およびストリーム記録中のブロックを管理するストリーム管理情報224を含む。ストリーム管理情報224は、本開示の特徴であるストリーム記録中のブロックを管理するための情報であり、従来の記録装置には存在しないものである。
本実施形態の記録装置2は不揮発性メモリ22にストリーム管理情報224を格納する。
記録装置2の第2記録制御部217は、不揮発性メモリ22に格納されたストリーム管理情報224を用いて、物理ブロックのストリーム記録用への割り当て、ストリーム記録の中断、および再開等を制御する。
また、本実施形態のアクセス装置1のファイルシステム制御部102は、ストリーム記録の中断等の指示を記録装置2に発行する第1記録制御部104を含む。
以上で説明したアクセス装置1および記録装置2を組み合わせることにより、リアルタイム記録を行う際において、記録装置2の高速記録を実現できる。さらに、リアルタイム記録の中断、再開を効率よく実施することにより、リアルタイム記録時の領域使用効率を向上させることが可能となる。
<2.従来の記録装置におけるデータ書き込み処理>
本開示の思想の特徴を明確にするために、まず、従来の記録装置におけるデータ書き込み処理を説明する。
図3は従来の記録装置におけるデータ書き込み処理を示したフローチャートである。図4は従来の記録装置におけるアドレス管理情報と物理ブロックの一例を示した図である。
図4に示すように、従来の記録装置におけるアドレス管理情報は、アドレス変換情報と、フリーブロック情報、および一時ブロック情報を含む。アドレス変換情報は、論理アドレスと物理アドレスとの対応付けを管理する情報である。アドレス変換情報は、例えば、各論理ブロックに対して割り当てられている物理ブロックの番号を格納した表により構成される。フリーブロック情報は未割り当ての空き物理ブロックの番号を管理する情報である。一時ブロック情報は、NAND型フラッシュメモリへのデータの上書き処理を実現するために、データコピー用に一時的に使用される物理ブロック(以下、「一時ブロック」という)を管理する情報である。一時ブロック情報は、一時ブロックの番号と、上書き処理が行われた物理ブロック(以下、「旧データブロック」という)の番号とを含む。また、旧データブロックに格納されている、上書きされる前のデータを「旧データ」という。なお、本開示では、説明を簡単にするため、一時ブロックの数は1個とする。
以下、図3を用いて従来の記録装置におけるデータ書き込み処理について説明する。ここでは一例として、論理ブロック番号0x0002のブロックの2ページ目、3ページ目の領域にデータK、データLをそれぞれ記録する場合を想定する。
(S301)記録装置はアドレス変換情報を参照し、書き込み対象領域の旧データが格納された物理ブロックの番号(以下、「OLD_BLK」という)を取得する。図4(a)の例では、書き込み対象領域を含む論理ブロックの、論理ブロック番号0x0002に対応する物理ブロック番号は0x0002であることから、OLD_BLKは0x0002となる。
(S302)OLD_BLKを取得すると記録装置は、一時ブロック情報を参照し、旧データブロックの番号(以下、「TEMP_OLD_BLK」という)を取得する。図4(a)の例では、一時ブロック情報内の旧データブロック番号は0x0001であることから、TEMP_OLD_BLKは0x0001となる。
ここで一時ブロックとは、疑似的な上書き処理を実現するためのブロックである。一時ブロックは、旧データをNAND型フラッシュメモリ上で上書きするために、旧データを格納している物理ブロックとは別に確保される。データ記録時において、記録装置は一時ブロック内のデータを一旦消去し、新データを一時ブロックに記録する。そして記録装置は、旧データを格納している物理ブロック内の、新データに対応する部分以外の有効データを一時ブロックにコピーする。これにより、疑似的にNAND型フラッシュメモリ上での上書き処理を実現する。
(S303)記録装置は、取得したTEMP_OLD_BLK、あるいは一時ブロック情報内の一時ブロックの番号を参照することにより、一時ブロックが既に存在しているか確認する。例えば、一時ブロックが存在しない場合には、TEMP_OLD_BLKおよび一時ブロック情報内の一時ブロック番号に、0xFFFF等の、無効なブロックであることを示す番号を設定しておく。このように一時ブロックが存在しないことを示すように実装することで、一時ブロックの確認が可能となる。図4(a)の例では、TEMP_OLD_BLKは、有効なブロック番号(0x0001)を格納しているため、一時ブロックが存在していることを示す。記録装置は、一時ブロックが存在している場合はステップS304の処理に進み、一時ブロックが存在していない場合にはステップS310の処理に進む。
(S304)記録装置は、ステップS303の確認処理により一時ブロックが存在していると判定した場合、OLD_BLKの値とTEMP_OLD_BLKの値が一致するか確認する。記録装置は、値が一致する場合はステップS305の処理に進み、値が一致しない場合はステップS306の処理に進む。
(S305)記録装置は、ステップS304の確認処理によりOLD_BLKの値とTEMP_OLD_BLKの値が一致すると判定した場合、一時ブロックに所望のデータを書き込むことが可能か確認する。確認方法の一例としては、一時ブロック内の書き込み対象ページに既にデータが記録されているか確認し、書き込み対象ページに既にデータが記録されている場合は書き込み不可、記録されていない場合は記録可能と判定する方法が考えられる。図4(a)の例では、一時ブロックの2ページ目にデータEが、3ページ目にデータFが既に記録されているため、これら2ページの領域に対する上書きが発生するような場合には、一時ブロックへの書き込みができないことになる。記録装置は、一時ブロックへの書き込みが行える場合にはステップS313の処理に進み、一時ブロックへの書き込みが行えない場合には、ステップS306の処理に進む。
(S306)この処理に到達した場合、現在の一時ブロックを使用することができないため、一旦一時ブロックを解放する処理が必要となる。この処理は、一般的にフラッシュメモリの巻き込み退避処理、あるいは集約処理と呼ばれ、図3のフローチャートにおいてはステップS306からS309までの処理に該当する。記録装置は、まず始めに一時ブロック内の未記録領域(消去済み領域)にTEMP_OLD_BLKが示す物理ブロック内の有効データをコピーする。図4(a)の例では、TEMP_OLD_BLKが示す物理ブロック0x0001に格納されているデータBおよびデータC以外の全てのデータを、一時ブロックである物理ブロック0x01BB内の対応ページにコピーする。
(S307)続いて記録装置は、アドレス変換情報を更新し、一時ブロックの物理ブロック番号を、旧データブロックに対応する論理ブロックに対応付ける。図4(b)の例では、一時ブロックの物理ブロック番号である0x01BBの値をアドレス変換情報の論理ブロック番号0x0001に対応する領域に登録する。
(S308)次に記録装置は、TEMP_OLD_BLKの値をフリーブロック情報に登録する。図4(b)の例では、TEMP_OLD_BLKの値である0x0001をフリーブロック情報の最後尾に追加する。
(S309)巻き込み退避処理の最後において、記録装置は一時ブロック情報をクリアする。図4(b)の例では、一時ブロック情報内の各情報を無効なブロック番号を設定する等し、クリア(無効化)する。この巻き込み退避処理により、物理ブロック番号0x0001の領域は、データ格納済みブロックからフリーブロックに変更され、物理ブロック番号0x01BBの領域は一時ブロックからデータ格納済みブロックに変更される。巻き込み退避処理が完了した時点で一時ブロックは存在しないことになる。
(S310)次に記録装置は、データを記録するため、一時ブロックの取得処理を実施する。図3のフローチャートでは、この一時ブロックの取得処理はステップS310からS312までの処理に該当する。まず始めに記録装置は、フリーブロック情報を参照し、フリーブロックとして登録されている物理ブロック番号を取得する。図4(b)の例ではフリーブロック情報の先頭に登録されているフリーブロック番号0x000Eを記録対象のブロックの番号として取得する。
(S311)続いて記録装置は、ステップS310で取得した物理ブロック番号(0x000E)の領域を一括消去する。
(S312)一時ブロックの取得処理の最後において、記録装置は、ステップS310で取得したフリーブロックの番号をフリーブロック情報から削除し、一時ブロック情報に登録する。図4(c)の例では、記録装置は、フリーブロック情報の先頭に登録されていた物理ブロック番号0x000Eの値をフリーブロック情報のリストから削除し、0x000Eの値を一時ブロック情報の一時ブロック番号として設定している。また記録装置は、ステップS301で取得したOLD_BLKの値を一時ブロック情報の旧データブロック番号として設定している。
(S313)最後に記録装置は、一時ブロックに所望のデータを書き込む。図4(c)の例では、一時ブロックの2ページ目、3ページ目の領域にそれぞれデータK、データLを書き込む。
このように、NAND型フラッシュメモリを用いた記録装置は、データを上書きする際に一時ブロックを確保して一時ブロック内のデータを一括消去した上で新データを記録し、そして旧データを一時ブロックにコピーする必要がある。このデータコピー処理が多い場合、実質的な新データの記録時間が長くなることから、記録処理時間が長くなり、記録装置の性能が低下する要因となる。
よって、NAND型フラッシュメモリを用いた記録装置による高速な記録を実現するためには、このコピー処理を削減する必要がある。
本開示では、リアルタイム記録時のストリームデータ記録においてコピー処理を削減し、記録装置の高速記録を可能としつつ、領域使用効率を向上させる方法を提案する。
<3.本実施形態のアドレス管理情報>
本実施形態のアドレス管理情報221の構成について、図5を用いて説明する。図5に示すように、本実施形態のアドレス管理情報221は、アドレス変換情報222およびフリーブロック情報223を含む。アドレス変換情報222およびフリーブロック情報223は図4で説明した従来のアドレス管理情報に含まれる情報と同一のものである。本実施形態のアドレス管理情報221は、更にストリーム管理情報224を含む。ストリーム管理情報224は本実施形態の記録装置2に特徴的な情報であり、従来の記録装置には存在しない情報である。
ストリーム管理情報224は、ストリーム管理番号、論理セクタ番号、論理ブロック番号、および物理ブロック番号を含む。
本実施形態の記録装置2は、ストリーム記録を実施する際、物理ブロック内全てが空き領域である物理ブロックを取得し、取得した物理ブロックに対してストリーム記録を実施する。これにより、記録装置の高速な記録が可能となる。
更に本実施形態の記録システムにおいて、ストリーム記録を物理ブロックの途中まで実施した時点でストリーム記録を中断する場合、アクセス装置1はストリーム記録の中断を指示するための中断指示を記録装置2に送信する。記録装置2は中断指示を受信すると、ストリーム記録を中断する。その際、記録装置2は、現在ストリーム記録中となっている物理ブロックを巻き込み退避処理の対象とはせずそのまま保持し、その後のストリーム記録の再開時に中断箇所からストリーム記録を継続できるようにする。つまり記録装置2は、中断指示を受信すると、アクセス装置から、中断箇所を記録の開始位置としてデータを記録するための再開指示を受け付けるまで、中断箇所を含むブロックの未記録領域にデータを記録しない。これにより、ストリーム記録の中断、再開が繰り返される場合においても、ストリームデータを物理ブロック内に詰めて格納することができ、よって領域使用効率を向上させることが可能となる。
ストリーム管理情報224は、上記中断指示を記録装置2が受信した際に、ストリーム記録中の物理ブロックに関する情報を格納する。ストリーム管理番号は管理されているストリーム記録中のブロックに関する情報の通し番号である。図5に示す例では、ストリーム管理情報224はN個の情報を格納できる。これにより、複数ストリームを同時に記録している場合に、複数の中断箇所を記録装置2に記憶することができ、より利便性が高まる。
論理セクタ番号は記録中断時にストリームデータが記録されていた位置を示す情報であり、論理ブロック境界以外の位置を示す。図5に示す例では、ストリーム管理情報224は、2つのストリームが中断状態となっていることを示し、各々論理セクタ番号0x4400、0x6800までストリームデータが記録されていることを示す。論理ブロック番号は、論理セクタ番号を含む論理ブロックの位置を示す情報である。
ここで、図5に示す例では、1つの論理ブロックの大きさを4MB(0x2000セクタ)、1セクタの大きさを512バイトと定義しているため、論理セクタ番号0x4400を含む論理ブロック番号は0x0002となる。同様に論理セクタ番号0x6800を含む論理ブロック番号は0x0003となる。物理ブロック番号は論理ブロック番号に対応付けられた物理ブロックの位置を示す情報である。図5に示す例では、論理ブロック番号0x0002、0x0003に対応付けられた物理ブロック番号は各々0x0002、0x0003となる。
<4.本実施形態における、中断処理が発生しない場合のストリーム記録処理>
次に本実施形態における、中断処理が発生しない場合のストリーム記録処理について、図6、図7を用いて説明する。図6は本実施形態における中断処理が発生しない場合のストリーム記録処理のフローを示す図である。図7は図6のフローにおける各時点の物理ブロックの状態を示す図である。
(S601)まず始めにアクセス装置1のファイルシステム制御部102においてストリームファイルを作成する。具体的にはストリームファイルとしてファイルサイズ0のファイルを記録装置2上に作成するため、アクセス装置1のファイルシステム制御部102は、アクセス部103を経由してファイルシステム管理情報(一例としてFATファイルの場合、FATテーブルやディレクトリエントリ等の情報)を、記録装置2の不揮発性メモリ22に書き込む。
(S602)続いてアクセス装置1の第1記録制御部104において空きブロックの取得を行う。本実施形態では、論理アドレス空間を固定長ブロック単位(以下、「アロケーションユニット」(AU)という)に区切って管理し、ストリーム記録中断後の再開時(別ファイルの記録開始も含む)以外は、AU内全てが空き領域となっているAUに対してストリームデータを記録する。そのため、第1記録制御部104は、ストリーム記録に先立ち、ストリーム記録用に割り当てるAUとしてAU内全てが空き領域となっているAUを検索し、その位置を特定する(以降、本処理で位置を特定したAUをAU1と呼ぶ)。一例としてファイルシステムがFATファイルシステムの場合、第1記録制御部104は、FATテーブルを記録装置2から読み出し、FATテーブル上でAU内全てが空き領域となっているAUを特定する処理を実施することとなる。図7(a)はステップS602の処理後の物理ブロックAU1(物理ブロック番号0x000E)の状態を示す。AU1はFATテーブル等のファイルシステムの領域管理情報の上では空き領域として管理されている。AU1には過去に削除されたファイルのデータ(データAからデータH)が格納された状態であるので、このままではAU1にデータを上書きすることはできない。
(S603)次に第1記録制御部104は、ステップS602で取得したAU1内のデータを一括消去する。メモリカード等、NAND型フラッシュメモリを記憶素子として使用している本実施形態の記録装置2には、データ消去のためのイレースコマンドがデータ書き込みのためのライトコマンドとは別に用意されている。本処理では、第1記録制御部104はAU1の領域に対してイレースコマンドを発行する処理を実施する。また、明示的にイレースコマンドを発行するのではなく、AUに対してストリームデータの記録を開始する旨を示す特殊なコマンドを記録装置2に送信しても良い。この特殊なコマンドを受信した場合、記録装置2は該当領域へのストリームデータ記録の準備として一括消去処理を記録装置2で実施する。図7(b)はステップS603の処理後の物理ブロックAU1の状態を示す。
(S604)次にアクセス装置1はAU1の先頭を開始位置としてストリームデータを記録するよう記録装置2に指示するためのライトコマンドを記録装置2に送信する。本実施形態においては、ストリームデータは所定の記録単位(以下、「レコーディングユニット」(RU)という)毎に記録装置2に記録される。これにより1回のライトコマンドに対して記録装置2に送信されるストリームデータの量を一定量確保することができ、コマンド発行のオーバーヘッドによる記録速度低下を防止することが可能となる。アクセス装置1は、ステップS604の処理では、AU1の先頭に存在する1つ分のRU(RU1_1)にデータA’を記録するようライトコマンドを記録装置2に送信する。ライトコマンドを受信した記録装置2は、指定されたRU(RU1_1)にデータA’を記録する。図7(c)はステップS604の処理後の物理ブロックAU1の状態を示す。
(S605)続いてアクセス装置1はAU1内の続きの領域にストリームデータを記録する。ステップS605の処理では、AU1のRU1_2にデータB’を記録する。図7(d)はステップS605の処理後の物理ブロックAU1の状態を示す。
(S606)アクセス装置1は、同様にAU1内の残りの領域にストリームデータを記録する。AU1は8つのRUから構成されているため、最後のRU1_8までストリームデータを順次記録していくこととなる。図7(e)はステップS606の処理後の物理ブロックAU1の状態を示す。
(S607)次にアクセス装置1の第1記録制御部104は、ステップS602と同様に、別の空きAU(AU2)を取得する。
(S608)続いて第1記録制御部104は、ステップS603と同様にAU2内のデータを一括消去する。図7(f)はステップS608の処理後の物理ブロックAU1およびAU2の状態を示す。AU1は既に全領域にストリームデータが記録された状態であり、AU2は全領域が消去済みの状態となっている。
(S609)続いてアクセス装置1は、ステップS604と同様にAU2のRU2_1の領域にストリームデータI’を記録する。図7(g)はステップS609の処理後の物理ブロックAU1およびAU2の状態を示す。
(S610)続いてアクセス装置1は、ステップS605と同様にAU2のRU2_2の領域にストリームデータJ’を記録する。図7(h)はステップS610の処理後の物理ブロックAU1およびAU2の状態を示す。
(S611)続いてアクセス装置1は、ステップS606と同様にAU2内の残りの領域にストリームデータを記録する。図7(i)はステップS611の処理後の物理ブロックAU1およびAU2の状態を示す。ここまでの処理により、AU1およびAU2内の全領域にストリームデータが格納された状態となる。
以降は同様の処理を繰り返し実施することにより、ストリームデータを記録する。
このように本実施形態においては、ストリーム記録の中断が発生しない限り、新規にAUを取得して取得したAU内のデータを一括消去し、AUにストリームデータを記録する。これにより、巻き込み退避処理によるコピー処理を削減し、リアルタイム記録時に記録装置による高速な記録が可能となる。
<5.中断処理が発生する場合のストリーム記録処理>
次に本実施形態のストリーム記録処理と従来のストリーム記録処理との違いを明確にするため、まず、中断処理が発生する場合における従来のストリーム記録処理手順を図8、図9を用いて説明し、その後、中断処理が発生する場合における本実施形態のストリーム記録処理手順を図10、図11を用いて説明する。図8、図10は中断処理が発生する場合のストリーム記録処理のフローを示す図であり、図9、図11は各フローにおける各時点の物理ブロックの状態を示す図である。
<5−1.従来の、中断処理が発生する場合のストリーム記録処理>
図8、図9を用いて従来のストリーム記録処理手順について説明する。
(S801からS804)図6に示した本実施形態におけるストリーム記録処理(ステップS601からS604)と同じ処理であるため、詳細な説明を割愛する。ステップS804の処理後、物理ブロックAU1は、図9(c)の状態となる。
(S805)図8に示す例では、RU1_1のストリームデータ記録が完了した時点で、ストリーム記録を中断する場合を想定する。これは、ムービーカメラで動画撮影を実施しているときに、ユーザによって記録停止ボタンが押された場合に相当する。ストリーム記録が中断されると、アクセス装置1のファイルシステム制御部102は、ストリームデータの記録を終了し、記録中であったストリームファイルに関するファイルシステム管理情報(FATテーブルやディレクトリエントリ等)の更新を実施する。具体的には、ストリーム記録を中断したAU1以外の領域に格納されているファイルシステム管理情報に対して記録処理が実施される。
(S806)ストリーム記録中のAU以外のブロックに対する任意のライトコマンドを受信した場合、記録装置2は、図3で説明した一時ブロックに対する巻き込み退避処理を実施する。図9(d)はステップS806の処理後の物理ブロックAU1の状態を示す。ストリームデータ記録によってRU1_1に記録されたデータA’より後のRU(RU1_2〜RU1_8)には、旧データブロックの対応するRUに格納されていたデータX2〜X8がコピーされる。巻き込み退避処理完了後、一時ブロックとして管理されていたAU1はデータ格納済みブロックとして管理される。そのため、これ以降、物理ブロックAU1に対するデータ書き込みを実施する際には、図3で説明したように再度物理ブロックAU1以外の物理ブロクを一時ブロックとして割り当て、その一時ブロックに新データを記録し、物理ブロックAU1に格納されている旧データをその一時ブロックにコピーする必要がある。
(S807)ステップS801と同様、アクセス装置1のファイルシステム制御部102がストリームファイルを作成する。この処理が行われるのは、例えば、ムービーカメラで動画撮影を実施しているときにユーザによって再度記録開始ボタンが押された場合である。
(S808)次にファイルシステム制御部102は、ステップS802と同様に別の空きAU(AU2)を取得する。図9(e)はステップS808の処理後の物理ブロックAU2の状態を示している。
(S809)続いてファイルシステム制御部102は、ステップS803と同様にAU2内のデータを一括消去する。図9(f)はステップS809の処理後の物理ブロックAU2の状態を示し、AU2内の全領域が消去済みの状態となっている。
(S810)続いてアクセス装置1は、ステップS804と同様にAU2のRU2_1の領域にストリームデータI’を記録する。図9(g)はステップS810の処理後の物理ブロックAU2の状態を示す。
(S811)続いてアクセス装置1は、AU2のRU2_2の領域にストリームデータJ’を記録する。図9(h)はステップS811の処理後の物理ブロックAU2の状態を示す。アクセス装置1は、以下同様にストリームデータの記録処理を実施する。
<5−2.本実施形態における、中断処理が発生する場合のストリーム記録処理>
続いて図10、図11を用いて本実施形態におけるストリーム記録処理について説明する。
(S1001からS1004)図8に示した従来のストリーム記録処理(ステップS801からS804)と同じ処理であるため、詳細な説明を割愛する。ステップS1004の処理後、物理ブロックAU1は図11(c)の状態となる。
(S1005)図10に示す例では、図8に示す例と同様に、AU1のRU1_1へのストリームデータ記録が完了した時点で、ストリーム記録を中断する場合を想定する。これは、ムービーカメラで動画撮影を実施しているときにユーザによって記録停止ボタンが押された場合に相当する。本実施形態では、この時点でアクセス装置1の第1記録制御部104が、ストリーム記録を中断する旨を示す特殊なコマンド(中断指示コマンド)を記録装置2に発行する。
(S1006)中断指示コマンドを受信すると、記録装置2の第2記録制御部217はストリームの記録を停止する。また第2記録制御部217は、記録を停止した時点でストリームを記録していた最後の物理ブロックに関する情報をストリーム管理情報224に格納する。つまり、第2記録制御部217は、記録が中断された位置を示す論理セクタ番号と、その位置を含む論理ブロックの番号と、その論理ブロックに対応する物理ブロックの番号とをストリーム管理情報224に格納する。また第2記録制御部217は、中断指示コマンドを受信すると、次に記録の再開を指示するコマンドをアクセス装置1から受信するまで、記録が中断された位置を含む物理ブロックの未記録領域への記録(例えば、巻き込み退避処理)を禁止する。また、第2記録制御部217は、記録を中断した後、ストリーム管理情報224に基づいて中断アドレス情報を作成し、作成した中断アドレス情報を不揮発性メモリ22に格納する。ここで中断アドレス情報は、記録が中断した位置を示す中断アドレスを含む情報であり、アクセス装置1が参照できる情報である。中断アドレスは、ストリーム管理情報224に含まれる論理セクタ番号に対応する位置である。本実施形態において、例えば、中断アドレス情報は専用のレジスタに、または既存レジスタの一部に格納される。記録装置2は、アクセス装置1からの要求に応じて中断アドレス情報をアクセス装置1に送信することが可能である。中断アドレス情報の詳細については後述する。
(S1007)アクセス装置1のファイルシステム制御部102は、中断指示コマンドを記録装置2に送信すると、ストリームデータの記録を終了し、それまで記録中であったストリームファイルに関するファイルシステム管理情報(FATテーブルやディレクトリエントリ等)の更新を実施する。具体的にはこの時点で、ストリーム記録を中断したAU1以外の領域に格納されているファイルシステム管理情報に対して記録処理が実施されることになる。本実施形態における記録装置2は、本処理においてAU1以外の領域に記録処理が実施されても、記録が中断された位置を含む物理ブロックの未記録領域への記録が禁止されているので、AU1の領域に巻き込み退避処理を実施せず、AU1の領域をそのままの状態で保持する。これにより、後に行なわれる記録再開時にAU1の続きの領域に対してストリームデータを追記することが可能となる。
(S1008)(必要に応じて)ユーザの指示に基づき、アクセス装置1は電源のOFFおよびONを実施する。これは、例えば、ムービーカメラで動画撮影を実施しているときにユーザが撮影終了後に一旦ムービーカメラの電源をOFFし、再度記録を開始する際にムービーカメラの電源をONする場合に行なわれる処理である。本実施形態では、ストリーム管理情報224を不揮発性メモリ22に格納しているためアクセス装置1及び記録装置2の電源が落とされても、記録装置2は、記録が中断したAUに対する追記処理を実施するために必要な情報を保持し続ける。そのため、記録中断後の電源ON後に、記録が中断されたAUに対する追記処理を実施することができる。
(S1009)ステップS1001と同様、アクセス装置1のファイルシステム制御部102がストリームファイルを作成する。この処理が行われるのは、例えば、ムービーカメラで動画撮影を実施しているときにユーザによって再度記録開始ボタンが押された場合である。
(S1010)次に、アクセス装置1の第1記録制御部104は記録装置2の第2記録制御部217に中断アドレス情報を要求する。記録装置2の第2記録制御部217は、要求に応じて中断アドレス情報を、第2インタフェース部211を介してアクセス装置1の第1記録制御部104に送信する。これにより、アクセス装置1の第1記録制御部104は中断アドレス情報を、第1インタフェース部13を介して取得できる。
(S1011)続いてアクセス装置1の第1記録制御部104は、ステップS1010で取得した中断アドレス情報とファイルシステムの領域管理情報を参照し、中断アドレス付近の空き状態を確認し、ストリームデータの記録再開位置を決定する。ここで、ステップS1006の処理において記録装置2が中断アドレスを記憶した時点で、記録が中断されたAU内の残りの領域は空き領域としてファイルシステムにより管理されているはずである。しかし第1記録制御部104は、念のため、再度ファイルシステムの領域管理情報(FATテーブル等)を参照し、記録が中断されたAU内の残りの領域が本当に空き領域として管理されているか確認する。もしAU内の残りの領域が空き領域として管理されていない場合は、第1記録制御部104は中断アドレス情報が示すAUへの追記をあきらめ、ステップS1002の処理に戻り、新規に空きAUを取得してその取得したAUにストリームデータの記録を行う。AU内の残りの領域が空き領域として管理されていた場合には、アクセス装置1はステップS1012の処理に進む。
(S1012)アクセス装置1は、ステップS1011の処理において中断アドレスからのストリーム記録の再開が可能と判断した場合、中断アドレス(図10の例ではRU1_2の領域)を開始位置としてストリームデータを記録する。このとき、アクセス装置1は記録装置2へ、ストリームデータの記録が追記であることを示す情報を送信してもよい。
(S1013)続いてアクセス装置1は、RU1_3の領域にストリームデータを記録する。図11(d)はステップS1013の処理後の物理ブロックAU1の状態を示す。
アクセス装置1は、以下同様に、ストリームデータの記録処理を実施する。
このように図10に示すストリーム記録処理が図8に示すストリーム記録処理と異なる点は、ストリームデータの記録中断時にアクセス装置1から記録装置2に対して中断を指示し、記録装置2にストリーム管理情報224を保持する点である。これにより本実施形態では、中断再開時に、記録が中断されたAUの続きの領域に追記することが可能となる。これにより、本実施形態は、リアルタイム記録時のストリームデータの書き込みにおいて記録装置2による高速な記録を可能としつつ、領域使用効率を向上させることを可能とする。
<6.中断アドレス情報>
図12を用いて、本実施形態における中断アドレス情報の詳細について説明する。
本実施形態において、前述の通り、記録装置2はストリーム管理情報224に基づいて、記録が中断された位置を示す中断アドレス情報を作成し、作成した中断アドレス情報を不揮発性メモリ22のレジスタ空間に格納する。記録装置2は、アクセス装置1の要求に応じて、格納した中断アドレス情報をアクセス装置1に送信する。これにより、アクセス装置1は、中断アドレス情報をレジスタとして記録装置2から取得できる。
図12は、中断アドレス情報のレジスタへの3種類の格納方法を示している。この3種類の格納方法のうちのいずれかが採用されればよい。または、この3種類の格納方法が適宜切り替えられてもよい。また、中断アドレス情報のレジスタへの格納方法は、この3種類以外の方法が採用されてもよい。
図12(a)は、ストリーム管理情報224に含まれる全て(すなわち、8個)の論理セクタ番号を中断アドレスとしてレジスタ空間でアクセス装置1に見せるよう構成された中断アドレス情報を示している(Suspended Address1からSuspended Address8)。図12(a)に示す例では、最大8個の論理セクタ番号を記録装置2が保持できる場合を想定している。しかし、論理セクタ番号の個数は一例であり、記録装置2は1つ以上の任意の数の論理セクタ番号を保持できるよう構成されてもよい。
図12(b)は、ストリーム管理情報224に含まれる複数の論理セクタ番号のうちの1つのみがレジスタ空間でアクセス装置1に提示される場合の中断アドレス情報の例を示す。本例においては、レジスタに現在表示されている論理セクタ番号の番号であるTarget Slotもアクセス装置1に提示される。本例の中断アドレス情報を採用する場合、アクセス装置1からの指示により、レジスタ空間に表示する論理セクタ番号を他の論理セクタ番号に切り替えられるようにすると、より利便性が高まる。
図12(c)は、ストリーム管理情報224に含まれる複数の論理セクタ番号のうちの1つのみがレジスタ空間で中断アドレスとしてアクセス装置1に提示される場合の中断アドレス情報の例を示す図である。ただし、本例では、図12(b)に示した例とは異なり、レジスタに現在表示されている論理セクタ番号の番号を表示しない。本例の中断アドレス情報を採用する場合、例えば、複数登録された論理セクタ番号の内、最も古い論理セクタ番号をレジスタに表示するようにしても良いし、最も新しい論理セクタ番号をレジスタに表示するようにしても良い。その他、最もアドレスの若い論理セクタ番号をレジスタに表示してもよい。表示する論理セクタ番号は任意の方法で決定されてよい。
図13は、図12(c)に示す中断アドレス情報を採用した場合の、記録装置2の第2記録制御部217における中断アドレス情報の更新処理の一例を示す図である。なお、以下では、ストリーム管理情報224において記録が中断された位置を示す論理セクタ番号を中断アドレスともいう。
図13(a)の状態では、2つの中断アドレスがストリーム管理情報224に登録されており、レジスタには、2つの中断アドレスのうち先頭の1つが表示されている。この状態で、中断アドレスが示すAUに対して図10のステップS1012の追記処理が実施されると、ストリーム管理情報224内の先頭の中断アドレスと、その中断アドレスに対応する論理ブロックおよび物理ブロックがクリア(消去)される。そしてレジスタは、次の中断アドレスが表示されるよう更新され、図13(b)の状態となる。この状態で更に現在レジスタに表示されている中断アドレスが示すAUに対する追記が実施されると、この中断アドレスもストリーム管理情報224からクリア(消去)される。そしてレジスタには記録中断状態となっているAUが存在しないことを示すブロック番号(例えば、0xFFFFFFFF等の無効であることを示す番号)が表示されるようになる。このようにすることで、図12(c)に示す中断アドレス情報を採用した場合において、中断アドレスが順にレジスタに表示され、アクセス装置1が順次中断アドレスを取得することが可能となる。
<7.アクセス装置および記録装置の記録再開動作>
続いて、図12(a)、(b)、(c)の各々の中断アドレス情報を用いたアクセス装置1の第1記録制御部104におけるストリームデータ記録処理、記録装置2の第2記録制御部217におけるストリームデータ記録処理について、図14から図17を用いて説明する。ここでの説明は、ストリームデータ記録領域の決定方法と、ストリームデータ自体の書き込みに焦点を絞っており、その他の処理(ファイルシステム管理情報の更新処理等)は割愛する。
<7−1.全ての中断アドレスがアクセス装置に提示される場合>
まず、図12(a)に示す中断アドレス情報が採用された場合の、アクセス装置1および記録装置2におけるストリームデータ記録処理を説明する。
<7−1−1.アクセス装置の動作>
以下、本例における、アクセス装置1の第1記録制御部104によるストリームデータ記録処理について図14を参照して説明する。
(S1401)アクセス装置1の第1記録制御部104は、記録装置2から全ての中断アドレス(Suspended Address、以下、「SA」という)を一括取得する。図12(a)に示す中断アドレス情報が採用された場合、全てのSAはレジスタ内に並べて格納されているため、アクセス装置1はレジスタを読み出すことで、一括してSAを取得することができる。
(S1402)第1記録制御部104は、SAを一括して取得すると、SA探索用のカウンタ値iを1に初期化する。
(S1403)第1記録制御部104は、カウンタ値iが最大登録数を超えているか確認する(図12に示す例の場合、最大登録数は“8”である)。カウンタ値iが最大登録数を超えている場合(YES)、第1記録制御部104はステップS1408の処理に進む。カウンタ値iが最大登録数を超えていない場合は(NO)、第1記録制御部104はステップS1404の処理に進む。
(S1404)カウンタ値iが最大登録数を超えていない場合、第1記録制御部104は、ステップS1401で一括取得したSAの内、i番目のSAを参照し、格納されているアドレスが有効なアドレスを示しているか確認する。ここで、有効なアドレスは、不揮発性メモリ22の論理アドレス空間内に存在するアドレスである。格納されているアドレスが有効なアドレスの場合(YES)、第1記録制御部104はステップS1405の処理に進み、格納されているアドレスが有効なアドレスでない場合は(NO)、第1記録制御部104はステップS1406の処理に進む。
(S1405)第1記録制御部104は、ステップS1404の処理で格納されているアドレスが有効なアドレスと判定した場合、該当SAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認する処理である。SA以降の領域が空き領域である場合(YES)、第1記録制御部104はステップS1407の処理に進み、SA以降の領域が空き領域でない場合(NO)は、第1記録制御部104はS1406の処理に進む。
(S1406)格納されているアドレスが有効なアドレスでない場合、第1記録制御部104は、カウンタ値iを1加算し、ステップS1403の処理に戻る。
(S1407)第1記録制御部104は、ステップS1405の処理においてSA以降の領域が空き領域であると判定した場合、i番目のSAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1409の処理に進む。
(S1408)第1記録制御部104は、ステップS1403の処理においてカウンタ値iが最大登録数を超えていると判定した場合、中断アドレス情報に含まれるSAにはストリームデータ記録に使用できそうな論理ブロックが見つからなかったと判定する。すると第1記録制御部104は、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索し、全て空き領域となっている論理ブロックを見つけたときは見つかった論理ブロックにストリームデータを書き込む。
(S1409)第1記録制御部104は、論理ブロックにストリームデータを書き込むと、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。第1記録制御部104は、未記録のストリームデータが残っている場合(YES)、ステップS1401の処理に戻り、未記録のストリームデータが残っていない場合(NO)、ストリームデータ記録処理を終了する。
このように図14に示すストリームデータ記録処理では、一括取得したSAに基づいてストリーム記録に使用可能な論理ブロックを特定し、見つかった場合に該当論理ブロック内の中断箇所からストリーム記録を実施することとなる。
<7−1−2.記録装置の動作>
以下、図12(a)に示す中断アドレス情報が採用された場合の、記録装置2の第2記録制御部217におけるストリームデータ記録処理について図15を参照して説明する。
(S1501)記録装置2の第2記録制御部217は、ライトコマンドの引数としてアクセス装置1から通知された書き込み開始アドレスが、ストリーム管理情報224に格納されているSA(論理セクタ番号)のいずれかと一致するか確認する。第2記録制御部217は、開始アドレスがストリーム管理情報224内のSAのいずれかと一致する場合(YES)、ステップS1502の処理に進み、開始アドレスがストリーム管理情報224内のSAのいずれとも一致しない場合(NO)は、ステップS1505の処理に進む。
(S1502)第2記録制御部217は、ステップS1501の処理で通知された開始アドレスと一致していると判定した該当SAを含む物理ブロックに対して、物理ブロック内の途中の領域から追記処理を実施する。具体的には、該当SAを開始位置として物理ブロックにデータを追記する。
(S1503)第2記録制御部217は、データを追記すると、ストリーム管理情報224からデータを追記した物理ブロックに関する情報をクリア(削除)する。
(S1504)第2記録制御部217は、SAを含む中断アドレス情報(図12(a))を更新する。
(S1505)第2記録制御部217は、ステップS1501の処理で開始アドレスがストリーム管理情報224内のSAのいずれとも一致していないと判定した場合、ライトコマンドの引数でアクセス装置1から通知された書き込み開始アドレスを含む論理ブロックの番号がストリーム管理情報224内に存在するか確認する。該当論理ブロック番号がストリーム管理情報224内に存在する場合(YES)、第2記録制御部217はステップS1506の処理に進み、該当論理ブロック番号がストリーム管理情報224内に存在しない場合は(NO)、第2記録制御部217はステップS1508の処理に進む。
(S1506)第2記録制御部217は、ステップS1505の処理で該当論理ブロック番号がストリーム管理情報224内に存在すると判定した場合、ストリーム管理情報224から該当論理ブロックに関する情報をクリア(削除)する。
(S1507)第2記録制御部217は、該当論理ブロックに関する情報をクリアすると、SAを含む中断アドレス情報(図12(a))を更新する。
(S1508)第2記録制御部217は、中断アドレス情報を更新したとき、またはステップS1505の処理で該当論理ブロック番号がストリーム管理情報224内に存在しないと判定したときは、ライトコマンドの引数としてアクセス装置1から通知された書き込み開始アドレスを含む物理ブロックに対して、必要に応じて巻き込み退避処理を実施した上で、データの書き込み処理を実施する。
(S1509)第2記録制御部217は、通知された書き込み開始アドレスを含む物理ブロックへのストリームデータの記録を完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第2記録制御部217はステップS1501の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第2記録制御部217はストリームデータ記録処理を終了する。
このように図15に示すストリームデータ記録処理では、記録装置2は、アクセス装置1からデータ書き込みを指示された領域が中断アドレスか否かを判定する。そして記録装置2は、指示された領域が中断アドレスに該当する場合はストリーム管理情報224等を更新し、ストリームデータを指示された領域を含む物理ブロックに追記することとなる。
<7−2.アクセス装置が中断アドレスを1つのみ提示される場合の、アクセス装置の動作(1)>
以下、図12(b)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理について図16を参照して説明する。
(S1601)第1記録制御部104は、SA探索用のカウンタ値(i)を1に初期化する。
(S1602)次に第1記録制御部104は、カウンタ値iが最大登録数を超えているか確認する。最大登録数は例えば8である。カウンタ値iが最大登録数を超えている場合(YES)、第1記録制御部104はステップS1608の処理に進む。カウンタ値iが最大登録数を超えていない場合(NO)、第1記録制御部104はステップS1603の処理に進む。
(S1603)Target Slot設定用の特殊コマンドを、カウンタ値iを引数としてアクセス装置1が記録装置2に発行する。この特殊コマンドでは、レジスタに表示させたいTarget Slotの番号を引数として記録装置2に通知する。記録装置2は、本コマンドを受信すると、レジスタに表示させるSAをアクセス装置1に指定されたTarget Slotに対応するSAに変更する。すなわち、本処理により、i番目のSAがレジスタに表示されるようになる。アクセス装置1は、記録装置2のレジスタを参照し、そこに表示されたSAを取得する。
(S1604)次に第1記録制御部104は、ステップS1603で取得したSAが示すアドレスが有効なアドレスであるかを確認する。SAが有効なアドレスの場合(YES)、第1記録制御部104はステップS1605の処理に進み、SAが有効なアドレスでない場合(NO)は、第1記録制御部104はステップS1606の処理に進む。
(S1605)第1記録制御部104は、ステップS1604の処理でSAが有効なアドレスであると判定した場合、該当SAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認する処理である。論理ブロックのSA以降の領域が空き領域である場合(YES)、第1記録制御部104はステップS1607の処理に進み、論理ブロックのSA以降の領域が空き領域でない場合は(NO)、第1記録制御部104はステップS1606の処理に進む。
(S1606)第1記録制御部104は、ステップS1604の処理においてSAが有効なアドレスでないと判定した場合、またはステップS1605の処理において論理ブロックのSA以降の領域が空き領域でないと判定した場合、カウンタ値iの値を1加算し、ステップS1602の処理に戻る。
(S1607)第1記録制御部104は、ステップS1605の処理において論理ブロックのSA以降の領域が空き領域であると判定した場合、SAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1609の処理に進む。
(S1608)第1記録制御部104は、ステップS1602の処理においてカウンタ値iが最大登録数を超えている場合、ストリーム管理情報224に格納された中断位置を示す論理セクタ番号(中断アドレス)にはストリームデータ記録に使用できそうな論理ブロックが見つからなかったと判定する。すると第1記録制御部104は、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索し、全て空き領域となっている論理ブロックを見つけたときは、見つけた論理ブロックにストリームデータを書き込む。
(S1609)第1記録制御部104は、論理ブロックへのストリームデータの記録を完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第1記録制御部104はステップS1601の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第1記録制御部104はストリームデータ記録処理を終了する。
このように図16に示すストリームデータ記録処理では、第1記録制御部104は、ストリーム管理情報224に格納されたSAのうち先頭から順にTarget Slotを変更しながらSAを取得してストリーム記録に使用可能な論理ブロックを特定する。そして第1記録制御部104は、ストリーム記録に使用可能な論理ブロックが見つかった場合、該当論理ブロック内の中断箇所(SA)からストリーム記録を実施することとなる。
なお、図12(b)に示す中断アドレス情報を採用する場合の記録装置2の第2記録制御部217におけるストリームデータ記録処理は、図15で説明したストリームデータ記録処理とほぼ同じであるため、説明を割愛する。
<7−3.中断アドレスが1つのみ提示される場合の、アクセス装置の動作(2)>
以下、図12(c)に示す中断アドレス情報を採用した場合の、アクセス装置1の第1記録制御部104におけるストリームデータ記録処理を説明する。図17を用いて、本例におけるストリームデータ記録処理を説明する。
(S1701)アクセス装置1の第1記録制御部104は記録装置2のレジスタを参照し、SAを取得する。
(S1702)第1記録制御部104は、ステップS1701で取得したSAが示すアドレスが有効なアドレスであるかを確認する。SAが示すアドレスが有効なアドレスである場合(YES)、第1記録制御部104はステップS1703の処理に進み、SAが示すアドレスが有効なアドレスでない場合(NO)は、第1記録制御部104はステップS1705の処理に進む。
(S1703)第1記録制御部104は、ステップS1702の処理でSAが示すアドレスが有効なアドレスと判定した場合、判定したSAを含む論理ブロックにおいて、SA以降の領域が全て空き領域であるか確認する。これは、SA以降の領域へストリームデータを記録するにあたり、ファイルシステム管理情報(FATテーブル等)の上でも空き領域として管理されていることを確認するためである。SA以降の領域が全て空き領域である場合(YES)、第1記録制御部104はステップS1704の処理に進み、SA以降の領域が全て空き領域でない場合(NO)は、第1記録制御部104はステップS1705の処理に進む。
(S1704)第1記録制御部104は、有効なアドレスであると判定したSAを開始位置として、対象論理ブロックにストリームデータを書き込み、ステップS1706の処理に進む。
(S1705)第1記録制御部104は、記録装置2のレジスタに格納されたSAにはストリームデータ記録に使用できそうな論理ブロックが見つからなかったため、全て空き領域となっている論理ブロックを新規にファイルシステム管理情報上で検索する。そして第1記録制御部104は、全て空き領域となっている論理ブロックを見つけた場合、該当論理ブロックにストリームデータを書き込む。
(S1706)第1記録制御部104は、論理ブロックへのストリームデータの記録が完了すると、全ストリームデータのサイズから今回記録したサイズを差し引き、未記録のストリームデータが残っているか確認する。未記録のストリームデータが残っている場合(YES)、第1記録制御部104はステップS1701の処理に戻り、未記録のストリームデータが残っていない場合(NO)、第1記録制御部104はストリームデータ記録処理を終了する。
このように図17のストリームデータ記録処理では、記録装置2のレジスタに表示されたSAがストリーム記録に使用可能な論理ブロックか否かを判定される。そしてSAがストリーム記録に使用可能であれば該当論理ブロック内の中断箇所からストリーム記録を実施することとなる。
なお、図12(c)に示す中断アドレス情報が採用された場合の、記録装置2の第2記録制御部217におけるストリームデータ記録処理は、図15で説明した処理とほぼ同じであるため、説明を割愛する。
以上のように、本実施形態のアクセス装置1と記録装置2とを組み合わせて使用し、ストリーム記録の中断タイミングをアクセス装置1から記録装置2に通知することにより、中断箇所からストリームデータの記録を再開することが可能となる。これにより、リアルタイム記録時に記録装置2による高速な記録を可能としつつ、領域使用効率を向上させることが可能となる。
<8.本実施形態のまとめ>
以上のように、本実施形態の記録装置2は、アクセス装置1からの指示に基づいて動作する。記録装置2は、データを格納する不揮発性メモリ22と、アクセス装置1から発行される指示を受け付ける第2インタフェース部211と、不揮発性メモリ22を制御する第2記録制御部217とを備える。第2記録制御部217は、アクセス装置1から、データを不揮発性メモリ22に記録するための記録指示を受け付けると、不揮発性メモリ22へのデータの記録を開始し、アクセス装置1から、データの記録を中断するための中断指示を受け付けると、中断指示を受け付けたときに記録中であった不揮発性メモリ22内の記録領域の位置である中断位置を示す中断情報を、不揮発性メモリ22に格納する。
また、本実施形態のアクセス装置1は、データを格納する不揮発性メモリ22を含む記録装置2にアクセスする。アクセス装置1は、不揮発性メモリ22内の領域を所定のブロック長単位に分割して管理し、所定のブロック長単位で不揮発性メモリ22内の未記録領域を検索し、未記録ブロックにデータを記録する第1記録制御部104と、アクセス装置1と記録装置2との間でデータの送受信を行なう第1インタフェース部とを備える。第1記録制御部104は、未記録ブロックへデータを記録するとき、データを不揮発性メモリ22に記録するための記録指示を、記録装置へ送信し、データの記録を未記録ブロックの途中で中断するとき、データ記録の中断を指示するための中断指示を記録装置へ送信する。
上記構成を有するアクセス装置1および記録装置2は、不揮発性メモリ22へのデータの記録を中断するとき、中断時に記録中であった不揮発性メモリ22内の位置を不揮発性メモリ22に格納する。これにより、データ記録の再開時、中断位置を開始位置として不揮発性メモリ22にデータを記録することが可能となり、よって領域使用効率を向上させることが可能となる。
また、アクセス装置1は、所定のブロック長単位で不揮発性メモリ22内の未記録領域を検索し、未記録領域が見つかったとき、ブロックにデータを記録する。これにより、リアルタイム記録時に記録装置2による高速な記録が可能となる。
<9.他の実施形態>
以上、本開示の実施形態について説明してきたが、本開示の思想は上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施形態を変更することができる。以下、本開示の思想を適用できる他の実施形態について説明する。
上記実施形態で記載された種々の数値は一例であり、他の値を使用しても良い。例えば、上記実施形態で説明された物理ブロックサイズやページサイズ等の値は全て一例であり、上記の値に限定されるものではない。
また上記実施形態では、図1を参照して記録装置2のコントローラ21の構成を説明したが、コントローラ21をその他の構成としても良い。例えば、コントローラ21のCPU212やRAM213等をコントローラ21の外部に配置しても良いし、逆にその他の構成要素をコントローラ21に含ませても良い。
また上記実施形態では、記録装置2の不揮発性メモリ22に格納されるアドレス管理情報221が、アドレス変換情報222、フリーブロック情報223、およびストリーム管理情報224から構成される例を説明した。しかし、このアドレス管理情報221の構成は一例であり、同様のアドレス管理を実現できるものであれば、アドレス管理情報221をその他の構成としても良い。例えば、アドレス変換情報222を一元的な管理テーブルとして実現せず、各ページの冗長部に情報を分散して格納するような構成としても良い。あるいはアドレス変換情報222とフリーブロック情報223を1つのテーブルで一元管理するような構成としても良い。
また上記実施形態では、記録装置2に使用される不揮発性メモリ22の枚数は1枚である必要はなく、複数枚を組み合わせて使用しても良い。特に複数の不揮発性メモリ22に対して並列にデータ書き込みできるように構成した場合、更に書き込み処理を高速化することが可能となる。この場合、上記実施形態でAUとして説明した管理単位を、複数の物理ブロックを束ねて1つのAUとして管理することで実現することができる。
また図5に記載したストリーム管理情報224には、ストリーム管理番号1、2の行に有効な中断アドレスが前詰で格納されているが、有効な中断アドレスは必ずしも前詰で管理しなくても良い。例えば、任意の箇所に有効な中断アドレスを格納するようにしても良い。また、ストリーム管理情報224の論理ブロック番号、物理ブロック番号は、必ずしもストリーム管理情報224に含めなくても良い。これは、論理ブロック番号および物理ブロック番号が論理セクタ番号から導出することができるためである。また、論理セクタ番号以外の形式で論理ブロック番号および物理ブロック番号と同様の情報を管理できるのであれば、論理セクタ番号以外の形式で情報を格納しても良い。
また図12(c)では、複数登録された中断アドレスの内、任意の1つのみがレジスタに表示される例(つまり、中断アドレス情報に中断アドレスが1つのみ含まれる例)について説明した。この場合、アクセス装置1は、レジスタに表示されているSA以外のSAを知る手段がないため、その他のSAを有効に使用することができない可能性がある。よって、アクセス装置1から記録装置2に対して、現在表示中のSAをクリアする指示を出せるようアクセス装置1および記録装置2を構成してもよい。これにより、図12(c)の例における中断アドレス情報の使用がより効果的になる。この構成により、アクセス装置1は、現在表示中のSAが何らかの理由でストリーム記録に使用できない場合でも、SAのクリア指示を出すことにより、次のSAをレジスタ経由で取得することができる。
また図12(c)に示す例に限らず、図12(a)に示す中断アドレス情報および図12(b)に示す中断アドレス情報のいずれか一方が採用される場合においても、登録済みの中断アドレスの一部あるいは全てを、アクセス装置1からの指示によりクリアすることができるようにしても良い。
また図10に示すストリームデータ記録の例では、1つのストリームファイルの記録が終了した後、次のストリームファイルを記録するケースに本開示の思想を適用することを説明した。しかし本開示の思想は、2つのストリームファイルに跨る場合に限定されず、1つのストリームファイルの記録中断、再開が行われる場合にも本開示の思想を適用しても良い。
以上、本開示における技術の例示として、実施形態を説明した。そのために、詳細な説明および添付の図面を開示した。よって、詳細な説明および添付の図面に記載された構成要素の中には、課題解決のために必須でない構成要素が含まれることがある。したがって、それらの必須でない構成要素が、詳細な説明および添付の図面に記載されているからといって、それらの必須でない構成要素が必須であると直ちに認定されるべきではない。
また、上記実施形態は、本開示における技術を例示するためのものである。よって、上記実施形態は、特許請求の範囲またはその均等の範囲において種々の変更、置換、付加および/または省略等を行なわれてもよい。
本開示の思想は、ムービーカメラやDSC等のリアルタイム記録を行うアクセス装置と、当該アクセス装置の記録媒体としてアクセス装置と組み合わせて使用されるメモリカード等の記録装置で利用可能な技術である。

Claims (6)

  1. アクセス装置からの指示に基づいて動作する記録装置であって、
    複数の記録単位を有するブロックを記録領域に複数有し、前記記録単位毎にデータを格納するNAND型不揮発性メモリと、
    前記アクセス装置から発行される指示を受け付ける通信部と、
    前記NAND型不揮発性メモリを制御するメモリ制御部と
    を備え、
    前記メモリ制御部は、
    前記アクセス装置から前記データを前記NAND型不揮発性メモリに記録するための記録指示を受け付けると、前記NAND型不揮発性メモリへの前記データの記録を開始し、前記記録単位毎にデータの記録を行い、
    前記記録単位への前記データの記録が完了したときに、前記アクセス装置から前記データの記録を中断するための中断指示を受け付けると、前記中断指示を受け付けたときに記録中の前記NAND型不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を格納
    前記アクセス装置から前記データを記録するための再開指示を受け付けるまで、前記中断位置に対応する前記ブロックを、前記中断指示を受け付けたときの状態のまま保持し、
    前記アクセス装置から前記再開指示を受け付けると、前記中断情報に基づいて記録中の前記ブロック内の未記録である前記記録単位に前記データの記録を行う、
    記録装置。
  2. 前記中断情報は論理アドレスを含む、
    請求項1に記載の記録装置。
  3. 前記通信部は前記中断情報を前記アクセス装置へ送信する、
    請求項1記載の記録装置。
  4. 前記NAND型不揮発性メモリはデータを格納する所定の大きさのブロックを含み、
    前記メモリ制御部は、前記通信部がアクセス装置から、前記中断位置を含む前記ブロックの未記録領域へのデータの記録を指示するための記録指示を受け付けると、前記中断位置を示す中断情報を削除する、
    請求項1記載の記録装置。
  5. 複数の記録単位を有するブロックを記録領域に複数有し、前記記録単位毎にデータを格納するNAND型不揮発性メモリを含む記録装置と、前記不揮発性メモリにアクセスするアクセス装置とを備える記録システムであって、
    前記アクセス装置は、
    前記NAND型不揮発性メモリ内の前記ブロック管理し、前記ブロックに前記データを記録する記録制御部と、
    前記アクセス装置と前記記録装置との間で前記データの送受信を行なう第1通信部と
    を含み、
    前記記録装置は、
    前記アクセス装置から発行される指示を受け付ける第2通信部と、
    前記NAND型不揮発性メモリを制御するメモリ制御部と、
    を含み、
    前記NAND型不揮発性メモリの前記記録領域における前記記録単位毎に前記データの記録を行い、
    前記記録単位への前記データの記録が完了したときに前記アクセス装置の前記記録制御部は、
    前記ブロックへ前記データを記録するとき、データを前記NAND型不揮発性メモリに記録するための記録指示を、前記記録装置へ送信し、
    前記データ記録を記録途中である前記ブロックで中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信し、
    前記記録装置の前記メモリ制御部は、
    前記アクセス装置から前記記録指示を受け付けると、前記NAND型不揮発性メモリへの前記データの記録を開始し、
    前記アクセス装置から前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった前記NAND型不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を格納し、
    前記アクセス装置から前記データを記録するための再開指示を受け付けるまで、前記中断位置に対応する前記ブロックを、前記中断指示を受け付けたときの状態のまま保持し、
    前記アクセス装置から前記再開指示を受け付けると、前記中断情報に基づいて記録中の前記ブロック内の未記録である前記記録単位に前記データの記録を行う、
    記録システム。
  6. 複数の記録単位を有するブロックを記録領域に複数有し、前記記録単位毎にデータを格納するNAND型不揮発性メモリを含む記録装置と、前記NAND型不揮発性メモリにアクセスするアクセス装置を備える記録システムにおいて、前記アクセス装置が前記NAND型不揮発性メモリに前記データを記録するための記録方法であって、
    前記アクセス装置において、
    前記不揮発性メモリ内の前記ブロックを管理し、前記ブロックに前記データを記録するステップと、
    前記アクセス装置と前記記録装置との間で前記データの送受信を行なうステップと
    を含み、
    前記記録装置において、
    前記アクセス装置から発行される指示を受け付けるステップと、
    前記NAND型不揮発性メモリを制御するステップと
    を含み、
    さらに、前記アクセス装置において、
    前記ブロックへ前記データを記録するとき、前記データを前記NAND型不揮発性メモリに記録するための記録指示を、前記記録装置へ送信するステップと、
    前記データ記録を記録途中である前記ブロックで中断するとき、前記データ記録の中断を指示するための中断指示を前記記録装置へ送信するステップと、
    前記NAND型不揮発性メモリを制御するステップにおいて、
    前記アクセス装置から、前記記録指示を受け付けると、前記NAND型不揮発性メモリへの前記データの記録を開始するステップと、
    前記NAND型不揮発性メモリの記録領域における前記記録単位毎に前記データの記録を行うステップと、
    前記記録単位への前記データの記録が完了したときに前記アクセス装置から、前記中断指示を受け付けると、前記中断指示を受け付けたときに記録中であった前記NAND型不揮発性メモリ内の記録領域の位置である中断位置を示す中断情報を格納するステップと
    前記アクセス装置から前記データを記録するための再開指示を受け付けるまで、前記中断位置に対応する前記ブロックを、前記中断指示を受け付けたときの状態のまま保持し、
    前記アクセス装置から前記再開指示を受け付けると、前記中断情報に基づいて記録中の前記ブロック内の未記録である前記記録単位に前記データの記録を行うステップと、
    を含む、
    記録方法。
JP2014529247A 2012-08-07 2013-04-12 記録装置、アクセス装置、記録システム、及び記録方法 Active JP6112461B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012174661 2012-08-07
JP2012174661 2012-08-07
PCT/JP2013/002529 WO2014024350A1 (ja) 2012-08-07 2013-04-12 記録装置、アクセス装置、記録システム、及び記録方法

Publications (2)

Publication Number Publication Date
JPWO2014024350A1 JPWO2014024350A1 (ja) 2016-07-25
JP6112461B2 true JP6112461B2 (ja) 2017-04-12

Family

ID=50067621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529247A Active JP6112461B2 (ja) 2012-08-07 2013-04-12 記録装置、アクセス装置、記録システム、及び記録方法

Country Status (4)

Country Link
US (1) US9778857B2 (ja)
JP (1) JP6112461B2 (ja)
CN (1) CN104583973B (ja)
WO (1) WO2014024350A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535628B2 (en) * 2013-10-10 2017-01-03 Apple Inc. Memory system with shared file system
KR102336666B1 (ko) * 2017-09-15 2021-12-07 삼성전자 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11516042B2 (en) * 2018-07-19 2022-11-29 Panasonic Intellectual Property Management Co., Ltd. In-vehicle detection system and control method thereof
JP7282491B2 (ja) * 2018-08-30 2023-05-29 キヤノン株式会社 記録制御装置、および、その制御方法
JP7212477B2 (ja) * 2018-08-31 2023-01-25 キヤノン株式会社 記録装置、記録方法、及びプログラム
JP7263017B2 (ja) * 2019-01-15 2023-04-24 キヤノン株式会社 記録制御装置およびその制御方法
CN112468259B (zh) * 2019-09-09 2023-12-15 华为技术有限公司 一种通信方法、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JP3978720B2 (ja) * 2002-05-13 2007-09-19 日本電気株式会社 データ記憶方法
KR101046083B1 (ko) 2003-12-03 2011-07-01 파나소닉 주식회사 정보 기록 매체의 데이터 처리 장치 및 데이터 기록 방법
JP4194518B2 (ja) * 2004-03-31 2008-12-10 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
CA2682814C (en) 2004-07-12 2011-11-08 Kabushiki Kaisha Toshiba Storage device and host apparatus
JP4874588B2 (ja) * 2004-07-12 2012-02-15 株式会社東芝 記憶デバイスおよびホスト機器
WO2006038663A1 (en) * 2004-10-01 2006-04-13 Matsushita Electric Industrial Co., Ltd. Memory card controller, memory card drive device, and computer program
CN100361106C (zh) * 2005-05-17 2008-01-09 北京中星微电子有限公司 连续访问环境下的中断恢复方法及装置
CN101377749B (zh) * 2007-08-31 2010-06-02 华为技术有限公司 存储器数据校验方法、装置、可编程逻辑器件及系统
CN101196845A (zh) * 2007-12-17 2008-06-11 山东超越数控电子有限公司 一种硬盘保护方法
CN101794254B (zh) * 2009-11-25 2012-07-04 深圳市硅格半导体有限公司 Nand flash的数据处理方法
JP5793712B2 (ja) * 2010-03-01 2015-10-14 パナソニックIpマネジメント株式会社 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム

Also Published As

Publication number Publication date
JPWO2014024350A1 (ja) 2016-07-25
CN104583973B (zh) 2017-09-08
US9778857B2 (en) 2017-10-03
CN104583973A (zh) 2015-04-29
WO2014024350A1 (ja) 2014-02-13
US20150149690A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
JP6112461B2 (ja) 記録装置、アクセス装置、記録システム、及び記録方法
JP5400875B2 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP2007034536A (ja) データ記憶装置及び方法、並びに記録再生システム
KR20120098850A (ko) 메모리 디바이스 및 호스트 장치
US20110258372A1 (en) Memory device, host device, and memory system
JP5793712B2 (ja) 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP5209793B2 (ja) 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP4310821B2 (ja) 情報記録装置および方法
JP5385835B2 (ja) データ記録装置
JP2007233512A (ja) データ記録装置、データ記録方法、及びプログラム
WO2005055064A1 (ja) 情報記録媒体のデータ処理装置及びデータ記録方法
JP2008176455A (ja) 情報記録装置、コントローラ、アクセス装置、及びアクセス速度保証システム
JP4496790B2 (ja) データ記憶装置及び方法、並びに記録再生システム
JP2007004782A (ja) 半導体メモリカード
JP2009151838A (ja) データ処理装置及びデータ処理方法
JP7262977B2 (ja) 記録装置及びその制御方法、並びにプログラム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2001337851A (ja) ファイル管理装置および方法
JP2011133947A (ja) 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP4219299B2 (ja) 記録デバイスのキャッシュ方法及びデータ記録装置
JP2009104695A (ja) 記録メディア制御装置及び記録メディア制御方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161020

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170303

R151 Written notification of patent or utility model registration

Ref document number: 6112461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250