JP2013089161A - Ram記憶装置 - Google Patents

Ram記憶装置 Download PDF

Info

Publication number
JP2013089161A
JP2013089161A JP2011231550A JP2011231550A JP2013089161A JP 2013089161 A JP2013089161 A JP 2013089161A JP 2011231550 A JP2011231550 A JP 2011231550A JP 2011231550 A JP2011231550 A JP 2011231550A JP 2013089161 A JP2013089161 A JP 2013089161A
Authority
JP
Japan
Prior art keywords
ram
access
signal
data
control signal
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.)
Granted
Application number
JP2011231550A
Other languages
English (en)
Other versions
JP5801158B2 (ja
Inventor
Satoyuki Maeda
智行 前田
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor 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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2011231550A priority Critical patent/JP5801158B2/ja
Priority to US13/653,141 priority patent/US9256556B2/en
Priority to CN201210399530.9A priority patent/CN103064802B/zh
Publication of JP2013089161A publication Critical patent/JP2013089161A/ja
Application granted granted Critical
Publication of JP5801158B2 publication Critical patent/JP5801158B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

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)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】RAMへのアクセス競合が発生した場合であっても、両アクセスを有効なものとして応答可能なRAM記憶装置を提供する。
【解決手段】
制御信号に応じてクロック信号による1のサイクル内において2つのインターフェースのうちの一方に到来したアクセスをRAMに供給する選択部と、当該制御信号に応じて当該インターフェースのうちの他方に到来したアクセスを少なくとも当該1のサイクルに続く次のサイクルまで記憶する記憶部と、を含み、当該選択部は、当該次のサイクル以降において当該記憶部に記憶されているアクセスを当該RAMに供給する。
【選択図】図1

Description

