JP5836903B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5836903B2
JP5836903B2 JP2012194380A JP2012194380A JP5836903B2 JP 5836903 B2 JP5836903 B2 JP 5836903B2 JP 2012194380 A JP2012194380 A JP 2012194380A JP 2012194380 A JP2012194380 A JP 2012194380A JP 5836903 B2 JP5836903 B2 JP 5836903B2
Authority
JP
Japan
Prior art keywords
priority
data
control unit
flag
memory system
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
JP2012194380A
Other languages
English (en)
Other versions
JP2014049091A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2012194380A priority Critical patent/JP5836903B2/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to PCT/JP2013/056886 priority patent/WO2014038223A1/en
Priority to EP13719184.7A priority patent/EP2893455A1/en
Priority to CN201380044867.0A priority patent/CN104603768A/zh
Priority to KR1020157005136A priority patent/KR20150052039A/ko
Priority to TW102109100A priority patent/TWI515559B/zh
Publication of JP2014049091A publication Critical patent/JP2014049091A/ja
Priority to US14/636,856 priority patent/US20150177986A1/en
Application granted granted Critical
Publication of JP5836903B2 publication Critical patent/JP5836903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/0614Improving the reliability of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/2129Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、情報処理装置に関する。
複数の演算プロセッサが集積されるGPU(Graphical Processing Unit)等で、複数の演算プロセッサ間で一つのメモリを共有するUMA(Unified Memory Architecture)という技術がある。
特開平10―269165号公報
高品質な情報処理装置を提供する。
実施形態の情報処理装置は、ホスト装置と、不揮発性半導体メモリを有する半導体記憶装置と、前記ホスト装置及び前記半導体記憶装置を接続する通信路と、を備える情報処理装置であって、前記ホスト装置は、第1の記憶部と、第1の記憶部及び前記通信路が接続され、前記第1の記憶部を制御する第1の制御部とを備え、前記通信路は、それぞれ優先度が割り当てられた複数のポートを備え、前記半導体記憶装置は、前記通信路に接続され、前記第1の記憶部へのデータの送受信動作の優先順に基づいて前記優先度を決定する第1のフラグを含む要求を、前記第1の制御部に送信する第2の制御部を備え、前記第1の制御部は、前記要求を受信すると、前記要求に含まれる前記第1のフラグに基づいて、前記優先度に対応する前記ポートを介して前記第1の記憶部と、前記第2の制御部との間のデータの送受信を行う。
図1は、実施形態に係る情報処理装置の構成例を示す図である。 図2は、実施形態に係るデバイス使用領域のメモリ構造を示す図である。 図3は、実施形態に係るL2Pキャッシュ・タグ領域のメモリ構造を説明する図である。 図4は、実施形態に係るL2Pキャッシュ領域のメモリ構造を説明する図である。 図5は、実施形態に係るライト・キャッシュ・タグ領域のメモリ構造を説明する図である。 図6は、実施形態に係るライト・キャッシュ領域のメモリ構造を説明する図である。 図7は、実施形態に係るライト・コマンドのデータ構造例を説明する図である。 図8は、実施形態に係るデータ転送コマンドのフォーマットの一例を示した図である。 図9は、実施形態に係るデータ転送コマンドに含まれるフラグ(Flags)の一例を示したものである。 図10(a)は、第3のポートを介してメモリ・システムがデータを受信する動作を示した図であり、図10(b)は、第2のポートを介してメモリ・システムがデータを受信する動作を示した図である。 図11(a)は、第3のポートを介してメモリ・システムがデータを送信する動作を示した図であり、図11(b)は、第2のポートを介してメモリ・システムがデータを送信する動作を示した図である。
以下、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
(実施形態)
図1に、本実施形態に係る情報処理装置の基本的な構成を模式的に示している。本実施形態に係る情報処理装置は、ホスト・デバイス(ホスト装置、外部装置)1と、ホスト・デバイス1の記憶装置として機能するメモリ・システム2とを備える。ホスト・デバイス1とメモリ・システム2との間は、通信路3で接続されている。メモリ・システム2には、UFS(Universal Flash Storage)規格に準拠した組み込み用途のフラッシュメモリや、SSD(Solid State Drive)等を適用することができる。情報処理装置は、例えば、パーソナルコンピュータ、携帯電話、撮像装置等である。通信路3の通信規格としては、例えばMIPI(Mobile Industry Processor Interface)、UniProが採用されている。
<メモリ・システムの概要>
メモリ・システム2は、不揮発性半導体メモリとしてのNANDフラッシュメモリ210と、ホスト・デバイス1との間のデータ転送を行うデバイス・コントローラ200とを備えている。
NANDフラッシュメモリ210は、メモリセルアレイを有する1以上のメモリチップによって構成される。メモリセルアレイは、複数のメモリセルがマトリクス状に配列して構成される。更に、各ブロックは、複数のページより構成されている。各ページは、データの書き込み及び読み出しの単位である。
また、NANDメモリ210は、L2Pテーブル211及びホスト・デバイス1から送信されるユーザ・データ212を記憶する。ユーザ・データ212は、例えばホスト・デバイス1が実行環境を提供するオペレーティングシステムプログラム(OS)や、ホスト・デバイス1がOS上で実行するユーザ・プログラムや、OSまたはユーザ・プログラムが入出力するデータ等を含む。
L2Pテーブル211は、メモリ・システム2がホスト・デバイス1に対する外部記憶装置として機能するために必要となる管理情報の一つであって、ホスト・デバイス1がメモリ・システム2にアクセスする際に使用する論理ブロックアドレス(LBA:Logical block address)と、NANDメモリ210内の物理アドレス(ブロックアドレス+ページアドレス+ページ内記憶位置)とを、対応付けるアドレス変換情報である。後述するホスト・デバイス1内のL2Pキャッシュ領域300には、このL2Pテーブル211の一部がキャッシュされる。L2Pキャッシュ領域300にキャッシュされる内容と区別するために、以下では、NANDメモリ210に記憶されているL2Pテーブル211をL2P本体211と呼ぶ。
デバイス・コントローラ200は、通信路3の接続インタフェースであるホスト接続アダプタ201と、NANDメモリ210との間の接続インタフェースであるNAND接続アダプタ204と、デバイス・コントローラ200の制御を実行するデバイス・コントローラ主要部202と、RAM203とを備えている。
RAM203は、NANDメモリ210にライトするデータあるいはNANDメモリ210からリードされたデータを記憶するためのバッファとして用いられる。また、RAM203は、ホスト・デバイス1から入力されるライト要求、リード要求などに関わるコマンドをキューイングするコマンドキューとして使用される。例えばRAM203は、小規模なSRAMまたはDRAM等で構成されることができる。また、レジスタ等でRAM203の機能を代用するようにしても良い。
デバイス・コントローラ主要部202は、ホスト接続アダプタ201を介してホスト・デバイス1とRAM203との間のデータ転送を制御したり、NAND接続アダプタ204を介してRAM203とNANDメモリ210との間のデータ転送を制御したりする。特に、デバイス・コントローラ主要部202は、ホスト・デバイス1との間の通信路3においてバス・マスタとして機能して第1ポート230を用いてデータ転送を行う他、別の二つのバス・マスタ205、206を備えている。バス・マスタ205は、第2ポート231を用いてホスト・デバイス1との間のデータ転送をおこなうことができ、バス・マスタ206は、第3ポート232を用いてホスト・デバイス1との間のデータ転送を行うことができる。ポート230〜232の役割については後述する。
なお、デバイス・コントローラ主要部202は、例えば、演算装置や記憶装置を備えたマイクロコンピュータユニットにより構成される。当該演算装置が前記記憶装置に予め格納されたファームウェアを実行することによって、デバイス・コントローラ主要部202としての機能が実現される。なお、デバイス・コントローラ主要部202から記憶装置を省略して、ファームウェアをNANDメモリ210に格納しておくようにしても良い。また、デバイス・コントローラ主要部202はASICを用いて構成されることが可能である。
また、本実施形態に係るメモリ・システム2は、UFS(Universal Flash Storage)規格に準拠した組み込み用途のフラッシュメモリを想定している。そのため、以下に説明するコマンド等は、UFSの規格に則った物である。
<ホスト・デバイスの概要>
ホスト・デバイス1は、OSやユーザ・プログラムを実行するCPU110と、メイン・メモリ100と、ホスト・コントローラ120とを備えている。メイン・メモリ100、CPU110及びホスト・コントローラ120は、バス140で互いに接続されている。
メイン・メモリ100は、例えばDRAMで構成される。メイン・メモリ100は、ホスト使用領域101とデバイス使用領域102とを有する。ホスト使用領域101は、ホスト・デバイス1がOSやユーザ・プログラムを実行する際のプログラム展開領域や当該プログラム展開領域に展開されたプログラムを実行する際のワーク・エリアとして使用される。デバイス使用領域102は、メモリ・システム2の管理情報やリードライトのためのキャッシュ領域として使用される。ここでは、メモリ・システム2にキャッシュされる管理情報の一例としてL2Pテーブル211を取り上げる。また、デバイス使用領域102にライト・データがキャッシュされるものとする。
<ポートの概要>
次に、実施形態に係るホスト・デバイス1及びメモリ・システム2の各ポートについて説明する。実施形態に係るホスト・デバイス1及びメモリ・システム2は、物理的には一つの線(通信路3)で接続されているが、下記に示すポート(CPortとも称す)と呼ばれる複数のアクセスポイントによって接続されている。
ホスト・コントローラ120は、バス140の接続インタフェースであるバスアダプタ121と、通信路3の接続インタフェースであるデバイス接続アダプタ126と、バスアダプタ121を介してメイン・メモリ100やCPU110との間でデータやコマンドの転送を行ったり、デバイス接続アダプタ126を介してメモリ・システム2との間でデータ(コマンドを含む)の転送を行ったりするホスト・コントローラ主要部122とを備えている。ホスト・コントローラ主要部122は、デバイス接続アダプタ126と第1ポート130で接続されており、当該第1ポート130を介してメモリ・システム2との間でデータの転送を行うことができる。
また、ホスト・コントローラ120は、ホスト使用領域101とデバイス使用領域102との間でDMA転送を行うメイン・メモリDMA123と、メモリ・システム2がデバイス使用領域102にアクセスするために送るコマンドを捕捉したり、ホスト・コントローラ主要部122がデバイス使用領域102にかかるステータス情報をメモリ・システム2に送信したりする制御DMA124と、デバイス使用領域102とメモリ・システム2との間でDMA転送を行うデータDMA125とを備えている。制御DMA124は、デバイス接続アダプタ126と、第2ポート131で接続されており、当該第2ポート131を介してメモリ・システム2との間でコマンドやステータス情報の送受信を行うことができる。また、データDMA125は、デバイス接続アダプタ126と第3ポート132で接続されており、当該第3ポート132を介してメモリ・システム2との間でデータの送受信を行うことができる。
尚、デバイス接続アダプタ126及びホスト接続アダプタ201の機能により、第1ポート130は第1ポート230と、第2ポート131は第2ポート231と、第3ポート132は第3ポート232とそれぞれ対応付けられている。具体的には、デバイス接続アダプタ126は、第1ポート130を介してメモリ・システム2に送られてきた内容を第1ポート230を介してデバイス・コントローラ主要部202に送り、第2ポート131を介してメモリ・システム2に送られてきた内容を第2ポート231を介してデバイス・コントローラ主要部202に送り、第3ポート132を介してメモリ・システム2に送られてきた内容を第3ポート232を介してデバイス・コントローラ主要部202に送る。
また、デバイス接続アダプタ126は、第1ポート230を介してホスト・デバイス1に送られてきた内容を第1ポート130を介してホスト・コントローラ主要部122に送り、第2ポート231を介してホスト・デバイス1に送られてきた内容を第2ポート131を介して制御DMA124に送り、第3ポート232を介してホスト・デバイス1に送られてきた内容を第3ポート132を介してデータDMA125に送る。制御DMA124、データDMA125に送られてきた内容は、例えばバスアダプタ121を介してホスト・コントローラ主要部122に送られる。
尚、ポート130〜132のそれぞれは、メモリ・システム2との間の通信に使用される入力バッファをそれぞれ独立に備え得る。ホスト・コントローラ主要部122、制御DMA124、データDMA125がそれぞれ別々の入出力バッファを用いてメモリ・システム2に接続されていることにより、ホスト・コントローラ120は、ホスト・コントローラ主要部122を用いたメモリ・システム2との通信と、制御DMA124を用いたメモリ・システム2との通信と、データDMA125を用いたメモリ・システム2との通信とをそれぞれ独立して実行することができる。また、入出力バッファの入れ替えの必要なくこれらの通信の切り替えを行うことができるので、通信の切り替えを高速実行することができる。メモリ・システム2が備えるポート230〜232についても同様の事が言える。
以上のように、本実施形態に係る情報処理装置は、第1のポート(CPort 0とも称す)130及び230と、第2のポート(CPort 1とも称す)131及び231と、第3のポート(CPort 2とも称す)132及び232との3種類のポートを備えている。
また、各ポートには、それぞれ優先度(トラフィック・クラス:TC等とも称す)が予め定義されている。具体的には、第1のポート130及び230には優先度“0(低い)”が設定され、第2のポート131及び231には優先度“1(高い)”が設定され、第1のポート132及び232には優先度“0(低い)”が設定されている。
第1のポート130及び230は基本的にホスト・デバイス1からメモリ・システム2への要求時のみに使われる。第2のポート131及び231と、第3のポート132及び232は、後述するようなメモリ・システム2の要求によって適宜選択される。
尚、第1のポート130及び230を区別しない場合には、簡単の為、単に第1のポートと称す。また、第2のポート131及び231を区別しない場合には、簡単の為、単に第2のポートと称す。更に第3のポート132及び232を区別しない場合には、簡単の為、単に第3のポートと称す。
<優先度(トラフィック・クラス:TC)について>
次に、優先度(トラフィック・クラス:TC)について説明する。優先度(トラフィック・クラス)とは、ホスト・デバイス1からメモリ・システム2にデータ等を返すときの優先順である。具体的には、優先度とはホスト・デバイス1及びメモリ・システム2間におけるデータ転送等が競合した場合に、データ転送等の順序を定める値である。本実施形態では、一例として、優先度“1”(TC 1 とも表記する)、及び優先度“1”よりも優先度の低い優先度“0”(TC 0 とも表記する)の2種類の優先度が設定されている。
この優先度は、上述した第1〜第3のポート毎に予め設定されている。本実施形態では、第1のポート(CPort 0)は優先度“0”(TC 0)に設定され、第2のポート(CPort 1)は優先度“1(高い)”(TC 1)に設定され、第3のポート(CPort 2)は優先度“0(低い)”(TC 0)に設定されている。この優先度の選択方法については、後述で説明する。
<デバイス使用領域の概要>
図2は、デバイス使用領域102のメモリ構造を説明する図である。図示するように、デバイス使用領域102には、L2P本体211の一部がキャッシュされるL2Pキャッシュ領域300、L2Pキャッシュ領域300のヒット/ミス判定に使用されるタグ情報が格納されるL2Pキャッシュ・タグ領域310、ライト・データがバッファリングされるキャッシュ構造のメモリ領域であるライト・キャッシュ領域400、及びライト・キャッシュ領域400のヒット/ミス判定に使用されるタグ情報が格納されるライト・キャッシュ・タグ領域410を備えている。
<L2Pキャッシュ・タグ領域のメモリ構造>
図3は、L2Pキャッシュ・タグ領域310のメモリ構造を説明する図であり、図4は、L2Pキャッシュ領域300のメモリ構造を説明する図である。ここでは、一例として、LBAは26ビットのデータ長を有し、L2Pキャッシュ領域300はLBAの下位側の22ビットの値を用いて参照されるものとしている。LBAの上位側の4ビットの値をTと表記し、下位側の22ビットの値をLと表記して説明する。なお、LBAは、NANDメモリ210を構成するページ(ここでは4Kバイトとする)毎に割り当てられているものとしている。
L2Pキャッシュ領域300を構成する個々のキャッシュ・ラインには、図4に示す様に、一つのLBAに対する物理アドレス(Phys. Addr.)が格納されている。L2Pキャッシュ領域300は、2を22乗して得られる数のキャッシュ・ラインで構成される。個々のキャッシュ・ラインは、26ビットの物理アドレスが格納されるために必要十分なサイズであるバイト数である4バイトの容量を有する。従って、L2Pキャッシュ領域300は、合計で、2の22乗に4バイトを掛けたサイズ、すなわち16Mバイトのサイズを有することになる。また、L2Pキャッシュ領域300は、Lの値の順番にLBAに対応する物理アドレスが格納されるように構成されている。すなわち、L2Pキャッシュ領域300を構成する個別のキャッシュ・ラインは、4*LにL2Pキャッシュ領域300のページアドレス(L2P Base Addr.)を加算したアドレスを参照(Refer)されることにより呼び出される。なお、L2Pキャッシュ領域300を構成する4バイトのキャッシュ・ラインのうちの26ビットの物理アドレスが格納される領域をのぞいた余剰の領域を「Pad」と表記している。以降のテーブルにおいても、余剰の部分を「Pad」と表記する。
また、図3に示すように、L2Pキャッシュ・タグ領域310には、L2Pキャッシュ領域300に格納されているキャッシュ・ライン毎にタグ情報としての値TがLの値の順に登録されて構成される。個々のエントリは、タグ情報が格納されるフィールド311と有効なキャッシュ・ラインであるか否かを示すVL(Valid L2p)ビットが格納されるフィールド312とを備えている。ここで、L2Pキャッシュ・タグ領域310は、L2Pキャッシュ・タグ領域310にタグ情報として登録されているTが、L2Pキャッシュ領域300の対応するキャッシュ・ライン(即ちLを用いて参照されるキャッシュ・ライン)に格納されている物理アドレスに対応するLBAの上位桁Tと一致するように構成されている。即ち、所望のLBAの上位桁Tに対応する物理アドレスがL2Pキャッシュ領域300にキャッシュされているか否かは、当該所望のLBAを構成するLの値にL2Pキャッシュ・タグ領域310のベースアドレス(L2P Tag Base Addr.)を加算したアドレスが参照(Refer)され、当該参照位置に格納されているタグ情報が前記所望のLBAを構成するTの値と一致するか否かにより判定される。両者が一致する場合には、所望のLBAに対応する物理アドレスがキャッシュされていると判定され、両者が一致しない場合には、所望のLBAに対応する物理アドレスがキャッシュされていないと判定される。なお、Tは、4ビットの値であり、VLビットは1ビットの容量を要するため、個々のエントリは1バイトの容量を有する。従って、L2Pキャッシュ・タグ領域310は、2の22乗に1バイトを掛けたサイズ、即ち4Mバイトのサイズを有することになる。
図5は、ライト・キャッシュ・タグ領域410のメモリ構造を説明する図であり、図6は、ライト・キャッシュ領域400のメモリ構造を示す図である。ここで、ライト・キャッシュ領域400は、LBAの下位側の13ビットの値を用いて参照されるものとしている。LBAの上位側の13ビットの値をT′と表記し、下位側の13ビットの値をL′と表記して説明する。
ライト・キャッシュ領域400を構成する個々のキャッシュ・ラインには、図6に示すように、ページサイズのライト・データが格納されている。
ライト・キャッシュ領域400は、2を13乗して得られる数のキャッシュ・ラインで構成される。ここのキャッシュ・ラインは、ページサイズ(ここでは4Kバイトとしている)のライト・データがキャッシュされるので、ライト・キャッシュ領域400は、合計で2の13乗に4Kを掛けたサイズ、即ち32Mバイトのサイズを有することになる。
また、ライト・キャッシュ領域400には、L′の値の順番に、対応するライト・データが格納されている。即ち、ライト・キャッシュ領域400を構成する個別のキャッシュ・ラインは、L′*8Kにライト・キャッシュ領域400のページアドレス(WC Base Addr.)を加算したアドレスを参照されることにより読み出される。
また、図5に示すように、ライト・キャッシュ・タグ領域410には、ライト・キャッシュ領域400に格納されているキャッシュ・ライン毎にタグ情報としてのT′がL′の順に登録されて構成される。個々のエントリは、タグ情報が格納されるフィールド411と有効なキャッシュ・ラインであるか否かを示すVB(Valid Buffer)ビットが格納されるフィールド412と、キャッシュされているライト・データがダーティであるかクリーンであるかを示すDB(Dirty Buffer)ビットが格納されるフィールド413を有している。
ライト・キャッシュ・タグ領域410は、ライト・キャッシュ・タグ領域410にタグ情報として登録されているT′が、ライト・キャッシュ領域400の対応するキャッシュ・ライン(即ちL′を用いて参照されるキャッシュ・ライン)に格納されているライト・データの格納先ページに割り当てられたLBAの上位桁T′と一致するように構成されている。即ち、所望のLBAに対応するライト・データが、ライト・キャッシュ領域400にキャッシュされているか否かは、当該所望のLBAの上位桁Tを構成する2*L′の値にライト・キャッシュ・タグ領域410のベースアドレス(WC Tag Base Addr.)を加算したアドレスが参照され、当該参照位置に格納されているタグ情報が前記所望のLBAに対応を構成するT′の値と一致するか否かによって判定されている。
なお、キャッシュ・ラインがダーティであるとは、当該キャッシュ・ラインに格納されているライト・データとNANDメモリ210上の対応するアドレスに格納されているデータとが一致しない状態を言い、クリーンであるとは、両者が一致する状態を言う。ダーティなキャッシュ・ラインがNANDメモリ210にライトバックされることによって、当該キャッシュ・ラインがクリーンになる。なお、ライト・キャッシュ・タグ領域410の個々のタグ情報T′は13ビットのデータ長を有し、DBビット及びVBビットはそれぞれ1ビットのサイズを要するので、個々のエントリは2バイトの容量を有する。従って、ライト・キャッシュ・タグ領域410は、2の13乗に2バイトを掛けたサイズ、すなわち16Kバイトのサイズを有することになる。
CPU110は、OSやユーザ・プログラムを実行して、これらのプログラムからの要請に基づいてホスト使用領域101内のデータをメモリ・システム2に書き込むライト・コマンドを生成する。生成されたライト・コマンドはホスト・コントローラ120に送られる。
<ライト・コマンドのデータ構造の概要>
図7は、ライト・コマンドのデータ構造例を説明する図である。図示するように、ライト・コマンド500は、当該コマンド500がデータの書き込みを指令するものであることを示すライト指令501と、書き込み対象のデータが格納されているホスト使用領域101内の番地であるソース・アドレス502と、メモリ・システム2内の、ライト・データの書き込み先の番地を示す第1のデスティネーション・アドレス503と、ライト・データのデータ長504とを含んで構成される。第1のデスティネーション・アドレス503はLBAで表記される。
ホスト・コントローラ主要部122は、CPU110から送られてきたライト・コマンド500をバスアダプタ121を介して受信して、受信したライト・コマンド500に含まれているソース・アドレス502及び第1のデスティネーション・アドレス503を読み出す。そして、ホスト・コントローラ主要部122は、ソース・アドレス502に格納されたデータと第1のデスティネーション・アドレス503とをデバイス接続アダプタ126を介してメモリ・システム2に転送する。
尚、ホスト・コントローラ主要部122は、ソース・アドレス502に格納されたデータを読み込む際、メイン・メモリDMA123を利用しても良い。その際、ホスト・コントローラ主要部122は、ソース・アドレス502とデータ長504とデスティネーション・アドレスとしてホスト・コントローラ主要部120内のバッファ・アドレスにセットし、メイン・メモリDMA123を起動する。
また、ホスト・コントローラ主要部122は、ライト・コマンド500の他にもCPU110からの種々のコマンドを受信することができる。ここでは、ホスト・コントローラ主要部122は、受信したコマンドをコマンドキューにエンキューして、コマンドキューの先頭から順に処理対象のコマンドを取り出す。なお、このコマンドキューのデータ構造が格納される領域は、メイン・メモリ100上に確保されるようにしてもよいし、ホスト・コントローラ主要部122の内部または近傍に小規模なメモリやレジスタが配置されて構成されるようにしてもよい。
また、ホスト・コントローラ主要部122とメイン・メモリDMA123、制御DMA124、データDMA125との間の通信経路は特定の経路に限定されない。例えば、バスアダプタ121を通信経路とするようにしてもよいし、専用線を設けて当該専用線を通信経路とするようにしても良い。
<コマンドのフォーマットについて>
次に、図8を用いて実施形態に係るデータ転送コマンド(リクエストとも称す)のフォーマットについて説明する。図8は、実施形態に係るデータ転送コマンドのフォーマットの一例を示した図である。
図8に示すように、データ転送コマンド(Access UM Buffer)はホスト・デバイス1にデータ転送要求を行う際に種々の情報を含めることができる。本実施形態に係るデータ転送コマンド(Access UM Buffer)は、特に“フラグ(Flags)”情報(図中破線部内参照)を含むことができる。
<フラグについて>
続いて、図9を用いて実施形態に係るデータ転送コマンド(Access UM Buffer)に含まれるフラグ(Flags)について説明する。図9は、実施形態に係るデータ転送コマンド(Access UM Buffer)に含まれるフラグ(Flags)の一例を示したものである。
図9に示すように、実施形態に係るデータ転送コマンド(Access UM Buffer)に含まれるフラグ(Flags)にはフラグR(Flags.R)、フラグW(Flags.W)、フラグP(Flags.P)の3種類のフラグが存在する。メモリ・システム2は、ホスト・デバイス1からコマンドを受信した際に、データ転送コマンド(Access UM Buffer)のこれらのフラグを設定する。
[フラグR(Flags.R)]
フラグRとは、後に続く動作がホスト・デバイス1のメイン・メモリ100内からメモリ・システム2へデータを読み出す動作であることを示すフラグである。
具体的には、ホスト・デバイス1からメモリ・システム2へのデータ読み出動作の場合にフラグRに“1”がセットされる。
[フラグW(Flags.W)]
フラグWとは、後に続く動作がメモリ・システム2からホスト・デバイス1のメイン・メモリ100内へデータを書き込む動作であることを示すフラグである。
メモリ・システム2からホスト・デバイス1へのデータ書き込む動作の場合にフラグWに“1”がセットされる。
[フラグP(Flags.P)]
フラグPとは、後に続くメモリ・システム2からホスト・デバイス1へのデータ入力シーケンス(UM DATA IN)または、ホスト・デバイス1からメモリ・システム2へのデータ出力シーケンス(UM DATA OUT)の優先度を決定するフラグである。この選択された優先度に対応するポートを介して、各シーケンスが実行される。
具体的には、メモリ・システム2からホスト・デバイス1へのデータ入力シーケンス(UM DATA IN)または、ホスト・デバイス1からメモリ・システム2へのデータ出力シーケンス(UM DATA OUT)の優先度を、“高い”に設定する場合にフラグPに“1”がセットされる。ホスト・デバイス1は、フラグPが“1”に設定されていることを認識すると、優先度“1(高い)”に設定されている第2のポートを介してデータの送受信を行う。
メモリ・システム2からホスト・デバイス1へのデータ入力シーケンス(UM DATA IN)または、ホスト・デバイス1からメモリ・システム2へのデータ出力シーケンス(UM DATA OUT)の優先度を、“低い”に設定する場合にフラグPに“0”がセットされる。これにより、ホスト・デバイス1は、フラグPが“0”に設定されていることを認識すると、優先度が“0(低い)”に設定されている第3のポートを介してデータの送受信を行う。
<読み出し動作>
次に、図10を用いて、メモリ・システム2がホスト・デバイス1からデータを読み出す場合における情報処理装置の動作例を説明する。図10(a)は、第3のポートを介してメモリ・システム2がデータを受信する動作を示した図であり、図10(b)は、第2のポートを介してメモリ・システム2がデータを受信する動作を示した図である。
まず図10(a)に示すように、通信路3の優先度設定が2つ(0:優先度低い、1:優先度高い)用意されている情報処理装置において、メモリ・システム2はデータ転送要求時、対応するデータ転送で用いる通信路3の優先度を常に“0”とする場合の動作を説明する。
[ステップS1001]
デバイス・コントローラ主要部202は、ホスト・デバイス1からデータを受信する際の優先度を優先度“0”と決定する。そのため、デバイス・コントローラ主要部202は、データ転送コマンド(Access UM Buffer)におけるフラグPを“0”に設定する。また、デバイス・コントローラ主要部202は、ホスト・デバイス1からデータを読み出すので、データ転送コマンド(Access UM Buffer)におけるフラグRを“1”に設定する。
[ステップS1002]
デバイス・コントローラ主要部202は、「フラグR“1”、フラグP“0”、アドレス、及びサイズ(READ, P==0, Address, Size)」等の情報を含むデバイス使用領域102のデータを読み出すコマンド(Access UM Buffer)を、優先度が“1(高い)”である第2のポート(CPort 1, TC 1)を介してホスト・デバイス1に送信する。
[ステップS1003]
ホスト・コントローラ120は、メモリ・システム2から、データを読み出すコマンド(Access UM Buffer)を受信すると、「フラグR“1”、フラグP“0”、アドレス、及びサイズ(READ, P==0, Address, Size)」等の情報に基づいて、デバイス使用領域102から、データをフェッチする。
[ステップS1004]
そして、ホスト・コントローラ120は、メモリ・システム2から受信したデータを読み出すコマンド(Access UM Buffer)に含まれるフラグPに基づいて、優先度が“0”である第3のポート(CPort 2, TC 0)を介して、メモリ・システム2に読み出しデータを転送する(UM DATA OUT)。
次に図10(b)に示すように、通信路3の優先度設定が2つ(0:優先度低い、1:優先度高い)用意されている情報処理装置において、メモリ・システム2はデータ転送要求時、対応するデータ転送で用いる通信路3の優先度を常に“1”とする場合の動作を説明する。
[ステップS1101]
デバイス・コントローラ主要部202は、ホスト・デバイス1からデータを受信する際の優先度を優先度“1”と決定する。そのため、デバイス・コントローラ主要部202は、データ転送コマンド(Access UM Buffer)におけるフラグPを“1”に設定する。また、デバイス・コントローラ主要部202は、ホスト・デバイス1からデータを読み出すので、データ転送コマンド(Access UM Buffer)におけるフラグRを“1”に設定する。
[ステップS1102]
デバイス・コントローラ主要部202は、「フラグR“1”、フラグP“1”、アドレス、及びサイズ(READ, P==1, Address, Size)」等の情報を含むデバイス使用領域102のデータを読み出すコマンド(Access UM Buffer)を、優先度が“1(高い)”である第2のポート(CPort 1, TC 1)を介してホスト・デバイス1に送信する。
[ステップS1103]
ホスト・コントローラ120は、メモリ・システム2から、データを読み出すコマンド(Access UM Buffer)を受信すると、「フラグR“1”、フラグP“1”、アドレス、及びサイズ(READ, P==1, Address, Size)」等の情報に基づいて、デバイス使用領域102から、データをフェッチする。
[ステップS1104]
そして、ホスト・コントローラ120は、メモリ・システム2から受信したデータを読み出すコマンド(Access UM Buffer)に含まれるフラグPに基づいて、優先度が“1”である第2のポート(CPort 1, TC 1)を介して、メモリ・システム2に読み出しデータを転送する(UM DATA OUT)。
<書き込み動作>
次に、図11を用いて、メモリ・システム2がホスト・デバイス1にデータを書き込む場合における情報処理装置の動作例を説明する。図11(a)は、第3のポートを介してメモリ・システム2がデータを送信する動作を示した図であり、図11(b)は、第2のポートを介してメモリ・システム2がデータを送信する動作を示した図である。
まず図11(a)に示すように、通信路3の優先度設定が2つ用意されている情報処理装置において、メモリ・システム2はデータ転送要求時、対応するデータ転送で用いる通信路3の優先度を常に“0”とする場合の動作を説明する。
[ステップS1201]
デバイス・コントローラ主要部202は、ホスト・デバイス1にデータを送信する際の優先度を優先度“0”と決定する。そのため、デバイス・コントローラ主要部202は、データ転送コマンド(Access UM Buffer)におけるフラグPを“0(P==0)”に設定する。また、デバイス・コントローラ主要部202は、ホスト・デバイス1にデータを書き込むので、データ転送コマンド(Access UM Buffer)におけるフラグWを“1”に設定する。
[ステップS1202]
デバイス・コントローラ主要部202は、「フラグW“1”、フラグP“0”、アドレス、及びサイズ(WRITE, P==0, Address, Size)」等の情報を含むメモリ・システム2から受信したデータをデバイス使用領域102に書き込むコマンド(Access UM Buffer)を、優先度が“1”である第2のポート(CPort 1, TC 1)を介してホスト・デバイス1に送信する。
[ステップS1203]
ホスト・コントローラ120は、メモリ・システム2から、データを書き込むコマンド(Access UM Buffer)を受信すると、「フラグW“1”、フラグP“0”、アドレス、及びサイズ(WRITE, P==0, Address, Size)」等の情報に基づいて、メモリ・システム2から書き込みデータを受信する(UM DATA IN)。この際、メモリ・システム2から受信したデータを書き込むコマンド(Access UM Buffer)に含まれるフラグPに基づいて、優先度が“0”である第3のポート(CPort 2, TC 0)を介して、メモリ・システム2から書き込みデータを受信する。
[ステップS1204]
ホスト・コントローラ120は、メモリ・システム2から受信した書き込みデータを、デバイス使用領域102に記憶する。
[ステップS1205]
ホスト・コントローラ120は、書き込みデータがデバイス使用領域102に記憶されると、完了した旨を意味する通知コマンド(Acknowledge UM Buffer)を、優先度が“1”である第2のポート(CPort 1, TC 1)を介してメモリ・システム2に送信する。これにより、メモリ・システム2のホスト・デバイス1へのデータの書き込みが完了する。
次に、図11(b)に示すように、通信路3の優先度設定が2つ用意されている情報処理装置において、メモリ・システム2はデータ転送要求時、対応するデータ転送で用いる通信路3の優先度を常に“1”とする場合の動作を説明する。
[ステップS1301]
デバイス・コントローラ主要部202は、ホスト・デバイス1にデータを送信する際の優先度を優先度“1”と決定する。そのため、デバイス・コントローラ主要部202は、データ転送コマンド(Access UM Buffer)におけるフラグPを“1(P==1)”に設定する。また、デバイス・コントローラ主要部202は、ホスト・デバイス1にデータを書き込むので、データ転送コマンド(Access UM Buffer)におけるフラグWを“1”に設定する。
[ステップS1302]
デバイス・コントローラ主要部202は、「フラグW“1”、フラグP“1”、アドレス、及びサイズ(WRITE, P==1, Address, Size)」等の情報を含むメモリ・システム2から受信したデータをデバイス使用領域102に書き込むコマンド(Access UM Buffer)を、優先度が“1”である第2のポート(CPort 1, TC 1)を介してホスト・デバイス1に送信する。
[ステップS1303]
ホスト・コントローラ120は、メモリ・システム2から、データを書き込むコマンド(Access UM Buffer)を受信すると、「フラグW“1”、フラグP“1”、アドレス、及びサイズ(WRITE, P==1, Address, Size)」等の情報に基づいて、メモリ・システム2から書き込みデータを受信する(UM DATA IN)。この際、メモリ・システム2から受信したデータを書き込むコマンド(Access UM Buffer)に含まれるフラグPに基づいて、優先度が“1”である第3のポート(CPort 1, TC 1)を介して、メモリ・システム2から書き込みデータを受信する。
[ステップS1304]
ホスト・コントローラ120は、メモリ・システム2から受信した書き込みデータを、デバイス使用領域102に記憶する。
[ステップS1305]
ホスト・コントローラ120は、書き込みデータがデバイス使用領域102に記憶されると、完了した旨を意味する通知コマンド(Acknowledge UM Buffer)を、優先度が“1”である第2のポート(CPort 1, TC 1)を介してメモリ・システム2に送信する。これにより、メモリ・システム2のホスト・デバイス1へのデータの書き込みが完了する。
尚、上述した各動作に関して、メモリ・システム2はデータ転送要求時、対応するデータ転送で用いる通信路3の優先度を常に“0”とする場合または常に“1”とする場合について説明した。しかしながら、デバイス・コントローラ主要部202は、該優先度(0:優先度低い、1:優先度高い)を、所定の条件に基づいて適宜切り替えることができる。
また、メモリ・システム2が上述した各動作(読み出し動作及び書き込み動作)は、ホスト・デバイス1からメモリ・システム2がライト・コマンド500を受信した場合に行っても良いし、メモリ・システム2が能動的に行っても良い。
<実施形態に係るメモリ・システムの作用効果>
上述した実施形態では、情報処理装置は、ホスト装置1と、不揮発性半導体メモリ210を有する半導体記憶装置2と、ホスト装置1及び半導体記憶装置2を接続する通信路3と、を備える。ホスト装置1は、第1の記憶部100と、第1の記憶部100及び通信路3が接続され、第1の記憶部100を制御する第1の制御部120とを備えている。通信路3は、それぞれ優先度が割り当てられた複数のポートを備えている。半導体記憶装置2は、通信路3に接続され、第1の記憶部100へのデータの送受信動作の優先順に基づいて優先度を決定する第1のフラグ(フラグP)を含むデータ転送要求を、第1の制御部120に送信する第2の制御部200を備えている。また、第1の制御部120は、データ転送要求を受信すると、要求に含まれる第1のフラグに基づいて、優先度に対応するポートを介して第1の記憶部100と、第2の制御部200との間のデータの送受信を行う。また、優先度は、第1の優先度“0”と、第1の優先度“0”よりも優先度が高い第2の優先度“1”を含む。第2の制御部200は、データ転送要求に、後に続く動作が前記第1の記憶部100からデータを読み出す動作であることを示す第2のフラグ(フラグR)、または後に続く動作が第1の記憶部100へのデータを書き込む動作であることを示す第3のフラグ(フラグW)を含ませる。
本実施形態に係るメモリ・システム2は、メモリ・システム2が、ホスト・デバイス1との間でデータの送受信を行う際に優先度を制御することができる。
ところで、データ転送要求を行うコマンドでは優先度の制御を行う仕組みがなかった。このような場合、データの送受信を行う際に、データの種類、またはサイズ等に関わらず優先度を適宜選択することができない。
上述でも説明したように、優先度とは、処理を行う優先順を規定するものである。具体的には、競合する複数のリクエストがホスト・デバイス1にたまった時、例えば、優先度の高い処理が、優先度の低い処理よりも先に実行される。
上述したように、実施形態に係るメモリ・システム2は、ホスト・デバイス1へ、データ転送の優先度を、データ転送のリクエスト自体に、各種のフラグ情報を含ませることができる。これらのフラグの例としては、後に続く動作がホスト・デバイス1からデータを読み出すことを意味するフラグR、後に続く動作がホスト・デバイス1にデータを書き込むことを意味するフラグW、及び後に続くシーケンスの優先度を示すフラグP等が挙げられる。
特にフラグPがリクエスト自体に含まれることによって、その後に続くデータイン/アウトの優先度を、ホスト・デバイス1へのリクエストの段階で決めることができる。メモリ・システム2が適宜優先度を制御できるので、メモリ・システム2全体のパフォーマンスを最適化することができる。
<変形例等>
尚、上述した実施形態では、UFSメモリデバイスを用いて説明したが、これに限らず、例えば、クライアントサーバモデルに基づくメモリ・システムであれば、どのようなものでも良い。より具体的には、コマンドに上述したようなFlag情報(フラグR、フラグW、フラグP等)を付加することができるものであれば、適応可能である。
また、上述した実施形態では、UFSメモリデバイスを用いて説明したが、同様の動作をする半導体記憶装置であれば、他のメモリカード、メモリデバイスまたは内部メモリ等にも適用可能であり、上述した実施形態及び第2の実施形態と同様の作用効果を奏することができる。また、上述したフラッシュメモリ210はNAND型フラッシュメモリに限らず、その他の半導体メモリであっても良い。
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内において種々変形して実施することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示された構成要件を適宜組み合わせることによって種々の発明が抽出される。例えば、開示された構成要件からいくつかの構成要件が削除されても、所定の効果が得られるものであれば、発明として抽出され得る。
1…ホスト・デバイス 2…メモリ・システム 3…通信路
100…メイン・メモリ 101…ホスト使用領域
102…デバイス使用領域 110…CPU 120…ホスト・コントローラ
121…バスアダプタ 122…ホスト・コントローラ主要部
123…メイン・メモリDMA 124…制御DMA
125…データDMA 126…デバイス接続アダプタ 130〜132…ポート
140…バス 200…デバイス・コントローラ 201…ホスト接続アダプタ
202…デバイス・コントローラ主要部 203…RAM
204…NAND接続アダプタ 205…バス・マスタ
206…バス・マスタ 210…NANDフラッシュメモリ
211…L2Pテーブル 212…ユーザ・データ
230〜232…ポート 300…L2Pキャッシュ領域
310…L2Pキャッシュ・タグ領域 311、312…フィールド
312…フィールド 400…ライト・キャッシュ領域
410…ライト・キャッシュ・タグ領域 411〜413…フィールド
500…ライト・コマンド。

