JP2007172129A - 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム - Google Patents

不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム Download PDF

Info

Publication number
JP2007172129A
JP2007172129A JP2005366432A JP2005366432A JP2007172129A JP 2007172129 A JP2007172129 A JP 2007172129A JP 2005366432 A JP2005366432 A JP 2005366432A JP 2005366432 A JP2005366432 A JP 2005366432A JP 2007172129 A JP2007172129 A JP 2007172129A
Authority
JP
Japan
Prior art keywords
nonvolatile memory
access
cycle
state
holding unit
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.)
Pending
Application number
JP2005366432A
Other languages
English (en)
Inventor
Takuya Hashimoto
卓也 橋本
Kunihiro Miura
邦博 三浦
Toshinori Nakamura
俊紀 中村
Eiryo Nomura
英良 野村
Kenichi Satori
謙一 佐鳥
Kenichi Nakanishi
健一 中西
Naohiro Adachi
直大 足立
Tamaki Konno
環 今野
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.)
Sony Corp
Original Assignee
Sony 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
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005366432A priority Critical patent/JP2007172129A/ja
Priority to US11/607,882 priority patent/US20070143534A1/en
Publication of JP2007172129A publication Critical patent/JP2007172129A/ja
Pending legal-status Critical Current

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
    • G06F13/1668Details of memory controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】処理装置の処理回数の増大を減少することができ、不揮発性メモリへのアクセス動作が遅くなることを防止でき、ひいては消費電力の低減を図ることができる不揮発性メモリアクセス制御装置および不揮発性メモリ制御システムを提供する。
【解決手段】不揮発性メモリ13と、不揮発性メモリ13へのアクセスを要求するCPU(処理装置)11と、CPU11の要求に応じて不揮発性メモリ13への複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置14と、を有し、不揮発性メモリアクセス制御装置14は、複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、CPU11から不揮発性メモリ13へのアクセス要求を受けると、設定情報に基づいて不揮発性メモリ13への一連のアクセス動作を制御する不揮発性メモリアクセス動作制御部141を有する。
【選択図】図2

Description