本発明は、例えばフラッシュメモリなどの半導体記憶装置を制御するメモリ制御装置に含まれ、メモリアクセスに応じて書き込み/読出し自在なRAM記憶装置に関する。
従来より、例えばフラッシュメモリなどの半導体記憶装置を制御するフラッシュコントローラなどのメモリ制御装置が知られている(例えば特許文献1)。この種の技術においては、一般的に、フラッシュメモリからの読出しデータに対する信頼性を向上させるために、ECC(Error Check and Correct)すなわちエラー検出・訂正回路が用いられる。データエラーが発生している場合には、ECC回路によりデータ訂正がなされる。この際、エラー情報がレジスタやRAMに記憶され、データのリライトすなわち再書き込みやエラー発生のログ情報としての利用に供される。また、これとは別に、例えばこのエラー情報をメモリ制御装置が有するRAMに一時的に格納する際にそのRAMへのアクセス等の要求信号が競合する場合があることも従来から知られている。例えば特許文献2には、メモリへのリフレッシュ要求信号とダイレクトメモリアクセス要求信号とが競合することを前提としたダイナミックメモリの競合回路が開示されている。
特開平8−77066号公報 特開平5−74151号公報
ところで、エラー情報の書き込み先としてシングルポートのRAMを用いた場合、当該RAMへのエラー情報の書き込みアクセスとその他のアクセスとが競合したときには、いずれか一方のアクセスしか有効にならないという問題がある。かといって、エラー情報の書き込み先をCPU内のレジスタとした場合には、書き込み先をRAMとした場合に比較して回路面積が大きくなってしまうという問題がある。例えば、フラッシュメモリの複数ページのアドレスとエラー情報とを合わせて1Kバイトのデータを記憶する必要がある場合には、RAMを用いた場合に比較して約4倍も回路面積が大きくなってしまう。
本発明は上記した如き問題点に鑑みてなされたものであって、RAMへのアクセス競合が発生した場合であっても、両アクセスを有効なものとして応答可能なRAM記憶装置を提供することを目的とする。
本発明によるRAM記憶装置は、書込み又は読出しの制御信号と情報データとを含むアクセスを各々が中継する2つのインターフェースと、前記インターフェースを経た前記アクセスに応じてクロック信号に同期して前記情報データの書込み又は読出しを行なうRAMと、を含むRAM記憶装置であって、前記制御信号に応じて、前記クロック信号による1のサイクル内において前記インターフェースの一方に到来した前記アクセスを前記RAMに供給する選択供給動作をなす選択部と、前記制御信号に応じて、前記インターフェースの他方に到来したアクセスを少なくとも前記1のサイクルに続く次のサイクルまで記憶する記憶動作をなす記憶部と、を含み、前記選択部は、前記次のサイクル以降において前記記憶部に記憶されているアクセスを前記RAMに供給することを特徴とする。
本発明によるRAM記憶装置によれば、RAMへのアクセス競合が発生した場合であっても、両アクセスを有効なものとして応答可能となる。
本発明の実施例であるRAM記憶装置(RAMブロック)を含むフラッシュコントローラ、ホスト装置、及びフラッシュメモリの構成を示すブロック図である。 図1のRAMブロックの構成例を示すブロック図である。 図1のシングルポートRAMのライト/リード時におけるアクセス波形を示すタイムチャートである。 図1のシングルポートRAM内に記憶されるデータの一例を示す図である。 リード要求応答時における図1のフラッシュコントローラの動作を示すタイムチャートである。 シングルポートRAMへのライトアクセス競合発生時におけるフラッシュIF及びCPUからのアクセス波形と、シングルポートRAMの端子の入出力波形とを示すタイムチャートである。
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
図1には、本発明の実施例であるRAM記憶装置10(以下、RAMブロック10と称する)を含むメモリ制御装置100(以下、フラッシュコントローラ100と称する)の構成が、ホスト装置200及び半導体記憶装置300(以下、フラッシュメモリ300と称する)と共に示されている。
フラッシュコントローラ100は、ホスト装置200からの要求に応じて、フラッシュメモリ300へのデータの書き込み(以下、ライトと称する)やフラッシュメモリ300からのデータの読み出し(以下、リードと称する)を行なう。
フラッシュコントローラ100について以下に説明する。
RAMブロック10は、フラッシュメモリ300へのライト動作時には、ライトデータのバッファとして用いられる。また、RAMブロック10は、フラッシュメモリ300からのリード動作時には、フラッシュメモリ300の複数ページを連続してリードするために使用される複数のページアドレスを記憶する領域として用いられる。また、RAMブロック10は、シングルポートRAM11を有する。シングルポートRAM11は、ライト又はリードのアクセスに応じて、クロック信号に同期してデータの書き込み又は読出しを行なうことができる。当該アクセスには、書き込み又は読出しの制御信号と情報データとが含まれる。シングルポートRAM11の動作については後述する(図2)。
ホストインターフェース20は、ホスト装置200との間のインターフェースである。例えば、ホストインターフェース20は、ホスト装置200からライト要求やリード要求を受信して、これらの要求をCPU40に与える。また、ホストインターフェース20は、フラッシュメモリ300から読み出されたリードデータをホスト装置200に送信する。また、ホストインターフェース20は、ホスト装置200から受信したライトデータをフラッシュインターフェース30に受け渡す。
フラッシュインターフェース30は、フラッシュメモリ300との間のインターフェースである。例えば、フラッシュインターフェース30は、フラッシュメモリ300へのライトデータの書き込み、及びフラッシュメモリ300からのリードデータの読み出しを行なう。また、フラッシュインターフェース30は、フラッシュメモリ300から読み出したリードデータをECC50に与え、ECC50によるエラー検出・訂正後のリードデータをホストインターフェース20に受け渡す。
CPU40は、ホストインターフェース20からライト要求やリード要求を受け取り、これらの要求に応じてフラッシュインターフェース30及びRAMブロック10を制御する。例えば、CPU40は、リード要求に応じて、RAMブロック10内のシングルポートRAM11の各番地に対してページアドレス設定を行なう。また、CPU40は、フラッシュインターフェース30に対して、読み出しページ数を伴う連続リード指令を発することもできる。また、CPU40は、シングルポートRAM11内に記憶されているエラー情報の検出を行なうこともできる。これらの動作詳細については後述する(図5)。
ECC50は、フラッシュインターフェース30から与えられたデータに対してエラー検出・訂正処理を施す。ECC50は、フラッシュインターフェース30から与えられたデータがライトデータである場合には当該データに対して誤り検出のためのパリティビットを付加し、与えられたデータがリードデータである場合には当該データに対してエラー検出及びエラー訂正処理を施す。また、ECC50は、1ページ分のリードデータについてのエラー検出・訂正処理を完了したときに、RAMブロック10にアクセスを行ない、そのエラー検出の結果を示すエラー情報をシングルポートRAM11の該当番地に記憶させる(ライトする)。
内部バス60は、RAMブロック10、ホストインターフェース20、フラッシュインターフェース30、及びCPU40を相互に通信接続する通信路である。
図2には、RAMブロック10の構成例が示されている。RAMブロック10は、フラッシュインターフェース30からのRAM制御信号と、CPU40からのRAM制御信号とを受けることができる。なお、図2においては、「インターフェース」を「IF」と標記している。
CPU側IF12は、CPU40からの書き込み又は読出しのアクセスを受け入れ自在なインターフェースである。CPU側IF12は、CPU40からのアクセスのデータ形式をシングルポートRAM11に適合したデータ形式に変更する機能も有する。
RAM制御信号記憶部13は、フラッシュインターフェース30から供給された記憶回路制御信号NFI_ACCに応じて、CPU側IF12により受信されたRAM制御信号を一時的に記憶する。
マルチプレクサ14は、フラッシュインターフェース30からのRAM制御信号と、RAM制御信号記憶部13に記憶されているRAM制御信号とのうちのいずれか一方を選択して、当該選択したRAM制御信号をシングルポートRAM11に供給する。マルチプレクサ14は、フラッシュインターフェース30から供給されるNFI_CEN信号に応じてこれらのRAM制御信号の一方を選択する。以下、マルチプレクサ14を選択部とも称する。また、NFI_CEN信号を選択指令信号とも称する。
フラッシュ側IF15は、フラッシュインターフェース30からの書き込み又は読出しのアクセスを受け入れ自在なインターフェースである。
RAM制御信号は、CEN、OEN、WEN、WEMN、A及びDであり、図2においては、フラッシュインターフェース30からのものについては「NFI_」が、CPU40からのものについては「CPU_」がそれぞれ信号名の先頭に付加されている。
シングルポートRAM11は、クロック信号CLKに同期して動作する同期RAMである。同期には、例えば、クロック信号CLKの立ち上りエッジが用いられる。シングルポートRAM11は、マルチプレクサ14から供給されたRAM制御信号に応じて、該当アドレスへのデータのライト、及び該当アドレスからのデータのリードを行なう。
図3には、シングルポートRAM11のライト/リード時におけるアクセス波形が示されている。
ライトアクセスは、チップイネーブル信号CEN及びライトイネーブル信号WENがアサートされる(すなわち有効になる)ことで有効になる。このアサート期間内においてアドレス信号Aにより指定された領域ADD0にデータ信号Dにより示されるデータDATA0がクロック信号CLKに同期して書き込まれる。
ライトイネーブルマスク信号WEMNは、書き込みデータをバイト単位でマスクするための信号である。ライトイネーブルマスク信号WEMNを用いることにより、ある番地に既に書き込まれているページアドレスのデータを残したまま、エラー情報を当該番地に書き込むことができる。なお、このように、エラー情報をページアドレスと同一の番地に対応付けて書き込むことにより、後に、例えばCPU40がエラー情報を高速にサーチすることができるという利点がある。
リードアクセスは、チップイネーブル信号CEN及びアウトプットイネーブル信号OENがアサートされることで有効になる。このアサート期間内においてアドレス信号Aにより指定された領域ADD1に記憶されているデータDATA1を示す出力信号Qがクロック信号CLKに同期して出力される。データDATA1は、領域ADD1が指定されたサイクルの次のサイクルにおいて出力される。
シングルポートRAM11は、出力信号Qを出力信号NFI_Qとしてフラッシュインターフェース30へ供給する。また、シングルポートRAM11は、CPU側IF12を介して出力信号QをCPU40へ供給する。
図4には、フラッシュメモリ300から複数ページに亘って連続的にデータをリードする際にシングルポートRAM11内に記憶されるデータが示されている。n(nは2以上の整数)ページに亘って連続的にデータを読みだす際には、CPU40からの指令によって、ページアドレス「#1」、「#2」、「#3」、・・・、「#n」が番地「0」から順に記憶される。また、ページアドレスが記憶される番地には、ECC50からの指令によって、エラー情報も記憶される。エラー情報の記憶動作については後述する(図5)。
図5を参照しつつ、以下に、ホスト装置200からのリード要求応答時におけるフラッシュコントローラ100の動作について説明する。
先ず、例えばホスト装置200の起動完了時などの任意の時点において、ホスト装置200がフラッシュコントローラ100に対して1回目のリード要求を発する(ステップS1)。リード要求は、複数のページを連続的に読み出すための単一コマンドとして発せられる。ホストインターフェース20は、リード要求を受信し、これをCPU40に与える。
CPU40は、当該リード要求に応じてページアドレス設定を行なう(ステップS2)。詳細には、CPU40は、当該リード要求が示すページ数に相当するページアドレスを、RAMブロック10内のシングルポートRAM11の番地「0」から順に記憶させる。この際、CPU40は、何ページ分リードするのかを確認する処理、及び論理ページと物理ページの変換処理を実施することができる。
次に、CPU40は、フラッシュインターフェース30に対して、読み出しページ数を伴う連続リード指令を発する(ステップS3)。
フラッシュインターフェース30は、連続リード指令に応じて、先ずは、シングルポートRAM11の番地「0」に記憶されているページアドレスを読出す。そして、フラッシュインターフェース30は、当該ページアドレスを伴うリード命令をフラッシュメモリ300に対して発して、当該ページアドレスに対応するデータをフラッシュメモリ300からリードする(ステップS4)。フラッシュインターフェース30は、リードデータをECC50に転送する。
ECC50は、当該リードデータに対してエラー検出処理を施す。ECC50は、エラーを検出した場合にはリードデータに対してエラー訂正処理を施し、エラーを検出しなかった場合にはエラー訂正処理を行なわずに、リードデータをフラッシュインターフェース30に転送する。ECC50は、1ページ分のエラー検出・訂正処理を完了した時点において、そのエラー検出の結果を示すエラー情報をシングルポートRAM11の番地「0」に記憶させる(ステップS5)。
エラー情報は、例えば、エラーが検出された場合には論理値「1」、エラーが検出されなかった場合には論理値「0」となる。なお、シングルポートRAM11へのライトイネーブルマスク信号WEMNを用いることにより、番地「0」に既に書き込まれているページアドレスのデータを残したまま、エラー情報を同じ番地「0」に書き込むことができる。かかる処理により、読出しページアドレスとエラー情報とが対応付けられる。
フラッシュインターフェース30は、ECC50によるエラー検出訂正処理後、リードデータをホストインターフェース20に転送する。ホストインターフェース20は、当該リードデータをホスト装置200に送信する(ステップS6)。
フラッシュインターフェース30、ECC50、及びホストインターフェース20は、ステップS4からS6までの処理を読出し対象ページ分だけ反復して実行する。この際、フラッシュインターフェース30は、現在読み出し番地の番号を1つインクリメントして得られた番地に記憶されているページアドレスを次に読み出す。
例えば、現在読み出し番地が「0」である場合、フラッシュインターフェース30が次に読み出し対象とするページアドレスは、シングルポートRAM11の番地「0」を1つインクリメントして得られた番地「1」に記憶されているページアドレスとなる。フラッシュインターフェース30は、リード要求が示す全ページ数のデータをリードし終えた場合には、CPU40に対してその旨を通知する。
ホスト装置200は、ステップS1において発したリード要求が示す全ページのリードデータを取得した後、フラッシュコントローラ100に対して2回目のリード要求を発する(ステップS7)。
CPU40は、当該要求に応じてシングルポートRAM11にアクセスし、エラー情報が対応付けられているページアドレスを取得する(ステップS8)。
CPU40は、ページアドレスの取得完了後、上記ステップS2と同様にページアドレス設定を行なう(ステップS9)。ここで、CPU40は、ホスト装置200からのリード要求受信後所定時間内にフラッシュインターフェース30に対して連続リード指令を発することを要する。故に、CPU40は、最初の数ページ分のページアドレスを設定した後、連続リード指令し(ステップS10)、その後、残りのページ分のページアドレスを設定する。
フラッシュインターフェース30は、上記したのと同様に、連続リード指令に応じてフラッシュメモリ300からデータをリードする(ステップS11)。ECC50は、上記したのと同様に、リードデータに対してエラー検出処理を施してそのエラー検出の結果を示すエラー情報をシングルポートRAM11の該当番地に記憶させる(ステップS12)。
かかる動作により、CPU40によるページアドレス設定のためのライトアクセス(ステップS9)と、ECC50によるエラー情報記憶のためのライトアクセス(ステップS12)とが、シングルポートRAM11において競合する場合が生じる(図5の破線楕円で囲んだ部分)。
図6及び図2を参照しつつ、以下に、シングルポートRAMへのライトアクセス競合発生時におけるRAMブロック10の動作について説明する。
フラッシュインターフェース30からのRAM制御信号は、マルチプレクサ14の一方の入力に供給される。当該RAM制御信号は、例えばECC50により生成され、フラッシュインターフェース30を介してRAMブロック10に与えられるものである。クロック信号CLKに基づく1のサイクルにおいてフラッシュインターフェース30からのNFI_CEN信号がアサートされたときに(”L”レベルになったときに)、マルチプレクサ14は、フラッシュインターフェース30からのRAM制御信号を選択し、これをシングルポートRAM11に供給する。なお、当該1のサイクル時点においては、RAM制御信号記憶部13からのRAM制御信号は、マルチプレクサ14からは出力されない。すなわち、マルチプレクサ14は、当該1のサイクル時点においては、フラッシュインターフェース30からのアクセスの内容のみをシングルポートRAM11に供給する。
CPU40からのライトアクセス信号は、CPU側IF12によって取り込まれる。RAM制御信号記憶部13は、フラッシュインターフェース30から供給される待機指令信号NFI_ACCがアサートされた場合に(”H”レベルになったときに)、CPU40からのライトアクセス信号をRAM制御信号として保持する。RAM制御信号記憶部13は、RAM制御信号を少なくとも当該1のサイクルに続く次のサイクルまで記憶する。例えば、RAM制御信号記憶部13は、フリップフロップ(図示せず)を含み、RAM制御信号を当該フリップフロップに記憶する。RAM制御信号記憶部13は、当該記憶したRAM制御信号をマルチプレクサ14の他方の入力に供給する。待機指令信号NFI_ACCは、フラッシュインターフェース30がライトアクセスするサイクルよりも前のサイクルにおいて入力されるパルス信号である。すなわち、待機指令信号NFI_ACCは、NFI_CEN信号のアサートに先立ってフラッシュインターフェース30から発せられる。
シングルポートRAM11は、マルチプレクサ14から供給された、フラッシュインターフェース30からのRAM制御信号に応じた処理を行なう。シングルポートRAM11は、当該1のサイクル時点においては、アドレス信号Aにより示される領域ADD0に、データ信号Dにより示されるデータDATA0を記憶する。
続いて、当該1のサイクルに続く次のサイクル以降においてNFI_CEN信号がネゲートされたときに(すなわち無効になったときに)、マルチプレクサ14は、RAM制御信号記憶部13からのRAM制御信号を選択し、これをシングルポートRAM11に供給する。なお、NFI_CEN信号が”H”レベルになったときがネゲート状態である。マルチプレクサ14は、当該次のサイクル時点においては、フラッシュインターフェース30からのアクセスの内容のみをシングルポートRAM11に供給する。
この場合にも、シングルポートRAM11は、マルチプレクサ14から供給された、CPU40からのRAM制御信号に応じた処理を行なう。シングルポートRAM11は、当該次のサイクル時点においては、アドレス信号Aにより示される領域ADD1に、データ信号Dにより示されるデータDATA1を記憶する。RAM制御信号記憶部13は、当該次のサイクル以降において、当該記憶していたRAM制御信号の内容を消去する。
かかる動作により、フラッシュインターフェース30からのアクセスが優先的される。つまり、シングルポートRAM11のアドレス端子Aには、アドレスADD0、アドレスADD1の順に到来する。また、シングルポートRAM11のデータ端子Dには、データDATA0、データDATA1の順に到来する。このように、シングルポートRAM11に対してフラッシュインターフェース30及びCPU40の各々からライトアクセスがなされてライトアクセスの競合が生じた場合においても、RAMブロック10はこれら両アクセスに応じた処理を適切に行なうことができる。
上記したように、本実施例によるRAMブロック10においては、フラッシュインターフェース30から待機指令信号NFI_ACCを受信した場合にCPU40からのライトアクセス信号を一時的に記憶する。そして、当該記憶しているライトアクセス信号と、フラッシュインターフェース30からのライトアクセス信号とのうちの後者のライトアクセス信号を、外部からの選択指令信号(NFI_CEN信号)のアサートに応じて選択する。当該選択したライトアクセス信号を、クロックサイクルの1のサイクルにおいてシングルポートRAM11に供給し、更に当該1のサイクルに続く次のサイクル以降において当該記憶しているライトアクセス信号(すなわちCPU40からのライトアクセス信号)をシングルポートRAM11に供給する。
かかる動作により、本実施例によるRAMブロック10によれば、シングルポートRAM11へのアクセス競合が発生した場合であっても、両アクセスを有効なものとして応答可能である。
上記の実施例は、データDATA1がデータDATA0の直後のサイクルにおいてマルチプレクサ14から出力される場合の例であるが、これに限られない。例えば、データDATA1をデータDATA0の複数サイクル後において出力することも考えられる。アドレスADD0及びADD1についても同様である。
上記の実施例はライトアクセス競合時の例であるが、リードアクセス競合時も同様の動作により、同様の効果を奏することができる。
また、上記の実施例はアクセス対象をシングルポートRAMとした場合の例であるが、デュアルポートRAMとした場合にも同様の効果を奏することができる。シングルポートRAMは、デュアルポートRAMに比較して1/2の面積で済むので、シングルポートRAMの方が実装面で有利である。
10 RAM記憶装置(RAMブロック)
11 シングルポートRAM
12 CPU側IF
13 RAM制御信号記憶部
14 マルチプレクサ(選択部)
15 フラッシュ側IF
20 ホストインターフェース
30 フラッシュインターフェース
40 CPU
50 ECC
60 内部バス
100 メモリ制御装置(フラッシュコントローラ)
200 ホスト装置
300 半導体記憶装置(フラッシュメモリ)

