JP4758518B2 - 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ - Google Patents

不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ Download PDF

Info

Publication number
JP4758518B2
JP4758518B2 JP2010540750A JP2010540750A JP4758518B2 JP 4758518 B2 JP4758518 B2 JP 4758518B2 JP 2010540750 A JP2010540750 A JP 2010540750A JP 2010540750 A JP2010540750 A JP 2010540750A JP 4758518 B2 JP4758518 B2 JP 4758518B2
Authority
JP
Japan
Prior art keywords
data
writing
command
write
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
JP2010540750A
Other languages
English (en)
Other versions
JPWO2010146767A1 (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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010540750A priority Critical patent/JP4758518B2/ja
Application granted granted Critical
Publication of JP4758518B2 publication Critical patent/JP4758518B2/ja
Publication of JPWO2010146767A1 publication Critical patent/JPWO2010146767A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、不揮発性メモリと不揮発性メモリを制御するメモリコントローラとを備えた半導体メモリカード等の不揮発性記憶装置、不揮発性記憶装置にアクセスするアクセス装置、不揮発性記憶装置とアクセス装置とを含む不揮発性記憶システム、及びメモリコントローラに関する。
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディア等と比較して高価格なものではある。しかし半導体メモリカードは、小型・軽量・耐震性・取り扱いの簡便さ等のメリットが大きいので、デジタルスチルカメラや携帯電話等、ポータブル機器の記録媒体としてその需要が広まっており、最近では民生用動画記録機器や放送局向けのプロ用動画記録機器の記録媒体としても利用されるようになってきた。加えて、ポータブル機器だけではなくデジタルテレビやDVDレコーダ等の据え置き機器にも半導体メモリカード用のスロットが標準搭載されている。
この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラ本体等、アクセス装置からのデータの読み書き指示に応じて、フラッシュメモリに対するデータの読み書き制御を行うものである。
近年、半導体メモリカードに格納する静止画や動画等のAVコンテンツの高品質化、すなわち1コンテンツあたりのデータサイズの大容量化に対応するために、半導体メモリカードに使用するフラッシュメモリの大容量化のニーズが高まっている。それに伴い、フラッシュメモリを構成するブロック(データ消去単位)のサイズが増大している。
一方、アクセス装置は半導体メモリカードの記憶領域の管理をファイルシステムによって行うが、記録領域をできるだけ無駄なく使用するためにファイルシステムによる管理単位(クラスタ)は前記ブロックのサイズよりも小さいのが一般的である。そのため、1つのクラスタの書き換えで1つのブロック全体の書き換えを行うとデータ書き込み速度が著しく悪化する。そこで、メモリコントローラで、ブロック全体の書き換えが頻繁に発生するのを防ぎ、データ書き込み速度の低下を防止するものが知られている(例えば、特許文献1参照)。
この従来技術では、データ消去単位である複数のブロックを1次ブロック群と2次ブロック群と予備ブロック群とに分け、前記1次ブロック群に属する1次ブロックへのデータ書き込み要求に対して、1次ブロックが完全に書き込み済みで追記できない場合に、前記2次ブロック群に属する2次ブロックを前記1次ブロックの拡張ブロックとして使用する。すなわち、前記2次ブロックに1次ブロックのデータの更新部分のデータのみを追記していく。そして、2次ブロックが完全に書き込み済みで追記できなくなった時点で、前記予備ブロック群に属する予備ブロックに1次ブロックと2次ブロックの有効データのみを整理して書き込み、コピー元である前記1次ブロックと前記2次ブロックの内容を消去して、それぞれ予備ブロック群及び2次ブロック群のブロックとする。これにより、ブロック全体の書き換え頻度を低減し、データ書き込み速度の低下を防止する。
特開2001−154909号公報
しかしながら、前記1次ブロックと前記2次ブロックの有効データを整理して予備ブロックに書き込む時点ではデータ書き込み速度が一時的に著しく低下することを避けられない。更に、このデータ書き込み速度が一時的に著しく低下するタイミングは、フラッシュメモリを制御するメモリコントローラは把握することができるが、半導体メモリカードのアクセス装置では把握できない。このことは、ある一定の書き込み速度が継続的に必要である動画記録装置等のアクセス装置にとって、設計が困難となるという点で課題である。
また、アクセス装置が動画等の大容量のコンテンツデータ(以降、ストリームデータと呼ぶ)の書き込みを行う場合、ブロックのサイズを超えるデータ更新が発生する。ブロックの全てのデータを更新する場合であっても、アクセス装置からのデータ書き込みはクラスタ単位で行われるため、メモリコントローラはブロックの全データが更新される予定であることを事前に知ることができない。よって、上記従来のメモリコントローラでは、2次ブロックの途中までデータが書き込まれた状態から、該ブロックの全データを更新するような書き込みが発生すると、メモリコントローラは1次ブロック及び2次ブロックに書き込み済みのデータを(最終的には全てが書き換えられるとは知らずに)保持したまま、2次ブロックの途中から追記を行う。その結果、1ブロック分のデータ書き込みの途中で前記整理の処理が発生し、書き込み速度が一時的に著しく低下することになる。
本発明は、上記課題を解決すべくなされたものであり、その目的は、アクセス装置がブロックの全データをブロックよりもサイズの小さい単位で書き込む場合に、書き込み速度が一時的に著しく低下することのない、不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラを提供することにある。
第1の発明は、不揮発性メモリと、不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラと、を備える不揮発性記憶装置であって、メモリコントローラは、インターフェース部と、アドレス管理部と、読み書き制御部と、を有する。
インターフェース部は、データを書き込むための第1の書き込み範囲を識別する第1のコマンドと、第1の書き込み範囲の一部である第2の書き込み範囲を識別し第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドと、を受信する。
アドレス管理部は、不揮発性メモリへのデータの書き込み前に、第1のコマンドに基づいて、第1の書き込み範囲に対してデータを書き込むための新たなブロックを選定する。
読み書き制御部は、第2のコマンドに応じて、新たなブロックにデータを記録する。
ここで、データを書き込むための第1の書き込み範囲とは、例えば、不揮発性記憶装置がアクセス装置に提供するデータ読み書きのための論理空間をブロック単位で分割した範囲である。また、第2の書き込み範囲とは、例えば、アクセス装置によるデータ書き込み単位に相当する範囲である。ブロックとは、例えば、不揮発性メモリ内の物理的なブロックである。
ここでは、不揮発性メモリへのデータの書き込み前に、第1のコマンドに基づいて、第1の書き込み範囲に対してデータを書き込むための新たなブロックを選定し、第2のコマンドに応じてデータを書き込む。これにより、ストリームデータ等の大きなサイズのデータを連続的に書き込む場合であっても、データの書き込み途中にブロックの書き換え処理が発生する頻度を低減でき、データ書き込み速度が一時的に著しく低下することを防ぐことができる。
第2の発明は、不揮発性メモリと、不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラと、を備える不揮発性記憶装置であって、メモリコントローラは、インターフェース部と、アドレス管理部と、読み書き制御部と、を有する。
インターフェース部は、データの書き込みを通知する第1のコマンドと、同データの書き込みを指示する第2のコマンドと、を受信する。
アドレス管理部は、不揮発性メモリへのデータの書き込み前に、インターフェース部により第1のコマンドの次に受信される第2のコマンドに基づいて、データを書き込むための新たなブロックを選定する。
読み書き制御部は、インターフェース部により受信される第2のコマンドに応じて、新たなブロックにデータを記録する。
インターフェース部により第1のコマンドの次に受信される第2のコマンドは、データを書き込むための第1の書き込み範囲を識別する情報と、第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、第2の書き込み範囲へのデータの書き込みを指示する。
ここでは、実際にデータの書き込みが指示される第2のコマンドに基づいて、新たなブロックを選定されるため、第1コマンドによる大きなデータの書き込み処理が中止された場合であっても、第2コマンドが受信されるまではデータは破棄等されずに保持することができる。
第3の発明は、第1又は第2の発明であって、アドレス管理部は、新たなブロックを選定する前に、第1の書き込み範囲に対し選定されている一以上のブロックがあるかどうかを判断し、一以上のブロックがあると判断した場合は、一以上のブロックを破棄する。
ここで、ブロックを破棄するとは、例えば、第1の書き込み範囲に既に割り当てられたブロックを未割り当ての状態にし、論理上空のブロックとして管理することを含む。この場合、未割り当ての状態であるブロックに残されたデータは消去されてもよいし、新たなデータが書き込まれるまでそのまま残されていてもよい。つまり、どのような内容のデータであってもよく、データの状態も正常、異常を問わない。
第4の発明は、第1又は第2の発明であって、アドレス管理部は、新たなブロックを選定する前に、第1の書き込み範囲に対し選定されている一以上のブロックがあるかどうかを判断し、一以上のブロックがあると判断した場合は、一以上のブロックを消去する。
ここで、ブロックを消去するとは、例えば、当該ブロックを、全ビット0または全ビット1等のダミーデータが読み出されるような状態にすることをいう。
ここでは、新たなブロックが選定される前に、すでに選定されているブロックがあるかどうかを判断し、その判断結果に応じてブロックを破棄又は消去するため、新たなブロックの選定をより確実に行うことができる。
第5の発明は、第1又は第2の発明であって第1の書き込み範囲は、第2の書き込み範囲の整数倍である。
第6の発明は、第1の発明であって、第1のコマンドは、第1の書き込み範囲を識別する第1の識別情報を含む。
ここで、識別情報とは、例えば、第1の書き込み範囲を特定するアドレス情報である。
第7の発明は、第1又は第2の発明であって、第1のコマンドは、ストリームデータを識別する第2の識別情報を含む。
第8の発明は、第7の発明であって、アドレス管理部は、第2の識別情報毎に、新たなブロックを選定する。
ここでは、より大きな書き込み範囲を基準にして新たなブロックの選定を行うため、管理するアドレスの情報量等を削減することができ、メモリ資源を節約できる。
第9の発明は、第8の発明であって、アドレス管理部は、複数の第2の識別情報を保持し、読み書き制御部は、複数の第2の識別情報に対応する複数の新たなブロックに、並行してデータを記録する。
ここでは、並行して送信される複数の大容量のデータの書き込み制御を高速且つ効率的に行うことができる。
第10の発明は、不揮発性記憶装置へのデータの書き込み及び読み出しを制御するアクセス装置ある。このアクセス装置は、データを書き込むための第1の書き込み範囲を識別する情報を含む第1のコマンドを不揮発性記憶装置に送信し、第1のコマンドの送信後、第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報を含み第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドを、複数回、不揮発性記憶装置に送信する。
ここでは、第1の書き込み範囲を識別する情報を含む第1のコマンドの送信後、第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報を含む第2のコマンドを、複数回、不揮発性記憶装置に送信する。
これにより、ストリームデータ等の大きなサイズのデータを連続的に書き込む場合であっても、不揮発性記憶装置側においてデータの書き込み途中にブロックの書き換え処理が発生する頻度を低減でき、データ書き込み速度が一時的に著しく低下することを防ぐことができる。
第11の発明は、不揮発性記憶装置へのデータの書き込み及び読み出しを制御するアクセス装置ある。このアクセス装置は、データの書き込みを通知する第1のコマンドを不揮発性記憶装置に送信し、第1のコマンドの送信後、それぞれがデータの書き込みを指示する第2のコマンドを、複数回、不揮発性記憶装置に送信する。第1のコマンドの次に送信される第2のコマンドは、データを書き込むための第1の書き込み範囲を識別する情報と、第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、第2の書き込み範囲へのデータの書き込みを指示する。
第12の発明は、第1の発明〜第9の発明のいずれか1つの不揮発性記憶装置と、第10又は第11発明のアクセス装置と、を備える不揮発性記憶システムである
第13の発明は、不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラであって、インターフェース部と、アドレス管理部と、読み書き制御部と、備える。
インターフェース部は、データを書き込むための第1の書き込み範囲を識別する第1のコマンドと、第1の書き込み範囲の一部である第2の書き込み範囲を識別し第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドと、を受信する。
アドレス管理部は、不揮発性メモリへのデータの書き込み前に、第1のコマンドに基づいて、第1の書き込み範囲に対してデータを書き込むための新たなブロックを選定する。
読み書き制御部は、第2のコマンドに応じて、新たなブロックにデータを記録する。
第14の発明は、不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラであって、インターフェース部と、アドレス管理部と、読み書き制御部と、備える。
インターフェース部は、データの書き込みを通知する第1のコマンドと、データの書き込みを指示する第2のコマンドと、を受信する。
アドレス管理部は、不揮発性メモリへのデータの書き込み前に、インターフェース部により第1のコマンドの次に受信される第2のコマンドに基づいて、データを書き込むための新たなブロックを選定する。
読み書き制御部は、インターフェース部により受信される第2のコマンドに応じて、新たなブロックにデータを記録する。
インターフェース部により第1のコマンドの次に受信される第2のコマンドは、データを書き込むための第1の書き込み範囲を識別する情報と、第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、第2の書き込み範囲へのデータの書き込みを指示する。
本発明によれば、アクセス装置がブロックの全データをブロックよりもサイズの小さい単位で書き込んだ場合に、書き込み速度が一時的に著しく低下することを回避することが可能となる。
従って、ある一定の書き込み速度を保ちつつ、ストリームデータ等の大容量のコンテンツデータを記録可能な不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラを提供することができる。
本発明の第1実施形態における不揮発性記憶システムを示すブロック図 フラッシュメモリとブロックの関係を示す図 ブロックとページの関係を示す図 ページの構成を示す図 第1実施形態における第1の論理物理変換テーブルを示す図 第1実施形態における第2の論理物理変換テーブルを示す図 第1実施形態における空きブロック管理テーブルを示す図 ファイルシステムによる論理空間の管理方法を示す図 AUとRUとクラスタの関係を示す図 第1実施形態におけるコマンドフォーマットを示す図 第1実施形態におけるストリーム書き込み準備コマンドのフォーマットを示す図 第1実施形態の不揮発性記憶装置による初期化コマンド受信時の処理を示すフローチャート 第1実施形態の不揮発性記憶装置によるストリーム書き込み準備コマンド受信時の処理を示すフローチャート 第1実施形態の不揮発性記憶装置による書き込みコマンド及び付随する書き込みデータ受信時の処理を示すフローチャート 第1実施形態における第2のブロックの準備処理の前後の状態例を示す図 第1実施形態の不揮発性記憶装置による読み出しコマンド受信時の処理を示すフローチャート 第1実施形態のアクセス装置による初期化処理を示すフローチャート 第1実施形態のアクセス装置によるストリーム書き込み処理を示すフローチャート 第1実施形態の不揮発性記憶システムにおけるストリームデータ書き込み時のコマンド・レスポンス・データの転送シーケンスを示す図 第1実施形態のアクセス装置による通常のデータ書き込み処理を示すフローチャート 第1実施形態の不揮発性記憶システムにおける通常のデータ書き込み時のコマンド・レスポンス・データの転送シーケンスを示す図 第1実施形態のアクセス装置によるデータ読み出し処理を示すフローチャート 本発明の第2実施形態におけるストリーム管理テーブルを示す図 第2実施形態におけるストリーム書き込み準備コマンドのフォーマットを示す図 他の実施形態の不揮発性記憶装置によるストリーム書き込み準備コマンド受信時の処理を示すフローチャート 他の実施形態の不揮発性記憶装置による書き込みコマンド及び付随する書き込みデータ受信時の処理を示すフローチャート
以下、本発明の実施形態について添付の図面を参照しながら説明する。
(第1実施形態)
<1.不揮発性記憶システム1の構成>
図1は、本発明の第1実施形態における不揮発性記憶システム1の構成を示している。
本実施形態の不揮発性記憶システム1は、不揮発性記憶装置100と、不揮発性記憶装置100が装着されるアクセス装置200とを有する。
<1.1.アクセス装置200の構成>
アクセス装置200は、入力制御部201と、入力部202と、バッファ203と、カードインターフェース(カードIF)204と、表示部205と、表示制御部206と、符号化部207と、システム制御部208とを含む。アクセス装置100は、例えば、ビデオカメラ等の動画記録装置である。
入力部202は、動画等のストリームデータが入力される部分であり、入力制御部201によって制御される。
バッファ203は、入力部202から入力されたストリームデータを一時的に格納する部分であり、RAM等で構成される。
カードIF204は、不揮発性記憶装置100にアクセスし、データの読み書きを行う部分である。
表示部205は、不揮発性記憶システム1に関する情報を表示する部分であり、表示制御部206によって制御される。
符号化部207は、バッファ203に格納されたストリームデータを符号化する部分である。
システム制御部208は、内部にプログラム用のROMや作業用のRAMを含み、アクセス装置200全体を制御するものである。
入力部202から入力されたストリームデータは一時的にバッファ203に格納され、符号化部207によって符号化された後、カードIF204を介して不揮発性記憶装置100に書き込まれる。
<1.2.不揮発性記憶装置100の構成>
不揮発性記憶装置100は、メモリコントローラ110と、フラッシュメモリ群である不揮発性メモリ120とを含む。
<1.2.1.メモリコントローラ110>
メモリコントローラ110は、アクセス装置200との通信を行うホストインターフェース(ホストIF)101と、バッファ102と、読み書き制御部103と、CPU104と、レジスタ部105と、アドレス管理部106とを含む。
バッファ102は、RAM等で構成され、アクセス装置200から転送されたデータ、あるいは不揮発性メモリ120から読み出されたデータを一時的に保持するものである。バッファ102は、アクセス装置200とメモリコントローラ110間のデータ転送と、メモリコントローラ110と不揮発性メモリ120間のデータ転送の単位やタイミングの違いを吸収するのに利用される。
読み書き制御部103は、アドレス管理部106が指定した物理アドレスに基づいてバッファ102に一時的に保持されたデータを不揮発性メモリ120に書き込む。更に、読み書き制御部103は、不揮発性メモリ120からデータを読み出し、該データを一時的にバッファ102に保持する。
CPU104は、内部にプログラム用ROMや作業用のRAM等を含み、メモリコントローラ110全体を制御するものである。
レジスタ部105は、不揮発性記憶装置100に関する各種のパラメータ情報を保持する部分である。
アドレス管理部106は、アクセス装置200のアクセスに伴って転送された論理アドレスを不揮発性メモリ120内の物理アドレスに変換し、不揮発性メモリ120内の記録状態等を管理する部分である。
本実施形態におけるアドレス管理部106は、第1の論理物理変換テーブル131(図5)と、第2の論理物理変換テーブル132(図6)と、空きブロック管理テーブル140(図7)とをRAM上に構築し、使用する。詳細は後述する。
<1.2.2.不揮発性メモリ120>
図2に示すように、不揮発性メモリ120であるフラッシュメモリは複数のブロック121から構成される。ブロック121はフラッシュメモリにおけるデータ消去単位である。
更に、図3に示すように、各ブロック121は複数のページ122から構成される。ページ122はフラッシュメモリにおける書き込み単位である。ブロック121に対する書き込みは常に物理的に先頭のページから順に行われる。
また、図4に示すように、各ページ122は、アクセス装置200から転送されたデータ等を格納するデータ格納領域123と、メモリコントローラ110が使用する管理情報を格納する管理情報格納領域124とを含む。管理情報格納領域124には、データ格納領域123に格納されたデータのページ単位の論理アドレス情報や、誤り訂正符号等の情報が格納される。
<1.2.3.アドレス管理部106のテーブル>
アドレス管理部106は、ブロック単位で論理アドレスと物理アドレスの対応を管理する第1の論理物理変換テーブル131と、第2の論理物理変換テーブル132とを含む。
≪第1の論理物理変換テーブル131≫
図5は、第1の論理物理変換テーブル131の構成例を示す。第1の論理物理変換テーブル131には、論理ブロック(不揮発性記憶装置100がアクセス装置200に提供するデータ読み書きのための論理空間をブロック単位で分割したもの)と物理ブロック(不揮発性メモリ120内の物理的なブロック)の対応を1対1で管理する。以下、第1の論理物理変換テーブル131に登録された物理ブロックを第1のブロックと呼ぶ。
本実施形態の特徴として、前記第1の論理物理変換テーブル131は、追記フラグを含む。追記フラグは、第1のブロックへの追記の可否に関する情報をON/OFFの2値で設定する。追記フラグがOFFの場合とは、第1のブロックの書き込みが完結している場合や、第1のブロックが未だ割り当てられていない場合等である。追記フラグがONの場合とは、第1のブロックに未書き込みのページが存在する場合である。
≪第2の論理物理変換テーブル132≫
図6は、第2の論理物理変換テーブル132の構成例を示す。第2の論理物理変換テーブル132では、特定の論理ブロックに対して、前記第1のブロックとは別の物理ブロックを割り当てる。以下、第2の論理物理変換テーブル132に登録された物理ブロックを第2のブロックと呼ぶ。
前記第2のブロックは、前記第1のブロックに書き込まれた1ブロック分のデータのうち、一部分のみを更新する場合に、更新データを書き込むためのブロックである。更新の最小単位は、ブロックへの書き込み単位であるページとなる。本実施形態では、第1の論理物理変換テーブル131において第1のブロックの追記フラグがOFF(すなわち追記不可)の場合にのみ、第2の論理物理変換テーブル132において第2のブロックを登録できるものとする。
図6の例では最大4つの論理ブロックに対して、第2のブロックの割り当てを可能としている。この第2のブロックが割り当て可能な論理ブロックの数は、不揮発性記憶装置100の設計によって任意の値に設定してよい。第2のブロックの数を増加すると、ランダムな論理アドレスへの書き込みが発生した場合に、第2のブロックに追記できる確率が増加し、より効果的に書き込み速度の低下を防止できるというメリットがある。しかし、第1のブロックとは別のブロックの割り当てが必要となるので、不揮発性記憶装置100がアクセス装置200に提供できる論理空間を一定に保つためには、無制限に増加することはできない。
また、第2の論理物理変換テーブル132は、第2のブロックの書き込み状態を管理するための情報を含んでいてもよい。例えば、図6に示すように、第2のブロックにおける書き込み済みのページ数や、書き込んだデータの論理アドレスが連続なのかランダムなのかといった情報を含んでいてもよい。これらの情報は、第2のブロックの書き込み済みのページの管理情報格納領域124を読み出すことによっても取得もしくは作成することができるが、RAM上に構成される第2の論理物理変換テーブル132の一部として保持することで、書き込み速度の高速化が期待できる。
更に、アドレス管理部106は、各物理ブロックの使用状況を管理するための空きブロック管理テーブル140を備えている。
図7は、空きブロック管理テーブル140の構成例を示す。空きブロック管理テーブル140は、不揮発性メモリ120内の全物理ブロックがそれぞれ使用中なのか空きなのかという情報を保持する。「空き」とは、有効なデータが登録されておらず、新しいデータの格納用として使用することができる物理ブロックであることを意味する。一方、「使用中」とは、それ以外の物理ブロックであり、前記第1の論理物理変換テーブル131に登録された第1のブロックや、前記第2の論理物理変換テーブル132に登録された第2のブロックや、メモリコントローラ110が内部的に使用するシステム情報を格納したブロック(以降、システム情報ブロックと呼ぶ)や、データ書き込みができない不良ブロック等が相当する。
<1.3.アクセス装置200による論理空間の管理>
<1.3.1.論理空間の管理の概要>
次に、不揮発性記憶装置100が提供する論理空間をアクセス装置200が管理する方法について述べる。
本実施形態におけるアクセス装置200は、前記論理空間をFATファイルシステムによって管理する。FATファイルシステムには、FAT12、FAT16、FAT32、exFAT等の様々なバリエーションが存在するが、いずれも図8に示すように、ファイルシステムの管理情報を格納するファイルシステム管理情報格納領域と、ストリームデータ等のユーザーデータを格納するユーザーデータ領域とから構成される。ユーザーデータ領域は、複数のクラスタと呼ばれる単位に分割されて管理される。クラスタのサイズを超えるデータは複数のクラスタに分割して格納され、クラスタ間のつながりを表すリンク情報は前記ファイルシステム管理情報領域内のFATテーブルとして管理される。
従って、アクセス装置200によるデータ書き込みの基本単位はクラスタとなる。但し、ストリームデータの書き込みにおいては、論理アドレスが連続する複数のクラスタから構成されるRU(Recording Unit)単位(図9)を基本単位とする。これにより、サイズの大きいストリームデータの書き込みにおいて、不揮発性記憶装置100への書き込みコマンドを繰り返し発行することに伴うオーバーヘッドを削減することができる。
更に、アクセス装置200が指定するストリームデータの書き込みアドレスは、前記RUの整数倍のAU(Allocation Unit)単位(図9)内で、先頭から順にインクリメントさせる。AUを論理ブロックの整数倍のサイズとすることにより、ストリームデータが論理ブロックの先頭から連続的に書き込まれるため、不揮発性記憶装置100のメモリコントローラ110はストリームデータを不揮発性メモリ120に効率的に書き込むことができる。なお、本実施形態ではAUを論理ブロックの1倍のサイズ(すなわち同じサイズ)として説明する。
図9にAUとRUとクラスタの関係を示す。
<1.3.2.コマンドフォーマット>
不揮発性記憶装置100は、アクセス装置200から転送される少なくとも4つのコマンドを処理する。
「書き込みコマンド」(第2のコマンド)は、データを不揮発性メモリ120に書き込むためのコマンドである。「読み出しコマンド」は、不揮発性メモリ120に格納されたデータを読み出してアクセス装置200に転送するためのコマンドである。「初期化コマンド」は、不揮発性記憶装置100への読み書きを開始するための初期化処理をするためのコマンドである。「ストリーム書き込み制御コマンド」は、ストリームデータを書き込むときの制御を行うためのコマンドである。
図10にこれらのコマンドのフォーマット例を示す。図10の例において、コマンド300は、コマンドの開始を示すスタートビット301(1ビット)、コマンドであることを示すコマンドフラグ302(1ビット)、コマンドの種別を示すコマンドインデックス303(6ビット)、コマンドの種別に応じたパラメータを設定するアーギュメント304(32ビット)、コマンド転送時のエラーを検出するためのCRC305(7ビット)、コマンドの終端を示すエンドビット306(1ビット)を含み、計48ビット(すなわち、6バイト)で構成される。
前記書き込みコマンドの場合には、アーギュメント304に書き込み開始論理アドレスがセクタ単位(512バイト単位)で格納される。
前記読み出しコマンドの場合には、アーギュメント304に読み出し開始論理アドレスがセクタ単位(512バイト単位)で格納される。
前記ストリーム書き込み制御コマンドは、図11に示すように、アーギュメント304内にサブコード307(4ビット)を設けることで制御の方法を拡張できるものとし、少なくともストリームデータを書き込むAUを指定するためのサブコードである「書き込みAU指定」が定義されているものとする。
以下、サブコードに「書き込みAU指定」が格納されたストリーム書き込み制御コマンドを「ストリーム書き込み準備コマンド」(第1のコマンド)と呼称する。
図11にストリーム書き込み準備コマンドのフォーマット詳細例を示す。ストリーム書き込み準備コマンドのアーギュメント304は、「書き込みAU指定」を示すサブコード307(4ビット)と、将来拡張用の予約ビット308(1ビット)と、ストリームを書き込むAUのアドレスであるAUアドレス309(27ビット)とから構成される。
書き込みコマンドや読み出しコマンドでは、論理アドレスをセクタ単位で32ビットで表現できるので最大2TB(テラバイト)の論理空間を管理できる。一方、AUアドレスは27ビットの表現となるが、1つのAUのサイズが16KB以上であれば2TB以上の論理空間を管理できることになる。
<1.4.不揮発性記憶装置100の動作>
まず、不揮発性記憶装置100の動作を説明する。
<1.4.1.初期化処理>
図12は、メモリコントローラ110による初期化コマンド受信時の処理を示すフローチャートである。
≪ステップS101〜S103≫
不揮発性記憶装置100への電源投入後、メモリコントローラ110はハードウェアの初期化を行い、コマンドを受信可能な状態となる。その後、アクセス装置200から前記「初期化コマンド」を受信すると、メモリコントローラ110が不揮発性メモリ120にアクセスを開始するために必要なハードウェアの初期化処理を行う。
その後、メモリコントローラ110は読み書き制御部103を介して不揮発性メモリ120にアクセスし、不揮発性メモリ120に格納されている、アドレス管理のためのシステム情報が格納されたシステム情報ブロックを読み出し、アドレス管理部106に第1の論理物理変換テーブル131、第2の論理物理変換テーブル132、空きブロック管理テーブル140等を作成する(S102)。
更に、前記システム情報ブロックやCPU104のROMに格納された情報を参照して、レジスタ部105に各種のパラメータ情報を設定する(S103)。パラメータ情報として、少なくともAUのサイズ情報を含むものとする。
<1.4.2.ストリーム書き込み準備処理>
図13は、メモリコントローラ110によるストリーム書き込み準備コマンド受信時の処理を示すフローチャートである。
≪ステップS201〜S206≫
メモリコントローラ110は、アクセス装置200から「ストリーム書き込み準備コマンド」を受信すると、AUアドレス309の値とレジスタ部105に設定したAUのサイズ情報から、指定されたAUに対応する論理ブロック(以下、指定論理ブロックと呼ぶ。)を特定する(S201)。指定論理ブロックはアクセス装置200がこれからストリーム書き込みを行う論理ブロックとして認知される。
その後、アドレス管理部106の第2の論理物理変換テーブル132を参照し、指定論理ブロックの登録があるかどうかを検索することで、第2のブロックが割り当てられているかを判断する(S202)。
登録があった場合には、第2の論理物理変換テーブル132を更新して未登録状態とすることで、第2のブロックを消去する(S203)。
本実施形態において、ブロックを消去するとは、当該ブロックを、全ビット0または全ビット1等のダミーデータが読み出されるような状態にする、つまり当該ブロックにおけるデータを論理上消去した状態にすることをいう。
同第2のブロックは空きブロック管理テーブル140において空きブロックとなり再利用されるが、同第2のブロックに書き込まれていたデータは上述のように論理上消去される。
更に、アドレス管理部106の第1の論理物理変換テーブル131を参照して指定論理ブロックに対応する第1のブロックの物理ブロックアドレスの登録があるかどうかを判断する(S204)。
登録があった場合には、第1の論理物理変換テーブル131を更新して第1のブロックを未割り当て(未アロケート)の状態とすることで、第1のブロックを消去する(S205)。消去された第1のブロックは空きブロック管理テーブル140において空きブロックとなり再利用されるが、書き込まれていたデータは上記と同様に論理上消去される。
空きブロック管理テーブル140を参照して空きブロックを取得してデータを論理上消去した後、第1の論理物理変換テーブル131の指定論理ブロックに対する第1のブロックとして消去済みの物理ブロックを登録し、その追記フラグをONに設定する(S206)。
以上の処理によって、ストリーム書き込み準備処理コマンドによって指定されたAUに対応する物理ブロックの書き込み済みデータは論理上消去されるとともに、前記AUには消去済みの物理ブロックが割り当てられ、先頭ページからの書き込みが可能な状態となる。
<1.4.3.書き込み処理>
図14は、メモリコントローラ110による書き込みコマンド及び付随する書き込みデータ受信時の処理を示すフローチャートである。
≪ステップS301〜S312≫
メモリコントローラ110は、アクセス装置200から上記「書き込みコマンド」を受信すると、アーギュメント304から書き込み開始論理アドレス(セクタ単位)を取得し(S301)、論理ブロックアドレスに変換する。
その後、アドレス管理部106の第1の論理物理変換テーブル131を参照して、論理ブロック(以下、指定論理ブロックと呼ぶ。)の追記フラグを参照する(S302)。
追記フラグがOFFの場合は、更に第2の論理物理変換テーブル132を参照して第2のブロックが割り当てられているかを判断する(S303)。
第2のブロックが割り当てられている場合は、第2の論理物理変換テーブル132を参照し、該第2のブロックの書き込み状態を参照することで、アクセス装置200から転送される書き込みデータを該第2のブロックの未書き込みページに追記できるか否かを判断する(S304)。
ステップS303で第2のブロックが割り当てられていない場合や、ステップS304で第2のブロックに追記できないと判断した場合には、アクセス装置200から転送される書き込みデータを書き込むための第2のブロックを準備するための処理を行う(S305)。このとき、必要に応じて不揮発性メモリ120のシステム情報ブロックの更新を行う。
ステップS305の処理では、まず第2の論理物理変換テーブル132の空きエントリを準備する。空きエントリがない場合は、既に第2の論理物理変換テーブル132に登録済みの論理ブロックXの登録を解消することで空きエントリを準備する。
この論理ブロックXの登録解消の処理を図15を用いて説明する。まず、空きブロック管理テーブル140から空きブロックを取得し、上記と同様にデータを論理上消去する。その後、論理ブロックXを構成する第1のブロックと第2のブロックに書き込み済みのデータから、1論理ブロック分の有効なデータを前記データ消去済みの空きブロックにコピーする。有効なデータの検索は、第2の論理物理変換テーブル132の書き込み状態の情報や、第1のブロックや第2のブロックの書き込み済みページの管理情報格納領域124に格納されたページ単位の論理アドレス情報等を参照して行われる。そして、コピー先のブロックを論理ブロックXの新たな第1のブロックとして第1の論理物理変換テーブル131に登録し、追記フラグはOFFとする。これに伴い、コピー元の第1のブロックは第1の論理物理変換テーブル131において未割り当てとなるので、空きブロック管理テーブル140にて空きブロックとして登録され、再利用される。また、コピー元の第2のブロックは第2の論理物理変換テーブル132において未登録とされ、更に空きブロック管理テーブル140にて空きブロックとして登録され、再利用する。
以上により、論理ブロックXの有効データを保持しつつ、第2の論理物理変換テーブル132に空きエントリを準備することができる。但し、1論理ブロック分の有効なデータのコピーには比較的長い時間が必要であり、フラッシュメモリの品種にもよるが、例えば200ミリ秒〜300ミリ秒を要する。
一方、ステップS303で第2のブロックが割り当てられていると判断し、更にステップS304で第2のブロックを追記できると判断した場合は、ステップS306の処理に進み、アクセス装置200が転送する書き込みデータを第2のブロックに書き込む(S306)。
書き込みが完了すれば処理を終了し、続きの書き込みデータがある場合には次の論理ブロックに対してステップS302からの処理を実施する(S307)。
ステップS302において、アドレス管理部106の第1の論理物理変換テーブル131を参照して、指定論理ブロックの追記フラグがONの場合は、第1の論理物理変換テーブル131に登録された第1のブロックの書き込み済みページの管理情報格納領域124に格納されたページ単位の論理アドレス情報等を参照して、アクセス装置200が転送する書き込みデータを該第1のブロックに追記可能か否かを判断する(S308)。
追記可能であれば該第1のブロックの未書き込みページにアクセス装置200が転送する書き込みデータを書き込んでいく(S309)。
なお、後述するが、アクセス装置200が追記フラグONの第1のブロックにストリームデータを書き込む場合は、常に論理アドレスが連続になるように制御するため、ステップS308の判断は常に追記可能となる。なんらかの異常によって、追記不可と判断された場合には異常系処理(S312)を行って処理を終了する。
ステップS309の処理後、該第1のブロックの未書き込みページが全て書き込み済みになったかどうかを判断する(S310)。全て書き込み済みになる前に書き込みが完了すれば処理を終了する。
全て書き込み済みになった場合には、第1の論理物理変換テーブル131の追記フラグをONからOFFに変更し、必要に応じて不揮発性メモリ120のシステム情報ブロックを更新する(S311)。
そして、書き込みが完了すれば処理を終了するが、続きの書き込みデータがある場合には次の論理ブロックに対してステップS302からの処理を実施する(S307)。
<1.4.4.読み出し処理>
図16は、メモリコントローラ110による読み出しコマンド受信時の処理を示すフローチャートである。
≪ステップS401〜S407≫
メモリコントローラ110は、アクセス装置200から前記「読み出しコマンド」を受信すると、アーギュメント304から読み出し開始論理アドレス(セクタ単位)を取得し(S401)、論理ブロックアドレスに変換する。
その後、アドレス管理部106の第1の論理物理変換テーブル131を参照して、論理ブロックの追記フラグを参照する(S402)。
追記フラグがOFFの場合は、更に第2の論理物理変換テーブル132を参照して第2のブロックが割り当てられているかを判断する(S403)。
第2のブロックが割り当てられている場合は、第1の論理物理変換テーブル131に登録された第1のブロックと前記第2のブロックから有効なデータを検索して、読み出しデータとしてアクセス装置200に転送する(S404)。
この有効なデータの検索は、第2の論理物理変換テーブル132の書き込み状態の情報や、第1のブロックや第2のブロックの書き込み済みページの管理情報格納領域124に格納されたページ単位の論理アドレス情報等を参照して行われる。
一方、ステップS403で第2のブロックが割り当てられていない場合には、第1のブロックから読み出したデータを読み出しデータとしてアクセス装置200に転送する(S405)。
ステップS404及びS405の処理において、第1のブロックが未割り当てであり、読み出し対象のデータが存在しない場合には、全ビット0または全ビット1等のダミーデータを読み出しデータとして転送する。すなわち、本実施形態では、未割り当ての状態のブロックは、このようにデータが論理上消去された状態として管理されている。
ステップS402において追記フラグがONの場合は、第1の論理物理変換テーブル131に登録された第1のブロックから読み出したデータを読み出しデータとしてアクセス装置200に転送する(S406)。読み出し対象が未書き込みページに相当する場合には、全ビット0または全ビット1等のダミーデータを読み出しデータとして転送してもよい。
その後、読み出しが完了すれば処理を終了するが、次の論理ブロックに対して読み出しが必要な場合にはステップS402からの処理を実施する(S407)。
<1.5.アクセス装置200の動作>
次に、アクセス装置200の動作を説明する。
<1.5.1.初期化処理>
図17は、アクセス装置200による不揮発性記憶装置100に関する初期化処理を示すフローチャートである。
≪ステップS501〜S503≫
アクセス装置200は、カードIF204等のハードウェアを初期化する(S501)。
不揮発性記憶装置100の装着を検出すると、不揮発性記憶装置100に電源を投入し、上述した「初期化コマンド」を発行する(S502)。
不揮発性記憶装置100の初期化が完了すると、アクセス装置200はカードIF204を介して不揮発性記憶装置100のレジスタ部105に格納されたAUのサイズ情報等を取得する(S503)。続けて、不揮発性記憶装置100に格納されたファイルシステムの管理情報等を読み出してファイルシステムによる読み書きの準備を行う。
<1.5.2.ストリーム書き込み処理>
図18は、アクセス装置200によるストリーム書き込み処理を示すフローチャートである。アクセス装置200の入力部202から入力されたストリームデータはバッファ203に一時的に格納され、符号化部207で符号化された後、カードIF204を介して不揮発性記憶装置100に書き込まれる。
≪ステップS601〜S609≫
まず、アクセス装置200はファイルシステムの管理情報を参照して、ストリームデータを書き込むAUを決定する(S601)。本実施形態においてアクセス装置200は、ストリームデータをAU内の先頭RUから順番にRU単位で書き込んでいく。従って、書き込みAUの決定に伴い、書き込みRUも自動的に決定される。
次に、アクセス装置200は、不揮発性記憶装置100に対し上記「ストリーム書き込み準備コマンド」を発行する(S602)。アーギュメント304のAUアドレス309(図11)にはステップS601で決定したAUのアドレスを指定する。これにより、不揮発性記憶装置100では図13のストリーム書き込み準備処理を行い、該AUには消去済みの物理ブロックである第1のブロックが追記フラグONの状態で割り当てられる。
バッファ203にRUのサイズ分のストリームデータが準備されているかどうかを判断する(S603)。
準備されている場合は、不揮発性記憶装置100に上述の「書き込みコマンド」を発行し、バッファ203に格納されたRUのサイズ分のストリームデータを転送する(S604)。このとき、アーギュメント304で指定する書き込み開始論理アドレス(セクタ単位)は、上記「ストリーム書き込み準備コマンド」で指定したAUの先頭論理アドレスから順に指定する。これにより、不揮発性記憶装置100では図14の書き込み処理を行い、転送されたRUサイズのデータを追記フラグONの第1のブロックの先頭から順に追記していく。
ステップS604の処理の後、アクセス装置200はシステム制御部208の内部のRAM等に保持しているファイルシステム情報を、RU書き込み後の状態に更新する(S605)。
ストリームデータをAUの最後まで書き込まれたかどうかを判断する(S606)。
ストリームデータをAUの最後まで書き込まれていない場合は、AU内の未書き込みRUのうち先頭のRUを次の書き込み先に決定し(S607)、ステップS603の処理に戻る。AUの最後までデータを書き込んだ場合には、次の書き込み先AUを探すためにステップS601の処理に戻る。
一方、ステップS603の処理で、バッファ203にデータが準備される前である場合には、ストリームデータが終了した場合(S60)には、アクセス装置200がシステム制御部208の内部のRAM等に保持しているファイルシステム情報を不揮発性記憶装置100に書き込んで(S609)、ストリーム書き込み処理を終了する。
≪ストリーム書き込み処理の転送シーケンス≫
図19は、上述したストリーム書き込み処理におけるコマンド・レスポンス・データの転送シーケンス例を示す。
図19では、アクセス装置200のカードIF204と不揮発性記憶装置100のホストIF101の間で、少なくとも次の5本の信号線を備えている。1つはアクセス装置200から不揮発性記憶装置100へのコマンドや、不揮発性記憶装置100からアクセス装置200へのコマンドに対するレスポンスを転送する信号線(C/R)である。残りの4つは、書き込みや読み出しのデータをアクセス装置200及び不揮発性記憶装置100間で並列に転送するための信号線(D0、D1、D2、D3)である。
図19において、水平方向は時間軸と表しており、左から右に時間の流れを表している。ストリーム書き込み処理は、最初にストリーム書き込み準備コマンドとそのレスポンスが送受信されて、ストリームデータを書き込むAUが共有される。その後、RU単位で、書き込みコマンド、レスポンス、及び付随する書き込みデータ転送の組が送受信されるのを繰り返すことで、前記AUに対するストリームデータ書き込みが行われる。別のAUに書き込む場合には、ストリーム書き込み準備コマンドの送受信からの繰り返しとなる。
なお、図示は省略しているが、RU単位の書き込みデータ転送が終了したときは、アクセス装置200側からストップコマンドが送信され、不揮発性記憶装置100からストップコマンドに対するレスポンスが送信される。
<1.5.3.通常のデータの書き込み処理>
図20は、アクセス装置200による通常のデータの書き込み処理を示すフローチャートである。本実施形態における通常のデータとはストリームデータ以外のデータ、すなわちファイルシステムの管理情報やストリームデータに付随するメタデータや複数のストリームデータに関連するデータ(例えば、プレイリスト)等の、比較的サイズの小さいデータを指す。これらのデータはアクセス装置200のシステム制御部208のRAM上等で管理され、カードIF204を介して不揮発性記憶装置100に書き込まれる。
≪ステップS701〜S705≫
まず、アクセス装置200は、ファイルシステムの管理情報を参照して、通常のデータを書き込むクラスタを決定する(S701)。
次に、アクセス装置200は、不揮発性記憶装置100に上述した「書き込みコマンド」を発行し、システム制御部208のRAM等に格納されたクラスタサイズ分のデータを転送する(S702)。これにより、不揮発性記憶装置100では図14の書き込み処理を行い、転送されたクラスタサイズのデータを第2のブロックに書き込む。第2の論理物理変換テーブル132(図6)の状態によっては、ステップS305(図14)の第2のブロックの準備処理が必要となる。この場合、例えば200ミリ秒〜300ミリ秒の待ち時間が発生する場合があるが、今回書き込むクラスタデータ以外のデータについては以前に書き込んだデータが保持される。
ステップS702の処理の後、アクセス装置200はシステム制御部208の内部のRAM等に保持しているファイルシステム情報を、クラスタ書き込み後の状態に更新する(S703)。
次のクラスタへの書き込みデータがある場合には(S704)、ステップS701の処理に戻って書き込みを継続する。
次のクラスタへの書き込みデータがない場合、アクセス装置200がシステム制御部208の内部のRAM等に保持しているファイルシステム情報を不揮発性記憶装置100に書き込んで(S705)、通常のデータ書き込み処理を終了する。
≪通常の書き込み処理の転送シーケンス≫
図21に通常の書き込み処理におけるコマンド・レスポンス・データの転送シーケンス例を示す。図21において、アクセス装置200と不揮発性記憶装置100間の信号線の構成は図19の場合と同様である。通常のデータ書き込み処理は、クラスタ単位で、書き込みコマンド、レスポンス、及び付随する書き込みデータ転送の組が送受信されるのを繰り返す。なお、図示は省略しているが、クラスタ単位の書き込みデータ転送が終了したときは、アクセス装置200側からストップコマンドが送信され、不揮発性記憶装置100からストップコマンドに対するレスポンスが送信される。
<1.5.4.データ読み出し処理>
図22は、アクセス装置200によるデータ読み出し処理を示すフローチャートである。データの読み出しはストリームデータもストリームデータ以外のデータも同様にクラスタ単位で行われる。
≪ステップS801〜S803≫
まず、アクセス装置200は、ファイルシステムの管理情報を参照して、データを読み出すクラスタを決定する(S801)。
次に、アクセス装置200は、不揮発性記憶装置100に上述した「読み出しコマンド」を発行し、システム制御部208のRAMまたはバッファ203等に不揮発性記憶装置100から受信したデータを格納する(S802)。
アクセス装置200は、次のクラスタの読み出し要求がある場合には(S803)、ステップS801の処理に戻って読み出しを継続し、なければ処理を終了する。
<1.6.第1実施形態の効果>
本実施形態によれば、アクセス装置200がブロックの全データをブロックよりもサイズの小さい単位で書き込む場合には、予め、ストリーム書き込み準備コマンドを発行することで、該ブロックのアドレスに関する情報を不揮発性記憶装置100に通知する。これにより、不揮発性記憶装置100は無用な整理のためのデータコピーを行うことなく、消去済みのブロックの先頭からストリームデータを一定の速度で書き込むことが可能となる。
また、ストリーム書き込み準備処理(図13)においては、取得したAUアドレスが割り当てられた第1又は第2のブロックがあるかどうかを判断し、割り当てられている場合はブロックを消去し、新たなブロックを割り当てるため、より確実に新たなブロックの割り当てが可能となる。
以上のように、本実施形態によれば、ある一定の書き込み速度を保ちつつ、ストリームデータ等の大容量のコンテンツデータを記録可能なメモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システムを提供することができる。
(第2実施形態)
<2.不揮発性記憶システム1の構成>
本発明の第2実施形態における不揮発性記憶システム1は、第1の論理物理変換テーブル131において論理ブロック毎に設けていた追記フラグを有さず、代わりにアドレス管理部106にストリーム管理テーブル150を備えている。それ以外の構成は第1実施形態のものと同様である。なお、第1実施形態と同様である構成については、同一の符号をもって参照し、詳細な説明は省略する。
<2.1.ストリーム管理テーブル150>
図23にストリーム管理テーブル150の構成例を示す。
ストリーム管理テーブル150は、アクセス装置200がストリームデータを書き込む論理ブロックのアドレスと、その論理ブロックに対応する第1のブロックの書き込み状態を管理するために用いる。ストリーム管理テーブル150に論理ブロックアドレスが登録されていることは、第1実施形態における追記フラグがONに設定されることと等価な扱いとする。
図23の例では、最大4個のストリームデータに対して、ストリームデータ書き込み先の論理ブロックのアドレス情報と、対応する第1のブロックへの書き込み状態に関する情報(例えば書き込み済みのページ数)を登録できる。
第1実施形態では、第1の論理物理変換テーブル131の全論理ブロックに対して追記フラグを用意していたが、第2実施形態では並列に書き込むストリームデータの数だけの論理ブロックアドレスをストリーム管理テーブル150に記憶するようにしている。従って、並列に書き込むストリームデータの数が少ない場合には、アドレス管理部106が使用するメモリを削減することができる。
更に、ストリーム管理テーブル150に第1のブロックの書き込み状態を保持することにより、不揮発性記憶装置100による書き込み処理において、図14のステップS308では、第1のブロックへの追記の可否の判定を不揮発性メモリ120へのアクセスなし行うことができ、高速化が図れる。
<2.2.アクセス装置200による論理空間の管理>
不揮発性記憶装置100が提供する論理空間をアクセス装置200が管理する方法は第1実施形態と同様である。
<2.2.1.コマンドフォーマット>
「ストリーム書き込み準備コマンド」のフォーマットは、図24に示すように、ストリーム番号310を含むことにより、アクセス装置200がストリーム番号310を指定できるようにする。それ以外のフォーマットは図11に示す第1実施形態と同様である。
<2.3.不揮発性記憶装置100の動作>
本実施形態に係る不揮発性記憶装置100の動作は、以下の点において第1実施形態と異なる。
<2.3.1.ストリーム書き込み準備処理>
メモリコントローラ110がストリーム書き込み準備コマンドを受信した場合の処理(図13)においては、本実施形態は第1実施形態と次の点において異なる。
ステップS206において、追記フラグをONにする代わりに、ストリーム管理テーブル150に論理ブロックアドレスを登録する。登録先のストリーム番号は、アーギュメント304のストリーム番号310で指定された番号とする。
<2.3.2.書き込み処理>
また、メモリコントローラ110が書き込みコマンド及び付随する書き込みデータを受信した場合の処理(図14)においては、本実施形態は第1実施形態と次の点において異なる。
ステップS302では、追記フラグがONか否かを判断する代わりに、ストリーム管理テーブル150に該論理ブロックアドレスの登録があるか否かを判断する。
ステップS311では、追記フラグをOFFにする代わりに、ストリーム管理テーブル150から論理ブロックアドレスの登録を削除する。
<2.3.3.読み出し処理>
また、メモリコントローラ110が読み出しコマンドを受信した場合の処理(図16)においては、本実施形態は第1実施形態と次の点において異なる。
ステップS402では、追記フラグがONか否かを判断する代わりに、ストリーム管理テーブル150に該論理ブロックアドレスの登録があるか否かを判断する。
上記以外の不揮発性記憶装置100の動作については、第1実施形態とほぼ同様である。
<2.4.アクセス装置200の動作>
アクセス装置200は、図18のステップS602のストリーム書き込み準備コマンドの発行において、ストリームデータ毎に異なるストリーム番号をストリーム番号310として指定する。その他の動作については第1実施形態とほぼ同様である。
<2.5.第2実施形態の効果>
以上のように、本実施形態においては、第1実施形態と同様に、アクセス装置200がブロックの全データをブロックよりもサイズの小さい単位で書き込む場合には、予め、ストリーム書き込み準備コマンドを発行することで該ブロックのアドレスに関する情報を不揮発性記憶装置100に通知する。これにより、不揮発性記憶装置100は無用な整理のためのデータコピーを行うことなく、消去ブロックの先頭からストリームデータを書き込むことが可能となる。従って、ある一定の書き込み速度を保ちつつ、ストリームデータ等の大容量のコンテンツデータを記録可能なメモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システムを提供するとができる。特に、本実施形態に係るメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムは、大容量化に伴い大ブロック化が進むフラッシュメモリを用いた半導体記録媒体において有効である。
また、本実施形態においては、第1実施形態の効果に加えて、次の効果を有する。本実施形態によれば、並行して書き込むストリームデータの数だけの論理ブロックアドレスをストリーム管理テーブル150に記憶するようにしている。従って、並列に書き込むストリームデータの数が少ない場合には、アドレス管理部106が使用するメモリを削減することができる。また、ストリーム管理テーブル150に第1のブロックの書き込み状態を保持することにより、第1のブロックへの追記の可否の判定を不揮発性メモリ120へのアクセスなし行うことができ、高速化が図れる。
(その他実施形態)
(1)
上記実施形態又は下記の実施形態においては、第1及び第2ブロックを空きブロックにする場合、ブロックを消去するとしているが、ブロックを破棄してもよい。ブロックを破棄するとは、論理上、当該ブロックを空のブロックとして管理することを含む。例えば、第1又は第2のブロックを未割り当ての状態として管理することである。この場合、未割り当ての状態であるブロックに残されたデータは消去されていても、新たなデータが書き込まれるまでそのまま残されていても、それ以外の任意のデータ(例えば、一部または全部が元のデータと異なっているデータ)であっても、よい。つまりどのような内容のデータであってもよく、データの状態も正常、異常を問わない。破棄することにより読出し時には任意のデータが読み出されることになる。
(2)
上記第1及び第2実施形態においては、ストリーム書き込み準備コマンド(第1のコマンド)はAU単位の書き込み範囲(第1の書き込み範囲)を識別するAUアドレス309を含んでいたが、本発明はこれに限定されない。ストリーム書き込み準備コマンドではAUアドレスを指定せず、次に受信される書き込みコマンド(第2のコマンド)がAUアドレスを含んでいてもよい。つまり、ストリーム書き込み準備コマンドはストリームデータの書き込みを通知するだけとし、その次に受信される書き込みコマンドは、AUアドレスとRUアドレス(第2の書き込み範囲の識別情報)とを含むようにしてもよい。
この場合、図25及び図26に示すような処理が行われる。
≪ステップS1201〜S1202≫
まず、図25に示すように、メモリコントローラ110は、アクセス装置200から「ストリーム書き込み準備コマンド」を受信すると(S1201)、同コマンドを受信したことを示す受信フラグをONにする(S1202)。
≪ステップS1301〜S1303≫
次に、図26に示すように、メモリコントローラ110は、アクセス装置200から「書き込みコマンド」を受信すると、アーギュメント304から書き込み開始論理アドレス(セクタ単位)を取得し(S1301)、論理ブロックアドレスに変換する。
次いで、メモリコントローラ110は、「ストリーム書き込み準備コマンド」の受信フラグがONかどうかを判定する(S1302)。この判定の結果、受信フラグがONである場合は、ストリーム書き込み準備処理(図13のS201〜206の処理)を行う(S1303)。つまり、受信フラグがONである場合は、受信された「書き込みコマンド」は、図25の「ストリーム書き込み準備コマンド」の次に受信されたコマンドであり、AUアドレスを含む。したがって、ここでは、メモリコントローラ110は、そのAUアドレスの値とレジスタ部105に設定したAUのサイズ情報から、指定されたAUに対応する論理ブロックを特定し、指定論理ブロックはアクセス装置200がこれからストリーム書き込みを行う論理ブロックとして認知される。そして、受信フラグをOFFにする(S1304)。
一方、受信フラグがOFFである場合、図14のステップS302〜312の処理を行う(S1305)。つまり、受信フラグがOFFである場合、ストリーム書き込みを行う論理ブロックはすでに特定されているため、通常のRU単位の書き込み処理が行われる。
以上の構成及び処理によれば、メモリコントローラ110は、ストリーム書き込み準備コマンドの受信時には論理ブロックの消去を行わす、書き込みコマンドが発生した時点で論理ブロックの消去を行うようにできる。これにより、ストリーム書き込み準備コマンド発行後にストリーム書き込み処理が中止された場合に、ストリーム書き込み準備コマンドで指定したAUのデータを保持することができる。
なお、上記実施形態において、ストリーム書き込み準備コマンドはストリーム番号を含み、第2実施形態と同様に処理を行ってもよい。
(3)
上記実施形態におけるコマンドフォーマットは一例である。適用する不揮発性記憶システムに応じて、コマンドフォーマットを変更したり、1つのコマンドを複数のコマンドに分割したり、複数のコマンドを1つに結合したりすること等が考えられるが、コマンドフォーマットに依存せず、同様の効果が期待できる。
(4)
上記実施形態において、AUを論理ブロックサイズと同じとしたが、1つのAUを複数ブロックで構成してもよい。例えば、並列書込みが可能なブロックを組としたスーパーブロックをAUとし、論理アドレス管理テーブル等もスーパーブロック単位で管理してもよい。これにより、より高速な不揮発性記憶装置等を提供できる。
(5)
上記実施形態においては、図13に示すストリーム書き込み準備コマンド受信時の処理であるステップS203やステップS205で、書き込み済みのデータを消去するものとして説明したが、ステップS203やステップS205の処理ではデータを消去する予約処理だけを行い、AUへの書き込みコマンドが発生した時点でデータ消去を行ってもよい。これにより、ストリーム書き込み準備コマンド発行後にストリーム書き込み処理が中止された場合に、ストリーム書き込み準備コマンドで指定したAUのデータを保持することができる。
(6)
上記実施形態において、図14のステップS312の異常系処理としてエラーを示すレスポンスを発行して処理を終了しているが、書き込みを継続するための処理として、次のような変形例も考えられる。
(変形例1)
該第1のブロックの未書込みページに全ビット0または全ビット1等のダミーデータを書き込んで該第1のブロックへの書込みを完結させてから追記フラグをOFFとした後、ステップS302の処理に戻る。これにより、一時的に書き込み速度は低下するものの、書き込み済みのデータは保持することができる。
(変形例2)
該第1のブロックを消去し、別の空きブロックを消去して第1のブロックに割り当てて、書き込みを行う。これにより、書き込み済みのデータは消去されるが、一時的に書き込み速度が著しく低下することを回避できる。
(7)
上記第2実施形態において、ストリーム管理テーブル150が管理できるストリームデータの数の上限を4個としたが、これに限定されるものではなく、任意の個数での設計が可能である。
なお、本発明は上記の実施形態に限定されるべきでなく、本発明の趣旨を逸脱しない範囲で実施変更することができる。例えば、フローチャートで示した各処理はその順序は上述したものに限定されるべきでなく、本発明の趣旨を逸脱しない範囲で変更することができる。
本発明は、半導体メモリカードはいうまでもなく、半導体メモリカード等の不揮発性記憶装置を使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話においても有用である。
1 不揮発性記憶システム
100 不揮発性記憶装置
101 ホストインターフェース(インターフェース部)
102 バッファ
103 読み書き制御部
104 CPU
105 レジスタ部
106 アドレス管理部
110 メモリコントローラ
120 不揮発性メモリ
121 ブロック
122 ページ
123 データ格納領域
124 管理情報格納領域
131 第1の論理物理変換テーブル
132 第2の論理物理変換テーブル
140 空きブロック管理テーブル
150 ストリーム管理テーブル
200 アクセス装置
201 入力制御部
202 入力部
203 バッファ
204 カードインターフェース
205 表示部
206 表示制御部
207 符号化部
208 システム制御部

Claims (14)

  1. 不揮発性メモリと、
    前記不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラと、
    を備える、不揮発性記憶装置であって、
    前記メモリコントローラは、
    データを書き込むための第1の書き込み範囲を識別する第1のコマンドと、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別し前記第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドと、を受信するインターフェース部と、
    前記不揮発性メモリへのデータの書き込み前に、前記第1のコマンドに基づいて、前記第1の書き込み範囲に対してデータを書き込むための新たなブロックを選定するアドレス管理部と、
    前記第2のコマンドに応じて、前記新たなブロックにデータを記録する読み書き制御部と、
    有する、
    不揮発性記憶装置。
  2. 不揮発性メモリと、
    前記不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラと、
    を備える、不揮発性記憶装置であって、
    前記メモリコントローラは、
    データの書き込みを通知する第1のコマンドと、前記データの書き込みを指示する第2のコマンドと、を受信するインターフェース部と、
    前記不揮発性メモリへの前記データの書き込み前に、前記インターフェース部により第1のコマンドの次に受信される第2のコマンドに基づいて、前記データを書き込むための新たなブロックを選定するアドレス管理部と、
    前記インターフェース部により受信される第2のコマンドに応じて、前記新たなブロックに前記データを記録する読み書き制御部と、
    有し、
    前記インターフェース部により第1のコマンドの次に受信される前記第2のコマンドは、前記データを書き込むための第1の書き込み範囲を識別する情報と、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、前記第2の書き込み範囲へのデータの書き込みを指示し、
    前記アドレス管理部は、前記第1のコマンドの次に前記第2のコマンドを受信すると、前記第1の書き込み範囲に対し選定されている一以上のブロックを破棄または消去する、
    不揮発性記憶装置。
  3. 前記アドレス管理部は、前記新たなブロックを選定する前に、
    前記第1の書き込み範囲に対し選定されている一以上のブロックがあるかどうかを判断し、
    前記一以上のブロックがあると判断した場合は、前記一以上のブロックを破棄する、
    請求項1又は2に記載の不揮発性記憶装置。
  4. 前記アドレス管理部は、前記新たなブロックを選定する前に、
    前記第1の書き込み範囲に対し選定されている一以上のブロックがあるかどうかを判断し、
    前記一以上のブロックがあると判断した場合は、前記一以上のブロックを消去する、
    請求項1又は2に記載の不揮発性記憶装置。
  5. 前記第1の書き込み範囲は、前記第2の書き込み範囲の整数倍である、
    請求項1又は2に記載の不揮発性記憶装置。
  6. 前記第1のコマンドは、前記第1の書き込み範囲を識別する第1の識別情報を含む、
    請求項1に記載の不揮発性記憶装置。
  7. 前記第1のコマンドは、ストリームデータを識別する第2の識別情報を含む、
    請求項1又は2に記載の不揮発性記憶装置。
  8. 前記アドレス管理部は、前記第2の識別情報毎に、前記新たなブロックを選定する、
    請求項7に記載の不揮発性記憶装置。
  9. 前記アドレス管理部は、複数の前記第2の識別情報を保持し、
    前記読み書き制御部は、前記複数の第2の識別情報に対応する複数の前記新たなブロックに、並行してデータを記録する、
    請求項8に記載の不揮発性記憶装置。
  10. 不揮発性記憶装置へのデータの書き込み及び読み出しを制御するアクセス装置あって、
    データを書き込むための第1の書き込み範囲を識別する情報を含む第1のコマンドを前記不揮発性記憶装置に送信し、
    前記第1のコマンドに基づいて、前記第1の書き込み範囲に対して、データを書き込むための新たなブロックを選定し、
    前記第1のコマンドの送信後、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報を含み前記第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドを、複数回、前記不揮発性記憶装置に送信する、
    アクセス装置。
  11. 不揮発性記憶装置へのデータの書き込み及び読み出しを制御するアクセス装置あって、
    データの書き込みを通知する第1のコマンドを前記不揮発性記憶装置に送信し、
    前記第1のコマンドの送信後、それぞれが前記データの書き込みを指示する第2のコマンドを、複数回、前記不揮発性記憶装置に送信し、
    前記第1のコマンドの次に送信される第2のコマンドは、前記データを書き込むための第1の書き込み範囲を識別する情報と、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、前記第2の書き込み範囲へのデータの書き込みを指示し、
    前記第1のコマンドの次に受信される前記第2のコマンドに基づいて、前記第1の書き込み範囲に対し選定されているブロックの破棄または消去と、データを書き込むための新たなブロックの選定を行う、
    アクセス装置。
  12. 請求項1〜9のいずれか1項に記載の不揮発性記憶装置と、
    請求項10又は11に記載のアクセス装置と、
    を備える、
    不揮発性記憶システム。
  13. 不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラであって、
    データを書き込むための第1の書き込み範囲を識別する第1のコマンドと、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別し前記第2の書き込み範囲へのデータの書き込みを指示する第2のコマンドと、を受信するインターフェース部と、
    前記不揮発性メモリへのデータの書き込み前に、前記第1のコマンドに基づいて、前記第1の書き込み範囲に対してデータを書き込むための新たなブロックを選定するアドレス管理部と、
    前記第2のコマンドに応じて、前記新たなブロックにデータを記録する読み書き制御部と、
    備える、
    メモリコントローラ。
  14. 不揮発性メモリへのデータの書き込み及び読み出しを制御するメモリコントローラであって、
    データの書き込みを通知する第1のコマンドと、前記データの書き込みを指示する第2のコマンドと、を受信するインターフェース部と、
    前記不揮発性メモリへのデータの書き込み前に、前記インターフェース部により第1のコマンドの次に受信される第2のコマンドに基づいて、前記データを書き込むための新たなブロックを選定するアドレス管理部と、
    前記インターフェース部により受信される第2のコマンドに応じて、前記新たなブロックにデータを記録する読み書き制御部と、
    有し、
    前記インターフェース部により第1のコマンドの次に受信される前記第2のコマンドは、前記データを書き込むための第1の書き込み範囲を識別する情報と、前記第1の書き込み範囲の一部である第2の書き込み範囲を識別する情報とを含み、第2の書き込み範囲へのデータの書き込みを指示し、
    前記アドレス管理部は、前記第1のコマンドの次に前記第2のコマンドを受信すると、前記第1の書き込み範囲に対し選定されている一以上のブロックを破棄または消去する、
    メモリコントローラ。
JP2010540750A 2009-06-18 2010-05-14 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ Active JP4758518B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010540750A JP4758518B2 (ja) 2009-06-18 2010-05-14 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009145613 2009-06-18
JP2009145613 2009-06-18
JP2010540750A JP4758518B2 (ja) 2009-06-18 2010-05-14 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
PCT/JP2010/003268 WO2010146767A1 (ja) 2009-06-18 2010-05-14 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ

Publications (2)

Publication Number Publication Date
JP4758518B2 true JP4758518B2 (ja) 2011-08-31
JPWO2010146767A1 JPWO2010146767A1 (ja) 2012-11-29

Family

ID=43356102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010540750A Active JP4758518B2 (ja) 2009-06-18 2010-05-14 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ

Country Status (3)

Country Link
US (1) US8554987B2 (ja)
JP (1) JP4758518B2 (ja)
WO (1) WO2010146767A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106918A (ja) * 2012-11-29 2014-06-09 Canon Inc 情報処理装置及びその制御方法とプログラム
WO2020213364A1 (ja) 2019-04-17 2020-10-22 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード
US11455112B2 (en) 2012-04-25 2022-09-27 Sony Group Corporation Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175615A (ja) * 2010-01-27 2011-09-08 Toshiba Corp ホスト装置およびメモリデバイス
JP5815212B2 (ja) * 2010-04-19 2015-11-17 スパンション エルエルシー データ書き込み方法およびシステム
JP5581256B2 (ja) * 2011-03-28 2014-08-27 株式会社東芝 メモリシステム、コントローラ、およびメモリシステムの制御方法
JP5708216B2 (ja) * 2011-05-09 2015-04-30 ソニー株式会社 フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
JP2016042296A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
US9996302B2 (en) 2015-04-03 2018-06-12 Toshiba Memory Corporation Storage device writing data on the basis of stream
KR102367982B1 (ko) 2015-06-22 2022-02-25 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10452596B2 (en) * 2015-10-29 2019-10-22 Micron Technology, Inc. Memory cells configured in multiple configuration modes
CN107209719B (zh) 2015-12-03 2018-10-09 华为技术有限公司 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法
KR102621467B1 (ko) * 2016-09-05 2024-01-05 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법
KR102518884B1 (ko) * 2017-12-20 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP7129796B2 (ja) * 2018-03-14 2022-09-02 キヤノン株式会社 記録装置及びその制御方法
JP2021006960A (ja) * 2019-06-28 2021-01-21 株式会社アクセル メモリコントローラ、及び、不揮発性記憶装置
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR20230082377A (ko) 2021-12-01 2023-06-08 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140268A (ja) * 2008-12-11 2010-06-24 Toshiba Corp メモリデバイス

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773098A (ja) 1993-09-01 1995-03-17 Toshiba Emi Ltd データ書き込み方法
JP3793868B2 (ja) * 1999-11-25 2006-07-05 カシオ計算機株式会社 フラッシュメモリ管理装置及び記録媒体
US7017825B2 (en) * 2001-12-11 2006-03-28 Matsushita Electric Industrial Co., Ltd. IC card and data processing method therefor
JPWO2005103903A1 (ja) * 2004-04-20 2007-08-30 松下電器産業株式会社 不揮発性記憶システム
KR100858756B1 (ko) * 2004-07-12 2008-09-16 가부시끼가이샤 도시바 저장 디바이스 및 호스트 장치
KR100664933B1 (ko) * 2004-12-15 2007-01-04 삼성전자주식회사 비휘발성 저장장치에 멀티미디어 데이터를 블록 단위로저장하는 방법 및 장치
US20080250188A1 (en) * 2004-12-22 2008-10-09 Matsushita Electric Industrial Co., Ltd. Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
WO2006126445A1 (ja) * 2005-05-23 2006-11-30 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
US8341375B2 (en) * 2007-03-19 2012-12-25 Sandisk Technologies Inc. Methods for conversion of update blocks based on association with host file management data structures
US7944729B2 (en) * 2009-01-28 2011-05-17 Seagate Technology Llc Simultaneously writing multiple addressable blocks of user data to a resistive sense memory cell array
WO2010134300A1 (ja) * 2009-05-21 2010-11-25 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140268A (ja) * 2008-12-11 2010-06-24 Toshiba Corp メモリデバイス

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11455112B2 (en) 2012-04-25 2022-09-27 Sony Group Corporation Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method
JP2014106918A (ja) * 2012-11-29 2014-06-09 Canon Inc 情報処理装置及びその制御方法とプログラム
WO2020213364A1 (ja) 2019-04-17 2020-10-22 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード
KR20210147047A (ko) 2019-04-17 2021-12-06 캐논 가부시끼가이샤 기록장치, 기록방법, 프로그램, 및 메모리 카드

Also Published As

Publication number Publication date
US20110167208A1 (en) 2011-07-07
WO2010146767A1 (ja) 2010-12-23
JPWO2010146767A1 (ja) 2012-11-29
US8554987B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
JP4758518B2 (ja) 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
EP2631916B1 (en) Data deletion method and apparatus
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
US7702846B2 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
JP5418808B2 (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
JP5708216B2 (ja) フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
WO2005109169A1 (ja) データアクセス方法、およびその方法が実施される装置と記録媒体
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
US20050278480A1 (en) Method of writing data into flash memory
WO2008072590A1 (ja) ライトワンス記録装置
US9778857B2 (en) Recording device, access device, recording system, and recording method
US20070033364A1 (en) Information recording medium, information recording medium accessing apparatus and accessing method
JP2006277737A (ja) アドレス予測機能をもつ不揮発性記憶装置
JP2010515162A (ja) 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
US20050169058A1 (en) Data management apparatus and method used for flash memory
US8271721B2 (en) Data writing method and data storage device
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP2010237907A (ja) ストレージ装置および記録方法
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
CN113785308A (zh) 记录设备、记录方法、程序和存储卡
JP2007249509A (ja) 不揮発性記憶装置のデータ管理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110602

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250