Claims (8)

  1. ホスト装置と、不揮発性半導体メモリを有する半導体記憶装置と、前記ホスト装置及び前記半導体記憶装置を接続する通信路と、を備える情報処理装置であって、
    前記ホスト装置は、
    第1の記憶部と、
    第1の記憶部及び前記通信路が接続され、前記第1の記憶部を制御する第1の制御部と
    を備え、
    前記通信路は、
    それぞれ優先度が割り当てられた複数のポートを備え、
    前記半導体記憶装置は、
    前記通信路に接続され、前記第1の記憶部へのデータの送受信動作の優先順に基づいて前記優先度を決定する第1のフラグを含む要求を、前記第1の制御部に送信する第2の制御部
    を備え、
    前記第1の制御部は、前記要求を受信すると、前記要求に含まれる前記第1のフラグに基づいて、前記優先度に対応する前記ポートを介して前記第1の記憶部と、前記第2の制御部との間のデータの送受信を行う
    ことを特徴とする情報処理装置。
  2. 前記第1の制御部は、第1のコマンドを生成し、
    第2の制御部は、前記第1の制御部から前記第1のコマンドを受信すると、後に続く、前記要求を、前記第1の制御部に送信する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記優先度は、第1の優先度と、前記第1の優先度よりも優先度が高い第2の優先度を含むことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第2の制御部は、前記優先度を常に前記第1の優先度とすることを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2の制御部は、前記優先度を常に前記第2の優先度とすることを特徴とする請求項3に記載の情報処理装置。
  6. 前記第2の制御部は、所定の条件に基づいて、前記第1の優先度または前記第2の優先度を選択することを特徴とする請求項3に記載の情報処理装置。
  7. 前記第2の制御部は、前記要求に、後に続く動作が前記第1の記憶部からデータを読み出す動作であることを示す第2のフラグ、または後に続く動作が前記第1の記憶部へのデータを書き込む動作であることを示す第3のフラグを含ませることを特徴とする請求項1乃至6の何れか一項に記載の情報処理装置。
  8. ホスト装置と、不揮発性半導体メモリを有する半導体記憶装置と、前記ホスト装置及び前記半導体記憶装置を接続する通信路と、を備える情報処理装置であって、
    前記ホスト装置は、
    第1の記憶部と、
    第1の記憶部及び前記通信路が接続され、前記第1の記憶部を制御する第1の制御部と
    を備え、
    前記通信路は、
    それぞれ優先度が割り当てられた複数のポートを備え、
    前記半導体記憶装置は、
    前記第1の記憶部からデータを読み出す動作であることを示す第1のフラグ、または後に続く動作が前記第1の記憶部へのデータを書き込む動作であることを示す第2のフラグを含む要求を、前記第1の制御部に送信する第2の制御部
    を備え、
    前記第1の制御部は、前記要求を受信すると、前記要求に含まれる前記第1のフラグまたは前記第2のフラグに基づいて、前記第1の記憶部と、前記第2の制御部との間のデータの送受信を行う
    ことを特徴とする情報処理装置。