Claims (5)

  1. 書込み又は読出しの制御信号と情報データとを含むアクセスを各々が中継する2つのインターフェースと、前記インターフェースを経た前記アクセスに応じてクロック信号に同期して前記情報データの書込み又は読出しを行なうRAMと、を含むRAM記憶装置であって、
    前記制御信号に応じて、前記クロック信号による1のサイクル内において前記インターフェースの一方に到来した前記アクセスを前記RAMに供給する選択供給動作をなす選択部と、
    前記制御信号に応じて、前記インターフェースの他方に到来したアクセスを少なくとも前記1のサイクルに続く次のサイクルまで記憶する記憶動作をなす記憶部と、を含み、
    前記選択部は、前記次のサイクル以降において前記記憶部に記憶されているアクセスを前記RAMに供給することを特徴とするRAM記憶装置。
  2. 前記制御信号は、選択指令信号と待機指令信号とを含み、
    前記選択部は前記選択指令信号に応じて前記選択供給動作をなし、前記記憶部は前記待機指令信号に応じて前記記憶動作をなすことを特徴とする請求項1に記載のRAM記憶装置。
  3. 前記RAMは、シングルポートRAMであることを特徴とする請求項1又は2に記載のRAM記憶装置。
  4. 前記情報データは、フラッシュメモリのページアドレスと前記フラッシュメモリの記憶データについてのエラー情報とを含むことを特徴とする請求項1乃至3のいずれか1つに記載のRAM記憶装置。
  5. 半導体記憶装置を制御するメモリ制御装置に含まれ、
    前記アクセスは、前記半導体記憶装置の制御に関連して前記メモリ制御装置から供給されたものであることを特徴とする請求項1乃至4のいずれか1つに記載のRAM記憶装置。