本発明は、フラッシュメモリ等の不揮発性メモリアクセス制御装置および不揮発性メモリ制御システムに関するものである。
フラッシュメモリ等の不揮発性メモリアクセス制御システムにおいては、不揮発性メモリにアクセスする際には、図1のように不揮発性メモリのアクセス動作に従って、処理装置であるCPUがその動作を制御し、処理を実行していた。
つまり、1回の不揮発性メモリアクセスに対して、不揮発性メモリアクセス動作制御部に動作を設定することによって、不揮発性メモリアクセスのための制御信号とチップセレクト信号を生成し、不揮発性メモリのデータパスにデータを入出力させるといった処理をすることで不揮発性メモリアクセス動作の制御をしていた。
たとえば、不揮発性メモリに対してコマンドを発行しようとする時、不揮発性メモリアクセス動作制御部にコマンドを発行するように設定し、その設定によりコマンド制御信号とチップセレクト信号を生成し、データパスにコマンドを出力するといった制御をしていた。
また、アドレスや入出力データを転送する場合には、1回にアクセスできる容量は決まっていたため、大きな容量のアドレスやデータを1回では転送できず、転送したいアドレスや入出力データを複数回に分けて転送する必要がある。
不揮発性メモリのアクセス制御に関しては、たとえば特許文献1,2に提案されている。
特開2002−133878号公報 特開2003−141888号公報
一般的な不揮発性メモリには、コマンド(Command)サイクル、アドレス(Address)サイクル、データ(Data)サイクル、ビジー(BSY)サイクルが存在するので、以上のような制御方法を用いると、1サイクルにつき1回以上CPUが介在してしまっていた。換言すれば、CPUの処理回数が1サイクルにつき1回以上存在していた。
よって、不揮発性メモリに対して連続的に書き込みや読み出しを行う場合、CPUが複数回介在してしまうので、CPUの処理回数が増大し、不揮発性メモリへのアクセス動作が遅くなり、CPUの消費電力が増大してしまうという不利益があった。
本発明は、処理装置の処理回数の増大を減少することができ、不揮発性メモリへのアクセス動作が遅くなることを防止でき、ひいては消費電力の低減を図ることができる不揮発性メモリアクセス制御装置および不揮発性メモリ制御システムを提供することにある。
本発明の第1の観点は、処理装置による不揮発性メモリへの複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置であって、複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、上記処理装置から上記不揮発性メモリへのアクセス要求を受けると、上記設定情報に基づいて上記不揮発性メモリへの一連のアクセス動作を制御する不揮発性メモリアクセス動作制御部を有する。
好適には、上記不揮発性メモリアクセス動作制御部は、不揮発性メモリアクセス時の各サイクルに対応したステートを設定できるステート保持部を含む。
好適には、不揮発性メモリアクセス時の複数のサイクルには、コマンドを発行するコマンドサイクルと、アドレスを発行するアドレスサイクルと、データを上記不揮発性メモリとのデータパスにデータを入出力させるデータサイクルと、上記不揮発性メモリのビジー時間であるビジーサイクルとを、少なくとも含み、上記ステート保持部は、上記コマンドサイクルに対応するコマンドステート保持部と、上記アドレスサイクルに対応するアドレスステート保持部と、上記データサイクルに対応するデータステート保持部と、上記ビジーサイクルに対応するビジーステート保持部と、を含む。
好適には、上記不揮発性メモリアクセス動作制御部は、上記コマンドサイクル時に発行されるコマンドを保持するコマンド保持部と、上記アドレスサイクル時に発行されるアドレスを保持するアドレス保持部と、アクセスのステート数を決定するステート数保持部と、アドレスおよびデータステートのカウント数保持部と、アクセスに必要となるステートサイクル数をカウントするステートサイクル制御カウンタと、をさらに含む。
好適には、上記不揮発性メモリアクセス動作制御部は、上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行う。
好適には、上記不揮発性メモリアクセス動作制御部は、上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行い、所定のサイクルの処理が終了すると、上記ステート数保持部の値と、上記ステートサイクル数制御カウンタの値との比較結果に応じて、次サイクルへの移行、またはアクセス終了の判定を行う。
本発明の第2の観点の不揮発性メモリ制御システムは、不揮発性メモリと、上記不揮発性メモリへのアクセスを要求する処理装置と、上記処理装置の要求に応じて上記不揮発性メモリへの複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置と、を有し、上記不揮発性メモリアクセス制御装置は、複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、上記処理装置から上記不揮発性メモリへのアクセス要求を受けると、上記設定情報に基づいて上記不揮発性メモリへの一連のアクセス動作を制御する。
本発明によれば、処理装置の介在回数の減少による処理装置の負荷削減、データ転送レートの向上を図れ、処理装置の消費電力の抑制を実現することができる。
不揮発性メモリへの書き込み・読み出し動作など一連の不揮発性メモリアクセス動作の実行を処理装置の介在なしで実行することができる。
不揮発性メモリからの大容量のデータ転送をする場合に処理装置の処理回数を削減しながら、より高速な不揮発性メモリアクセスが可能となる。
不揮発性メモリの機能拡張によるアクセス回数が増加、かつ1回のアクセスでサイクル数が増えるような複雑な不揮発性メモリアクセス動作にも処理装置の処理回数を増加させることなく、柔軟に対応することが可能である。
以下、本発明の実施形態を図面に関連付けて説明する。
図2は、本発明の実施形態に係る不揮発性メモリ制御システムの構成例を示すブロック図である。
本不揮発性メモリ制御システム10は、図2に示すように、処理装置としてCPU11、データ格納用RAM12、不揮発性メモリ13、および不揮発性メモリアクセス制御装置14を有している。
CPU11は、不揮発性メモリアクセス制御装置14を通して不揮発性メモリ13に記憶されているデータを読み出して所定の処理を行い、また、所定の処理を行ったデータを不揮発性メモリ13に書き込む等の処理を行う。
CPU11は、このような不揮発性メモリ13へのアクセスを行う際に、不揮発性メモリアクセス制御装置14に対して不揮発性メモリ13へのコマンドの発行やアドレスの指定等を行う。
データ格納用RAM12は、SRAM等により構成され、不揮発性メモリ13へのアクセスの際に生じるデータが不揮発性メモリアクセス制御装置14によりランダムに書き込まれ、あるいは読み出される。
不揮発性メモリ13は、たとえばNAND型フラッシュメモリにより構成される。
不揮発性メモリ13に採用されるNAND型フラッシュメモリは、1ページ2KB、1ブロック64ページのフラッシュメモリにより形成される。
本実施形態のフラッシュメモリ(不揮発性メモリ)13は、パッケージ内部に物理チップ(スタックメモリSM)を2個もしくは4個を有する、いわゆるスタックフラッシュ(Stack Flash)により構成される。
スタックフラッシュを形成する物理チップである各スタックメモリSMは、個々にレディ状態、またはビジー状態をとり得るが、本実施形態においては、不揮発性メモリアクセス制御装置14によるチップイネーブル信号XCEの供給線と、不揮発性メモリアクセス制御装置14に対して出力するレディRDYおよびビジー信号XBSYの出力線は、図3(A)、(B)に示すように、パッケージで各1本ずつ配線される。
スタックフラッシュは、物理チップであるスタックメモリSM0,1の2個、またはSM0〜3の4個のうち、1つがビジー状態であっても、他のスタックメモリはレディ状態となり得る。この場合、RDY/BSY線は1本なので、RDY/XBSY線はビジーBSYとなってしまう。したがって、不揮発性メモリアクセス制御装置14は、RDY/XBSY線では、他のスタックメモリ(物理チップ)のビジー/レディ状態の判定を行うことができない。
よって、本実施形態における不揮発性メモリアクセス制御装置14は、不揮発性メモリ13としてスタックフラッシュを採用した場合、ビジー/レディ状態の判定に際しては、ポーリング(Polling)ステータスリードを実行するように構成される。
すなわち、本実施形態における不揮発性メモリアクセス制御装置14は、図4に示すような通常のステータスリードに加え、図5に示すような、ステータスリードのポーリング実行を行うための機能を備えている。
ステータスリードのポーリング(Polling)実行とは、通常のステータスリードとは異なり、スタックフラッシュに対応したステータスリードの実行方法である。
ポーリングによるステータスリードは、設定されたポーリング周期(以下Polling周期)が経過するとステータスリードを発行し、その結果がビジーBSYであれば、再びPolling周期が経過するまで待ち、その後ステータスリードを再実行するというシーケンスになっている。
タイムアウトの時間が経過しても、ポーリング(Polling)によるステータスリードの結果がビジーBSYの場合には、タイムアウトし、ポーリング(Polling)によるステータスリードシーケンスを終了する。
Polling周期およびタイムアウト時間はステータスリードコントロールレジスタの待ちカウント(WAIT_CNT)および待ちサイクル(WAIT_CYC)で設定する。
ポーリング(Polling)中は、XBSY線=High(Ready)になると、ポーリング周期設定に沿った待ち(Wait)を止めて、直ちに対象シーケンスを実行する。具体的には、ステータスリードコマンドを発行し、ステータス値を読みに行く。
ポーリング(Polling)によるステータスリード実行時、シーケンス中にBSYステートが存在した場合、所定のステート(NOPステート)と解釈しシーケンスを実行する。
以下、本実施形態における不揮発性メモリアクセス制御装置14の具体的な構成および機能(ステータスリードのポーリング実行を行うための機能を除く)について説明する。
不揮発性メモリアクセス制御装置14は、図2に示すように、不揮発性メモリアクセス動作制御部141、制御信号生成部142、不揮発性メモリチップセレクト制御部143、およびデータ入出力制御部144を主構成要素として有している。
不揮発性メモリアクセス動作制御部141は、CPU11から不揮発性メモリ13に対するアクセスのためのコマンド、アドレス、ステートサイクル数等を設定可能に構成され、設定情報に応じて、不揮発性メモリ13へのアクセス動作を制御し、CPU11の処理回数を削減し、高速なフラッシュアクセス動作を行うことを可能としている。
また、不揮発性メモリアクセス動作制御部141は、不揮発性メモリ13へのアクセス時の各サイクルに対応したステートを設定可能に構成され、不揮発性メモリ13への書き込み動作や読み出し動作だけでなく、複雑な不揮発性メモリ13へのアクセス動作でも柔軟に制御できるように構成されている。
制御信号生成部142は、不揮発性メモリアクセス動作制御部141の制御の下、不揮発性メモリ13へのアクセスのための制御信号を生成する。
不揮発性メモリチップセレクト制御部143は、不揮発性メモリアクセス動作制御部141の制御の下、チップセレクト信号(チップイネーブル信号XCEを含む)を生成する。
データ入出力制御部144は、不揮発性メモリアクセス動作制御部141の制御の下、不揮発性メモリ13のデータパスにデータを入出力させるといった処理を行う。
不揮発性メモリ13へのデータの書き込み、不揮発性メモリ13からのデータの読み出しなど一連のアクセス動作には複数のサイクルが必要となっている。
一般的な不揮発性メモリにおいてはコマンドを発行するコマンド(Command)サイクル、アドレスを発行するアドレス(Address)サイクル、書き込みもしくは読み出しデータをデータパスに入出力させるデータ(Data)サイクル、不揮発性メモリのビジー時間であるBSYサイクルというような4サイクルが存在する。
本実施形態の不揮発性メモリアクセス動作制御部141は、CPU処理回数の削減による不揮発性メモリ13へのアクセスの高速化を実現するために、図6に示すように、メモリアクセス制御用レジスタ群(保持部群)200およびステートサイクル数制御カウンタ300を含んで構成されている。
なお、以下の説明においては、ステート情報を保持するステート保持部等はレジスタにより形成されているものとするが、レジスタに限定されるものではない。
すなわち、本実施形態の不揮発性メモリアクセス動作制御部141は大きく2つのレジスタ群から構成されている。
そして、メモリアクセス制御用レジスタ群200は、図7に示すように、4つのレジスタ群から形成されている。
第1はシーケンスレジスタ群210という。
・コマンド(Command)サイクル → コマンド(Command)ステートレジスタ211、
・アドレス(Address)サイクル → アドレス(Address)ステートレジスタ212、
・データ(Data)サイクル → データ(Data)ステートレジスタ213、
・ビジー(BSY)サイクル → ビジー(BSY)ステートレジスタ214、
といった不揮発性メモリ13へのアクセスの各サイクルに対応するステートを保持しているレジスタ群である。
第2は、コマンド(Command)サイクル時に発行されコマンド(Command)を保持しているコマンド(Command)レジスタ群220である。
第3は、アドレス(Address)サイクル時に発行されるアドレス(Address)を保持しているアドレス(Address)レジスタ群230である。
第4は、その時に実行されるアクセスのステート数を決定するステート数レジスタ等を含むカウント数レジスタ群240である。
また、ステートサイクル数制御カウンタ300は、不揮発性メモリ13へのアクセスに必要となるステートなどをカウントする。
図7に示す不揮発性メモリアクセス制御用レジスタ群200において、コマンド(Command)レジスタ群220は、複数(図7では4つ)のコマンド(Command)レジスタ221〜224を含んで形成されている。
同様に、アドレス(Address)レジスタ群230は、複数(図7では4つ)のアドレス(Address)レジスタ231〜234を含んで形成される。
また、カウント数レジスタ群240は、ステート数レジスタ241、データ(Data)ステートカウント数レジスタ242、およびアドレス(Address)ステートカウント数レジスタ243を含んで形成される。
以下に、実際に不揮発性メモリへの書き込み動作を例にとって設定および制御方法を説明する。
書き込み動作の場合、コマンド(Command)サイクル→アドレス(Address)サイクル→データ(Data)サイクル→コマンド(Command)サイクル、といったサイクルで不揮発性メモリ13にアクセスすることによって、図2のデータ格納用RAM12よりデータが読み出されて、不揮発性メモリ13へとデータが書き込まれる。
不揮発性メモリ13へのアクセスの1番目のサイクルがコマンド(Command)サイクルなので、図7のシーケンスレジスタ群210のコマンド(Command)ステートレジスタ(0)211に“1”、アドレス(Address)ステートレジスタ(0)212、データ(Data)ステートレジスタ(0)213、ビジー(BSY)ステートレジスタ(0)214にそれぞれ“0”を設定する。
次に2番目のサイクルがアドレス(Address)サイクルなので、アドレス(Address)ステートレジスタ(1)212に“1”、その他のステートレジスタ(1)211,213,214には“0”を設定する。
同様にして3番目のデータ(Data)サイクルではデータ(Data)ステートレジスタ(2)213のみを“1”、4番目のコマンド(Command)サイクルではコマンド(Command)ステートレジスタ(3)211のみを“1”に設定しておく。
コマンド(Command)レジスタ群220のコマンド(Command)レジスタ(0)221には1番目のコマンド(Command)サイクルに対応した値(例:80h)、コマンド(Command)レジスタ(1)222には2番目のコマンド(Command)サイクルに対応した値を設定する。
たとえば、コマンド(Command)レジスタ(0)221には“80h”と設定し、コマンド(Command)レジスタ(1)222には“10h”と設定する。
Addressレジスタにはその時にアクセスする不揮発性メモリのAddress値を設定する。また、不揮発性メモリへのデータ書き込みの場合は、サイクル数が4サイクル必要となるため、アクセスサイクル数を設定するための図示しないアクセスサイクル数レジスタに“4”の値を設定する。
CPU11から不揮発性メモリ13へのアクセスを開始する要求があると、不揮発性メモリアクセス制御装置14は、まずは各ステートレジスタ(0)211〜214の値をチェックし、どのサイクルを行うかを判定する。
データ書き込みの場合は、コマンド(Command)ステートレジスタ(0)211の値が“1”になっているため、まずは不揮発性メモリ13に対してコマンド(Command)サイクルを実行すると判断し、制御信号生成部142からコマンド制御信号を生成し、データ入出力制御部144からコマンド(Command)レジスタ(0)221の値(“80h”)が不揮発性メモリ13のデータパスに出力される。本例の場合にはデータパスに“80h”が出力される。
コマンド(Command)サイクルが終了すると、ステートサイクルカウント値を1インクリメントし、ステート数レジスタ241の値をチェックし、一致していなければ、次のアクセスに移行し、各ステートレジスタ(1)211〜214の値をチェックする。
2番目のサイクルは、アドレス(Address)サイクルなので、コマンド(Command)サイクルの場合と同様に制御信号生成部142からアドレス制御信号を生成して、不揮発性メモリ13に対してアドレス(Address)レジスタ値をデータパスに出力することによって、アドレス(Address)サイクルとなる。
3番目のアクセスはデータ(Data)サイクルなので、制御信号生成部142よりデータ出力制御信号を生成し、データ格納用RAM12よりデータを読み出し、不揮発性メモリ13のデータパスにデータを出力する。
4番目はコマンド(Command)サイクルなので、1番目と同様の動作となるが、発行されるコマンド(Command)値はコマンド(Command)レジスタ(1)222の値(“10h”)となる。本例の場合にはデータパスに“10h”が出力される。
4番目のサイクルが終了すると、ステートサイクルカウント値がステート数レジスタ値と一致するため、ここで不揮発性メモリ13へのアクセスは終了し、CPU11に対してアクセス終了を通知する。
また、不揮発性メモリ13のバス幅は決まっているため、バス幅を超えた容量のアドレスやデータを1回のステートで転送することができない。これは、次の2点を実装することにより解決している。
そのときのアドレス(Address)ステートおよびデータ(Data)ステートを何回繰り返すかをカウントできるカウンタ、すなわち、図6のステートサイクル数制御カウンタ300、図7の繰り返し回数を保持しているアドレス(Address)ステートカウント数レジスタ243およびデータ(Data)ステートカウント数レジスタ242である。
もしアドレス(Address)ステートだった場合には、ステートサイクル数制御カウンタ30のアドレス(Address)ステートサイクルカウンタを動作させ、このカウンタ値がアドレス(Address)ステートカウント数レジスタ243の値と一致したならば、次のサイクルに移行もしくは終了するようにする。
データ(Data)ステートの場合も同様に制御することによって、バス幅を超えた容量のアドレスやデータを1度のアドレス(Address)ステートおよびデータ(Data)ステートで転送することができる。
以上のことから、不揮発性メモリ13へのアクセス順を、たとえば図8に示すように設定することが可能である。
図8の場合、コマンド(Command)ステートレジスタ211、アドレス(Address)ステートレジスタ212、データ(Data)ステートレジスタ213、ビジー(BSY)ステートレジスタ214を4ビットで形成し、“1”が設定される各ステートレジスタのビットを時系列的に遷移させる。
図8の例においては、上述した動作例に対応している。
このように、不揮発性メモリ13へのアクセス順を、時系列的に遷移させて、不揮発性メモリ13へのアクセス動作を制御するシーケンスレジスタ群210、アクセスのステート数を制御するステートサイクル数制御カウンタ300、アドレス(Address)ステートの連続実行回数を制御するアドレス(Address)ステートカウント数レジスタ243、データ(Data)ステートの連続実行回数を制御するデータ(Data)ステートカウント数レジスタ242、を不揮発性メモリアクセス動作制御部141に実装することで、一連の不揮発性メモリ13へのアクセス動作を制御することができる。
また、書き込みや読み出しといった動作以外の様々な不揮発性メモリアクセス動作、コマンド入力体系が拡張され既存の物と異なる新規不揮発メモリに対しても、不揮発性メモリアクセス制御用レジスタ群200の値を変更することによって、柔軟に対応することが可能となる。
たとえば、データ読み出しを例にとると、不揮発性メモリ13からのデータ読み出しの場合にはコマンド(Command)ステート→アドレス(Address)ステート→コマンド(Command)ステート→ビジー(BSY)ステート→データ(Data)ステートとなるので、不揮発性メモリ13からの書き込み動作から読み出し動作に切り替えるためには、各ステートレジスタ値を上記アクセス順に設定しなおして、ステートサイクル数レジスタ値を“5”に設定し、コマンド(Command)レジスタの値を不揮発性メモリ13からの読み出し動作を行う設定値に変更することによって、柔軟かつ容易に対応することが可能である。
また、この回路をもとに以下の第1〜第4のような機能拡張も実現することができる。
第1は、図9に示すように、各ステートレジスタの段数(ビット数)を増やすことにより、1回の不揮発性メモリの最大アクセス回数を増やすことが可能である。
たとえば、図9のように各ステートレジスタ211A〜214Aを16ビットに拡張すると、最大16サイクルまでCPU11の介在なしに実行できる。
第2は、図10に示すように、ステートレジスタの種類(数)を増やすことにより、既存のサイクル以外が存在する場合にも対応可能である。
たとえば、図10に示すように、ステートレジスタの本数を6本に増加することによって、不揮発性メモリ13にサイクル数が4サイクル以上存在した場合にも対応することができる。
第3は、図11に示すように、シーケンスレジスタの本数を増やすことにより、様々な不揮発性メモリ13へのアクセス動作を複数設定可能である。
たとえば、図11のシーケンスレジスタ(0)210−0に書き込み動作、シーケンスレジスタ(2)210−2に読み出し動作をあらかじめ設定して、シーケンスレジスタ(0)210−0の設定状態に基づいて書き込みを実行後、シーケンスレジスタ(2)210−2の設定状態に基づいて読み出しを実行すれば、CPU11の介在なしに書き込みおよび読み出し動作を連続実行できる。
第4は、不揮発性メモリ13に対して一連の不揮発性メモリ13へのアクセス動作の回数をカウントするカウンタ「シーケンスレジスタ連続実行回数カウンタ」を実装することによってシーケンスレジスタに設定された一連の動作を連続的に繰り返し実行することが可能である。
たとえば、上記第3の場合のような設定をし、その「シーケンスレジスタ連続実行回数カウンタ」を制御することによって、大容量のデータ転送をCPU11の介在なしで実行することが可能になる。
上記第1〜第4の構成を組み合わせて実装すれば、柔軟な不揮発性メモリアクセスを実現できる。
さらに、保持部としてはレジスタではなくFIFOやRAMにこのような動作方法で制御できるような設定を格納することで、回路規模も縮小しつつ、かつCPUの介在を削減させて、高速な不揮発性メモリアクセスを行うことも可能である。
以上説明したように、本実施形態によれば、不揮発性メモリ13と、不揮発性メモリ13へのアクセスを要求するCPU(処理装置)11と、CPU11の要求に応じて不揮発性メモリ13への複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置14と、を有し、不揮発性メモリアクセス制御装置14は、複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、CPU11から不揮発性メモリ13へのアクセス要求を受けると、設定情報に基づいて不揮発性メモリ13への一連のアクセス動作を制御する不揮発性メモリアクセス動作制御部141を有することから、以下の効果を得ることができる。
すなわち、CPUの介在回数の減少によるCPU負荷削減、データ転送レートの向上を図れ、CPUの消費電力の抑制を実現することができる。
また、不揮発性メモリへの書き込み・読み出し動作など、一連の不揮発性メモリアクセス動作の実行を、CPUがレジスタの遷移値を含むデータを設定することによって、その後、設定情報に基づいてCPUの介在なしで実行することができる。
また、不揮発性メモリからの大容量のデータ転送をする場合にCPUの処理回数を削減しながら、より高速な不揮発性メモリアクセスが可能となる。
さらにまた、不揮発性メモリの機能拡張によるアクセス回数が増加、かつ1回のアクセスでサイクル数が増えるような複雑な不揮発性メモリアクセス動作にもCPUの処理回数を増加させることなく、柔軟に対応することが可能である。
一般的な不揮発性メモリへのアクセス動作を説明するための図である。 本発明の実施形態に係る不揮発性メモリ制御システムの構成例を示すブロック図である。 スタックフラッシュにおけるチップイネーブル信号XCEの供給線と、レディRDYおよびビジー信号XBSYの出力線の配線例を示す図である。 通常のステータスリードを示す図である。 ステータスリードのポーリング実行を示す図である。 本実施形態の不揮発性メモリアクセス動作制御部の構成例を示す図である。 本実施形態の不揮発性メモリアクセス制御用レジスタ群の構成例を示す図である。 本実施形態のシーケンスレジスタにおける各ステートレジスタの設定例を示す図である。 ステートレジスタの段数(ビット数)の拡張例を説明するための図である。 ステートレジスタの数の増加例を説明するための図である。 シーケンスレジスタの数の増加例を説明するための図である。
符号の説明
10・・・不揮発性メモリ制御システム、11・・・CPU(処理装置)、12・・・データ格納用RAM、13・・・不揮発性メモリ、14・・・不揮発性メモリアクセス制御装置、141・・・不揮発性メモリアクセス動作制御部、142・・・制御信号生成部、143・・・不揮発性メモリチップセレクト制御部、144・・・データ入出力制御部、200・・・メモリアクセス制御用レジスタ群、300・・・ステートサイクル数制御カウンタ、210・・・シーケンスレジスタ群、211・・・コマンド(Command)ステートレジスタ、212・・・アドレス(Address)ステートレジスタ、213・・・データ(Data)ステートレジスタ、214・・・ビジー(BSY)ステートレジスタ、220・・・コマンド(Command)レジスタ群、221〜224・・・コマンド(Command)レジスタ、230・・・アドレス(Address)レジスタ群、231〜234・・・アドレス(Address)レジスタ、240・・・カウント数レジスタ群240、241・・・ステート数レジスタ、242・・・データ(Data)ステートカウント数レジスタ、243・・・アドレス(Address)ステートカウント数レジスタ。