JP2012194380A 2012-09-04 2012-09-04 情報処理装置 Active JP5836903B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012194380A JP5836903B2 (ja) 2012-09-04 2012-09-04 情報処理装置
EP13719184.7A EP2893455A1 (en) 2012-09-04 2013-03-06 Information processing device
CN201380044867.0A CN104603768A (zh) 2012-09-04 2013-03-06 信息处理设备
KR1020157005136A KR20150052039A (ko) 2012-09-04 2013-03-06 정보 처리 장치
PCT/JP2013/056886 WO2014038223A1 (en) 2012-09-04 2013-03-06 Information processing device
TW102109100A TWI515559B (zh) 2012-09-04 2013-03-14 資訊處理裝置
US14/636,856 US20150177986A1 (en) 2012-09-04 2015-03-03 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012194380A JP5836903B2 (ja) 2012-09-04 2012-09-04 情報処理装置

Publications (2)

Publication Number Publication Date
JP2014049091A JP2014049091A (ja) 2014-03-17
JP5836903B2 true JP5836903B2 (ja) 2015-12-24

Family

ID=48191016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012194380A Active JP5836903B2 (ja) 2012-09-04 2012-09-04 情報処理装置

Country Status (7)

Country Link
US (1) US20150177986A1 (ja)
EP (1) EP2893455A1 (ja)
JP (1) JP5836903B2 (ja)
KR (1) KR20150052039A (ja)
CN (1) CN104603768A (ja)
TW (1) TWI515559B (ja)
WO (1) WO2014038223A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015019459B1 (pt) * 2013-03-15 2021-10-19 Intel Corporation Dispositivo para uso em um módulo de memória e método realizado em um módulo de memória
US9904651B2 (en) 2014-07-31 2018-02-27 Samsung Electronics Co., Ltd. Operating method of controller for setting link between interfaces of electronic devices, and storage device including controller
US10761772B2 (en) 2014-12-19 2020-09-01 Toshiba Memory Corporation Memory system including a plurality of chips and a selectively-connecting bus
KR102371557B1 (ko) * 2015-03-20 2022-03-07 삼성전자주식회사 호스트 장치, 그것과 복수의 장치들을 갖는 호스트 시스템 및 그것의 인터페이스 링크 레이어 구성 방법
US9880939B2 (en) * 2015-09-04 2018-01-30 Toshiba Memory Corporation Memory system and information processing system
US10459846B2 (en) * 2015-09-10 2019-10-29 Toshiba Memory Corporation Memory system which uses a host memory
US10452556B2 (en) 2015-09-11 2019-10-22 Toshiba Memory Corporation Memory device and information processing device
US11262936B2 (en) 2015-10-30 2022-03-01 Sony Corporation Memory controller, storage device, information processing system, and memory control method
KR20180088180A (ko) * 2017-01-26 2018-08-03 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법
US10732893B2 (en) * 2017-05-25 2020-08-04 Western Digital Technologies, Inc. Non-volatile memory over fabric controller with memory bypass
KR20190074677A (ko) 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901230A (en) * 1983-04-25 1990-02-13 Cray Research, Inc. Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
US5155854A (en) * 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US7100002B2 (en) * 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
JP2009223863A (ja) * 2008-03-19 2009-10-01 Hitachi Ltd コンピュータシステム及びコマンド実行頻度制御方法
JP2010135672A (ja) * 2008-12-08 2010-06-17 Toshiba Corp 半導体記憶装置の製造方法
EP2296091A1 (en) * 2009-09-14 2011-03-16 Nxp B.V. Servicing low-latency requests ahead of best-effort requests
US8296496B2 (en) * 2009-09-17 2012-10-23 Hewlett-Packard Development Company, L.P. Main memory with non-volatile memory and DRAM
CN101882116A (zh) * 2010-06-13 2010-11-10 中兴通讯股份有限公司 音频传输的实现方法及移动终端