JP2011231550A 2011-10-21 2011-10-21 Ram記憶装置 Active JP5801158B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011231550A JP5801158B2 (ja) 2011-10-21 2011-10-21 Ram記憶装置
US13/653,141 US9256556B2 (en) 2011-10-21 2012-10-16 RAM memory device capable of simultaneously accepting multiple accesses
CN201210399530.9A CN103064802B (zh) 2011-10-21 2012-10-19 Ram存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011231550A JP5801158B2 (ja) 2011-10-21 2011-10-21 Ram記憶装置

Publications (2)

Publication Number Publication Date
JP2013089161A true JP2013089161A (ja) 2013-05-13
JP5801158B2 JP5801158B2 (ja) 2015-10-28

Family

ID=48107433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011231550A Active JP5801158B2 (ja) 2011-10-21 2011-10-21 Ram記憶装置

Country Status (3)

Country Link
US (1) US9256556B2 (ja)
JP (1) JP5801158B2 (ja)
CN (1) CN103064802B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150103593A1 (en) * 2013-10-14 2015-04-16 Skymedi Corporation Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US9612904B2 (en) * 2015-02-02 2017-04-04 Sandisk Technologies Llc Memory system and method for securing volatile memory during sleep mode using the same ECC module used to secure non-volatile memory during active mode
CN104716954A (zh) * 2015-03-17 2015-06-17 广东高云半导体科技股份有限公司 带有片上用户非易失性存储器的可编程逻辑器件
CN106528464A (zh) * 2016-11-08 2017-03-22 英业达科技有限公司 内存访问冲突控制的计算机系统
WO2022027196A1 (zh) * 2020-08-03 2022-02-10 Oppo广东移动通信有限公司 共享内存处理装置、调制解调器以及方法和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161870A (ja) * 1992-11-26 1994-06-10 Nec Corp デュアルポートram回路
JP2010140155A (ja) * 2008-12-10 2010-06-24 Oki Electric Ind Co Ltd フラッシュディスク装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574151A (ja) 1991-09-18 1993-03-26 Hitachi Ltd ダイナミツクメモリの競合回路
US5448714A (en) * 1992-01-02 1995-09-05 Integrated Device Technology, Inc. Sequential-access and random-access dual-port memory buffer
JPH0877066A (ja) 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US7707354B2 (en) * 1999-08-04 2010-04-27 Super Talent Electronics, Inc. SRAM cache and flash micro-controller with differential packet interface
US7617352B2 (en) * 2000-12-27 2009-11-10 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
KR100614639B1 (ko) * 2003-07-24 2006-08-22 삼성전자주식회사 쓰기 방지 가능한 버퍼 메모리를 갖는 메모리 장치 및그것을 포함하는 정보 처리 시스템
US7752380B2 (en) * 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
US7062615B2 (en) * 2003-08-29 2006-06-13 Emulex Design & Manufacturing Corporation Multi-channel memory access arbitration method and system
US7277995B2 (en) * 2003-10-29 2007-10-02 Dot Hill Systems Corporation Storage controller and method for performing host access control in the host interface adapter
KR100666169B1 (ko) * 2004-12-17 2007-01-09 삼성전자주식회사 플래쉬 메모리 데이터 저장장치
JP2006185352A (ja) * 2004-12-28 2006-07-13 Fujitsu Ltd 外部記憶制御装置およびそのためのプログラム
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
JP2006276967A (ja) * 2005-03-28 2006-10-12 Renesas Technology Corp 半導体装置
KR100648292B1 (ko) * 2005-07-28 2006-11-23 삼성전자주식회사 오토 듀얼 버퍼링 방식의 메모리 장치
JP4153535B2 (ja) * 2006-05-30 2008-09-24 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4823009B2 (ja) * 2006-09-29 2011-11-24 株式会社東芝 メモリカード及びホスト機器
KR100909364B1 (ko) * 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
CN101127208B (zh) * 2007-08-15 2010-05-19 西安龙腾微电子科技发展有限公司 异步伪双端口图像存储器的访问冲突处理方法
TWI376603B (en) * 2007-09-21 2012-11-11 Phison Electronics Corp Solid state disk storage system with a parallel accessing architecture and a solid state disk controller
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US20100274933A1 (en) * 2009-04-24 2010-10-28 Mediatek Inc. Method and apparatus for reducing memory size and bandwidth
US9342445B2 (en) * 2009-07-23 2016-05-17 Hgst Technologies Santa Ana, Inc. System and method for performing a direct memory access at a predetermined address in a flash storage
CN101980140B (zh) * 2010-11-15 2012-02-22 北京北方烽火科技有限公司 一种ssram访问控制系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161870A (ja) * 1992-11-26 1994-06-10 Nec Corp デュアルポートram回路
JP2010140155A (ja) * 2008-12-10 2010-06-24 Oki Electric Ind Co Ltd フラッシュディスク装置