Claims (10)

  1. 処理装置による不揮発性メモリへの複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置であって、
    複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、上記処理装置から上記不揮発性メモリへのアクセス要求を受けると、上記設定情報に基づいて上記不揮発性メモリへの一連のアクセス動作を制御する不揮発性メモリアクセス動作制御部を
    有する不揮発性メモリアクセス制御装置。
  2. 上記不揮発性メモリアクセス動作制御部は、
    不揮発性メモリアクセス時の各サイクルに対応したステートを設定できるステート保持部を含む
    請求項1記載の不揮発性メモリアクセス制御装置。
  3. 不揮発性メモリアクセス時の複数のサイクルには、コマンドを発行するコマンドサイクルと、アドレスを発行するアドレスサイクルと、データを上記不揮発性メモリとのデータパスにデータを入出力させるデータサイクルと、上記不揮発性メモリのビジー時間であるビジーサイクルとを、少なくとも含み、
    上記ステート保持部は、
    上記コマンドサイクルに対応するコマンドステート保持部と、
    上記アドレスサイクルに対応するアドレスステート保持部と、
    上記データサイクルに対応するデータステート保持部と、
    上記ビジーサイクルに対応するビジーステート保持部と、を含む
    請求項2記載の不揮発性メモリアクセス制御装置。
  4. 上記不揮発性メモリアクセス動作制御部は、
    上記コマンドサイクル時に発行されるコマンドを保持するコマンド保持部と、
    上記アドレスサイクル時に発行されるアドレスを保持するアドレス保持部と、
    アクセスのステート数を決定するステート数保持部と、
    アドレスおよびデータステートのカウント数保持部と、
    アクセスに必要となるステートサイクル数をカウントするステートサイクル制御カウンタと、をさらに含む
    請求項3記載の不揮発性メモリアクセス制御装置。
  5. 上記不揮発性メモリアクセス動作制御部は、
    上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行う
    請求項2記載の不揮発性メモリアクセス制御装置。
  6. 上記不揮発性メモリアクセス動作制御部は、
    上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行う
    請求項3記載の不揮発性メモリアクセス制御装置。
  7. 上記不揮発性メモリアクセス動作制御部は、
    上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行い、所定のサイクルの処理が終了すると、上記ステート数保持部の値と、上記ステートサイクル数制御カウンタの値との比較結果に応じて、次サイクルへの移行、またはアクセス終了の判定を行う
    請求項4記載の不揮発性メモリアクセス制御装置。
  8. 不揮発性メモリと、
    上記不揮発性メモリへのアクセスを要求する処理装置と、
    上記処理装置の要求に応じて上記不揮発性メモリへの複数のサイクルを含むアクセス動作を制御する不揮発性メモリアクセス制御装置と、を有し、
    上記不揮発性メモリアクセス制御装置は、
    複数サイクルの一連の不揮発性メモリアクセス動作に関する情報を設定可能で、上記処理装置から上記不揮発性メモリへのアクセス要求を受けると、上記設定情報に基づいて上記不揮発性メモリへの一連のアクセス動作を制御する不揮発性メモリアクセス動作制御部を有する
    不揮発性メモリ制御システム。
  9. 上記不揮発性メモリアクセス動作制御部は、
    不揮発性メモリアクセス時の各サイクルに対応したステートを設定できるステート保持部を含む
    請求項8記載の不揮発性メモリ制御システム。
  10. 上記不揮発性メモリアクセス動作制御部は、
    上記処理装置から上記不揮発性メモリに対するアクセスを開始する要求があると、上記ステート保持部をチェックしどのサイクルの順でアクセスを行うかを判定し、判定順に従ってアクセス制御を行う
    請求項9記載の不揮発性メモリ制御システム。