Also Published As

Publication number Publication date
TW201411551A (zh) 2014-03-16
WO2014038223A1 (en) 2014-03-13
EP2893455A1 (en) 2015-07-15
CN104603768A (zh) 2015-05-06
TWI515559B (zh) 2016-01-01
JP2014049091A (ja) 2014-03-17
KR20150052039A (ko) 2015-05-13
US20150177986A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
JP5836903B2 (ja) 情報処理装置
US9524121B2 (en) Memory device having a controller unit and an information-processing device including a memory device having a controller unit
US9395921B2 (en) Writing data using DMA by specifying a buffer address and a flash memory address
US9785545B2 (en) Method and apparatus for providing dual memory access to non-volatile memory
KR100610647B1 (ko) 직접실행제어 기능과 스토리지 기능이 복합된 대용량저장장치
US9734085B2 (en) DMA transmission method and system thereof
US9396141B2 (en) Memory system and information processing device by which data is written and read in response to commands from a host
JP5762930B2 (ja) 情報処理装置および半導体記憶装置
US20120151127A1 (en) Method of storing data in a storing device including a volatile memory device
KR20090097671A (ko) 스토리지 장치 및 컴퓨팅 시스템
US9164804B2 (en) Virtual memory module
KR20220060372A (ko) 메모리 시스템 및 그것의 동작방법
JP7030942B2 (ja) メモリ装置及びその制御方法
WO2015176664A1 (zh) 一种数据操作的方法、设备和系统
KR20180126656A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP5826728B2 (ja) 情報処理装置
US20150074334A1 (en) Information processing device
US10168901B2 (en) Memory system, information processing apparatus, control method, and initialization apparatus
CN111352865B (zh) 存储控制器的写缓存
CN214376421U (zh) Ftl加速器及控制部件
US20240311304A1 (en) Storage controller and operating method of the storage controller
TW202336587A (zh) 在以快閃記憶體為基礎的儲存裝置中快取位址映射資訊的方法與裝置
CN114691550A (zh) 压缩的ftl表及其加速器
TW201348963A (zh) 外接儲存裝置加速器及其方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151104

R151 Written notification of patent or utility model registration

Ref document number: 5836903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350