Also Published As

Publication number Publication date
US20130104004A1 (en) 2013-04-25
CN103064802A (zh) 2013-04-24
JP5801158B2 (ja) 2015-10-28
US9256556B2 (en) 2016-02-09
CN103064802B (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
USRE48736E1 (en) Memory system having high data transfer efficiency and host controller
US10152237B2 (en) Non-deterministic memory protocol
CN109313620B (zh) 存储器协议
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
JP5801158B2 (ja) Ram記憶装置
CN108139994B (zh) 内存访问方法及内存控制器
CN113791994B (zh) 一种基于AXI协议wrap访问的DDR控制器及处理方法
TWI533135B (zh) 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器
US20100153622A1 (en) Data Access Controller and Data Accessing Method
US20210263867A1 (en) Memory protocol with command priority
JP2004127305A (ja) メモリ制御装置
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
US11226770B2 (en) Memory protocol
JP2015022437A (ja) 制御装置、コンピュータシステム、制御方法、及びプログラム
CN111556994B (zh) 命令控制系统、车辆、命令控制方法及非瞬态计算机可读介质
JPH09311812A (ja) マイクロコンピュータ
JP2003177957A (ja) メモリ制御回路
JP2006072452A (ja) データ記録方法
JPH1124995A (ja) アドレス変換用tlbアクセス制御方式
CN109582615A (zh) 一种ddr3控制系统
JP2006065380A (ja) データ記録方法
JP2006164119A (ja) データ処理装置
JP2001297034A (ja) メモリアクセス制御装置およびその方法
JP2000330747A (ja) 印刷装置及びそのメモリ制御方法ならびに記録媒体
JP2004272370A (ja) 制御装置及びデータアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150826

R150 Certificate of patent or registration of utility model

Ref document number: 5801158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150