JP2005366432A 2005-12-20 2005-12-20 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム Pending JP2007172129A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005366432A JP2007172129A (ja) 2005-12-20 2005-12-20 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム
US11/607,882 US20070143534A1 (en) 2005-12-20 2006-12-04 Nonvolatile-memory-access control apparatus and nonvolatile-memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005366432A JP2007172129A (ja) 2005-12-20 2005-12-20 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム

Publications (1)

Publication Number Publication Date
JP2007172129A true JP2007172129A (ja) 2007-07-05

Family

ID=38175130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005366432A Pending JP2007172129A (ja) 2005-12-20 2005-12-20 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム

Country Status (2)

Country Link
US (1) US20070143534A1 (ja)
JP (1) JP2007172129A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529604A (ja) * 2014-09-26 2017-10-05 インテル・コーポレーション Nandメモリアドレス指定

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417851B2 (en) * 2011-06-27 2013-04-09 International Business Machines Corporation Polling of a target register within a peripheral device
JP5447617B2 (ja) 2012-08-22 2014-03-19 Tdk株式会社 フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリ制御方法
US11556272B2 (en) * 2020-09-18 2023-01-17 Kioxia Corporation System and method for NAND multi-plane and multi-die status signaling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295922A (ja) * 1994-04-20 1995-11-10 Hitachi Ltd データ処理装置及びこれを用いたデータ処理システム
JPH0887441A (ja) * 1994-09-19 1996-04-02 Fujitsu Ltd フラッシュメモリアクセス方式
JP2004110785A (ja) * 2002-09-13 2004-04-08 Arm Ltd メモリコントローラ
JP2004334593A (ja) * 2003-05-08 2004-11-25 Ricoh Co Ltd メモリブリッジ装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405306A (en) * 1981-12-08 1983-09-20 Beecham Inc. Medicated disposable douche product
US5196193A (en) * 1989-10-31 1993-03-23 Ophidian Pharmaceuticals, Inc. Antivenoms and methods for making antivenoms
US6066718A (en) * 1992-09-25 2000-05-23 Novartis Corporation Reshaped monoclonal antibodies against an immunoglobulin isotype
DE69501817T2 (de) * 1994-01-18 1998-09-10 Genentech Inc Verfahren zur behandlung von parasitären infektionen unter verwendung von ige-antagonisten
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US20040197326A1 (en) * 1995-07-27 2004-10-07 Genentech, Inc. Method for treatment of allergic asthma
US5994511A (en) * 1997-07-02 1999-11-30 Genentech, Inc. Anti-IgE antibodies and methods of improving polypeptides
US20020076404A1 (en) * 1998-01-29 2002-06-20 Chang Tse Wen Treating atopic dermatitis with IgE antagonists
US6504013B1 (en) * 2000-02-01 2003-01-07 Idexx Laboratories, Inc. Canine allergy therapeutic recombinant chimeric anti-IgE monoclonal antibody
US6849259B2 (en) * 2000-06-16 2005-02-01 Symphogen A/S Polyclonal antibody composition for treating allergy
US6902734B2 (en) * 2000-08-07 2005-06-07 Centocor, Inc. Anti-IL-12 antibodies and compositions thereof
EP1967205B1 (en) * 2000-08-30 2012-10-10 Pfizer Products Inc. Anti-IgE vaccines
US20060034845A1 (en) * 2002-11-08 2006-02-16 Karen Silence Single domain antibodies directed against tumor necrosis factor alpha and uses therefor
EP2267032A3 (en) * 2002-11-08 2011-11-09 Ablynx N.V. Method of administering therapeutic polypeptides, and polypeptides therefor
EP3299393A1 (en) * 2002-11-08 2018-03-28 Ablynx N.V. Single domain antibodies directed against tumour necrosis factor-alpha and uses therefor
US20100003253A1 (en) * 2002-11-08 2010-01-07 Ablynx N.V. Single domain antibodies directed against epidermal growth factor receptor and uses therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295922A (ja) * 1994-04-20 1995-11-10 Hitachi Ltd データ処理装置及びこれを用いたデータ処理システム
JPH0887441A (ja) * 1994-09-19 1996-04-02 Fujitsu Ltd フラッシュメモリアクセス方式
JP2004110785A (ja) * 2002-09-13 2004-04-08 Arm Ltd メモリコントローラ
JP2004334593A (ja) * 2003-05-08 2004-11-25 Ricoh Co Ltd メモリブリッジ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017529604A (ja) * 2014-09-26 2017-10-05 インテル・コーポレーション Nandメモリアドレス指定

Also Published As

Publication number Publication date
US20070143534A1 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
JP4901285B2 (ja) 読み出し性能を向上させることができるメモリカード
JP6123017B2 (ja) 可変レイテンシーメモリ動作用装置および方法
US9710192B2 (en) Apparatuses and methods for providing data from a buffer
US7380076B2 (en) Information processing apparatus and method of accessing memory
JP2012252558A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム
US11392488B2 (en) Optimizing storage of application data in memory
JP2016514320A (ja) メモリシステム
MX2012005183A (es) Linea de espera de comandos para componente periferico.
JP5446464B2 (ja) 情報処理システム及びデータ転送方法
CN108139994B (zh) 内存访问方法及内存控制器
CN111158633A (zh) 一种基于fpga的ddr3多通道读写控制器及控制方法
JP2014154119A (ja) メモリ制御装置及び半導体記憶装置
JP2011081553A (ja) 情報処理装置及びその制御方法
JP2007172129A (ja) 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
KR101861647B1 (ko) 메모리 시스템 및 그 리프레시 제어 방법
JP2009217640A (ja) データ転送制御装置
JP6332756B2 (ja) データ処理方法、装置、およびシステム
JP2016085541A (ja) メモリーコントローラー
JP2013182373A (ja) 記憶装置及びその制御方法
JP2004127305A (ja) メモリ制御装置
US20190096459A1 (en) Memory devices for performing multiple write operations and operating methods thereof
TWI764311B (zh) 記憶體存取方法及智慧處理裝置
JP4583981B2 (ja) 画像処理装置
TWI721660B (zh) 控制資料讀寫裝置與方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120508