JP2023118461A - メモリシステム、制御方法 - Google Patents

メモリシステム、制御方法 Download PDF

Info

Publication number
JP2023118461A
JP2023118461A JP2022021423A JP2022021423A JP2023118461A JP 2023118461 A JP2023118461 A JP 2023118461A JP 2022021423 A JP2022021423 A JP 2022021423A JP 2022021423 A JP2022021423 A JP 2022021423A JP 2023118461 A JP2023118461 A JP 2023118461A
Authority
JP
Japan
Prior art keywords
terminal
mode
spi
command
data
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
JP2022021423A
Other languages
English (en)
Inventor
清貴 林
Seiki Hayashi
杏子 庄司
Kyoko Shoji
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.)
Kioxia Corp
Original Assignee
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2022021423A priority Critical patent/JP2023118461A/ja
Priority to US17/897,064 priority patent/US20230259277A1/en
Publication of JP2023118461A publication Critical patent/JP2023118461A/ja
Pending legal-status Critical Current

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/0653Monitoring storage devices or 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】簡単な構成によりインタフェースの機能を無効化することのできるメモリシステムを提供することを目的とする。【解決手段】実施形態のメモリシステムは、データを記憶する不揮発性のメモリと、メモリに対するコマンドおよびデータを受信可能な第1の端子およびメモリの動作を制御する制御指示を受信可能な第1のモードまたはデータを受信可能な第2のモードで動作する場合にデータ入出力端子として機能する第2の端子を有しコマンドを実行可能なSPIコントローラと、を備える。SPIコントローラは、第1の端子を介してコマンドを受信し、受信したコマンドが第2のモードに対応するコマンドか否かを判定し、判定の結果、コマンドが第2のモードに対応する場合に第2の端子の第1のモードの動作を無効化することを特徴とする。【選択図】図1

Description

本実施形態は、メモリシステムおよび制御方法に関する。
近年、システムの高機能化に伴い、内蔵メモリ容量は拡大の一途を辿っている。システムの内蔵メモリの大容量化に伴い、半導体メモリを搭載するシステムが増大している。このような状況において、システム内部では汎用性の高いシリアル・ペリフェラル・インタフェース(Serial Peripheral Interface; SPI)が使用されており、SPI NORやSPI NANDの需要が増加してきている。SPI NORは、SPIと互換性のあるインタフェースをもつNOR型メモリ、SPI NANDは、SPIと互換性のあるインタフェースをもつNAND型メモリである。SPI NORやSPI NANDにおけるSPIは、6端子で制御が可能である。そのため、少ない端子数の小型パッケージにて、Gbit(ギガビット)クラスの大容量メモリを実現することができ、実装基板の面積削減に有効である。
SPIを有する半導体記憶装置(すなわちSPI NOR, SPI NAND)は、電源(Vcc)、グランド(Vss)、アクティブ・ロー・チップ・セレクト(/CS)、シリアルクロック(SCK)、シリアルデータ入力(SI)、シリアルデータ出力(SO)、アクティブ・ロー・ホールド入力(/HOLD)、およびライトプロテクト(/WP)に対応する外部接続端子を備えている。このうち、/HOLD端子は、進行中のデータ転送を一時停止する機能を提供する。すなわち、ホストデバイスから/HOLD端子へ与える入力を、「H」レベル入力(VIH)から「L」レベル入力(VIL)とすると、コマンドやデータの入力や出力の動作を中断させることができる。ここで「H」レベルとは、電源Vccの電圧レベルと同一か略同一の電圧値、「L」レベルとは、グランドVssの電圧レベルと同一か略同一の電圧値である。
SPIは、複数の動作モードをサポートする。動作モードのうち、基本的なシングルSPIモードは、SIをシリアルデータ入力、SOをシリアルデータ出力として用いる。これに対して、SIおよびSOを双方向データ端子として用いることで、シングルSPIモードの2倍のデータレート動作を可能にするデュアルSPIモードや、SI,SOに加えて/WPや/HOLDを双方向データ端子として使用するクワッドSPIモードが知られている。近年ではインタフェースの高速化の要求から、クワッドSPIモードを使用する例が増加している。
標準的なSPIは一般に6端子で制御するから、クワッドSPIモードでは一つの端子(ピン)で複数の機能を担う必要がある。例えば、SI端子についてシリアルデータ入力(SI)とシリアルデータ入出力(SOI0)、SO端子についてシリアルデータ出力(SO)とシリアルデータ入出力(SOI1)、/WP端子についてライトプロテクト(/WP)とシリアルデータ入出力(SOI2)、/HOLD端子についてアクティブ・ロー・ホールド(/HOLD)とシリアルデータ入出力(SOI3)のように、それぞれの端子とアサインされる機能とを共有させることで、6端子で4ビットのデータ入出力を実現することができる。
特開2014-106604 米国特許明細書第7,558,900号 米国特許明細書第9,324,450号
実施形態のメモリシステムは、より簡潔にインタフェースの機能を無効化することのできるメモリシステムを提供することを目的とする。
実施形態のメモリシステムは、データを記憶する不揮発性のメモリと、メモリに対するコマンドおよびデータを受信可能な第1の端子およびメモリの動作を制御する制御指示を受信可能な第1のモードまたはデータを受信可能な第2のモードで動作する場合にデータ入出力端子として機能する第2の端子を有しコマンドを実行可能なSPIコントローラと、を備える。SPIコントローラは、第1の端子を介してコマンドを受信し、受信したコマンドが第2のモードに対応するコマンドか否かを判定し、判定の結果、コマンドが第2のモードに対応する場合に第2の端子の第1のモードの動作を無効化することを特徴とする。
第1の実施形態に係るメモリシステムの構成を示すブロック図である。 第1の実施形態に係るメモリシステムの動作を示すフローチャートである。 第1の実施形態に係るメモリシステムのデータシーケンスを示す図である。 第2の実施形態に係るメモリシステムの構成を示すブロック図である。 第2の実施形態に係るメモリシステムの動作を示すフローチャートである。 第2の実施形態に係るメモリシステムの動作を示すフローチャートである。
(第1の実施形態の構成)
図1は、実施形態のメモリシステム10の構成の一例を示す図である。図1に示すように、メモリシステム10は、バスを介してホスト20と接続可能である。ホスト20は、例えば、SoC(System-On-a-Chip)として構成される半導体回路である。メモリシステム10は、例えばホスト20の外部記憶装置として機能する。ホスト20は、メモリシステム10に対して要求を発行することができる。要求は、リード要求およびライト要求を含む。
メモリシステム10は、例えば、シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface; SPI)を有するNAND型フラッシュメモリである。ホスト20は、メモリシステム10からデータを読み出しまたは書き出す機能を有する。メモリシステム10は、SPIコントローラ100と、メモリセル110を有している。メモリセル110は、例えばシリアルフラッシュメモリチップ(図示せず)を含んでいる。シリアルフラッシュメモリチップは、複数のメモリセルトランジスタを備え、データを不揮発に記憶することができる。SPIコントローラ100は、SPIと互換性を持つ方法によりメモリセル110へのアクセスを実現する。
SPIコントローラ100は、SPIデコーダ120、データバッファ130、コマンドレジスタ140、アドレスレジスタ150、ステータスレジスタ160を含んでいる。SPIデコーダ120は、SPIと互換性を持つ方法により入力される要求(コマンド)、アドレス、データをデコードし、コマンドを実行する演算ブロックである。SPIデコーダ120は、入力されたコマンドおよびアドレスに応じてメモリセル110からデータを読み出すことができる。
データバッファ130は、メモリセル110に書き込むためのデータや、メモリセル110から読み出したデータを一時的に記憶する。コマンドレジスタ140は、SPIデコーダ120がデコードしたコマンドを一時的に記憶する。アドレスレジスタ150は、SPIデコーダ120がデコードしたアドレスを一時的に記憶する。ステータスレジスタ160は、SPIデコーダ120が実行したコマンドによりメモリセル110から読み出した状態(ステータス)を一時的に記憶する。
ホスト20は、外部インタフェース(Ext I/F)210、CPU(Central Processing Unit)230、バッファメモリ(Buffer)240、NANDインタフェース(NAND I/F)250、およびRAMインタフェース(RAM I/F)260を備えている。これらの各部は、内部バスにより互いに通信可能に接続される。
ホスト20は、メモリシステム10に対してプログラム処理、リード処理、イレース処理などを行う。ホスト20は、例えばSoC(System-On-a-Chip)として構成される半導体回路である。ホスト20は、FPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit)として構成されてもよい。ホスト20は、複数のチップによって構成されてもよい。ホスト20の各機能は、ソフトウェア(ファームウェア)を実行するCPU230、専用ハードウェア、またはこれらの組み合わせによって実現され得る。CPU230は、ホスト20の動作を制御する。
外部インタフェース210は、例えばSATA(Serial Advanced Technology Attachment)規格、SAS(Serial Attached SCSI)(登録商標)規格、PCI(Peripheral Components Interconnect) Express(登録商標)(PCIe)規格、またはSMBus(System Management Bus)(登録商標)規格などのインタフェース規格に準拠したバスを介して他の外部機器(図示せず)と接続され、ホスト20と外部機器との間の通信を実現する。
NANDインタフェース250は、メモリシステム10と接続され、ホスト20とSPIコントローラ100との通信を実行する。RAMインタフェース260は、RAM220と接続され、ホスト20とRAM220との通信を実行する。
RAM220は、RAMインタフェース260を介してCPU230に作業領域を提供する。バッファメモリ240は、メモリシステム10に送信されるデータ、およびメモリシステム10から受信したデータを一時的に保持する。RAM220およびバッファメモリ240は、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって実現され得る。なお、RAM220およびバッファメモリ240を構成するメモリの種類は、これらに限定されない。バッファメモリ240は、ホスト20の外部に実装されてもよい。
メモリシステム10は、少なくとも6つの入出力端子を有しており、それぞれがホスト20と接続されるように構成される。図1に示す例では、SCK端子、CS端子、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子が示されている。
(SPIにおける複数の機能と端子の共有)
SCK端子は、シリアルクロックを受ける入力端子であり、ホスト20から所定のクロック信号を受ける。CS端子は、チップセレクト機能を担う端子であり、メモリシステム10が複数設けられている場合にコマンド対象のメモリシステム10を特定する機能をもつ。
SI/SIO0端子は、標準シリアル入力データを受ける入力端子であるとともに、デュアルSPIモードやクアッドSPIモードで動作する場合にデータ入出力端子としても機能する。SO/SIO1端子は、標準シリアル出力データを出力する出力端子であるとともに、デュアルSPIモードやクアッドSPIモードで動作する場合にデータ入出力端子としても機能する。WP/SIO2端子は、標準SPIモードにおいてハードウェア書込み保護機能の制御を受ける入力端子であるとともに、クアッドSPIモードで動作する場合にデータ入出力端子としても機能する。HOLD/SIO3端子は、標準SPIモードおよびデュアルSPIモードにおいてデータ入力停止の制御を受ける入力端子であるとともに、クアッドSPIモードで動作する場合にデータ入出力端子としても機能する。すなわち、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子は、複数の機能を一つの端子で共有している。
複数の機能について一つの端子を共用する場合、不要な機能を止める必要がある。例えば、クアッドSPIモードを使用する場合、SOI3の機能を有効にするにはアクティブ・ロー・ホールド(/HOLD)機能を無効(Disable)にする必要がある。アクティブ・ロー・ホールド(/HOLD)機能を無効にするには、例えば設定コマンドを与えてSet Feature機能やGet Feature機能をあらかじめ実行する必要がある。ただし、設定コマンドによる設定は、システムの電源をオフにすると元に戻ってしまう。従って、電源をオンにする度に設定する必要がある。
実施形態のメモリシステムは、かかる設定コマンドを用いずにクアッドSPI動作のデータ受信を可能にする。具体的には、SPIデコーダ120が、クアッドSPIモードのコマンドである「Program Load x4(32h)」を受信したかどうかを判定し、判定結果に基づいてHOLD機能を無効化させる。コマンド「Program Load x4(32h)」は、4ビット単位でプログラムをロードするコマンドである。このコマンドを実行する場合、(1)「Write Enable」(書込み可能化)、(2)「Program Load」(プログラムロード)、(3)「Program Execute」(プログラム実行)、および(4)「Get Feature」(システムステータス取得)の一連のコマンドシーケンスが動作する。実施形態のメモリシステムは、このうち(2)「Program Load」を判定に用いている。
以下、図1ないし図3を参照して、実施形態のメモリシステムの動作を説明する。図3に示すように、メモリシステム10において、SCK端子にはシリアルクロックが入力される。CS端子は、通常「H」レベルに維持されており、SPIデコーダ120がCS端子における「H」レベルから「L」レベルへの遷移を検出すると(S500のYes)、SPIデコーダ120はSI/SIO0端子を通じてコマンドを受信する。SPIデコーダ120がコマンドを受信すると、SPIデコーダ120は、受信したコマンドをコマンドレジスタ140に記憶させる。SPIデコーダ120は、コマンドレジスタ140に記録されたコマンドをデコードする(S510)。図3に示す例では、SPIデコーダ120は「110010」(32h)のビット列を受信しており、SPIデコーダ120は、このビット列の内容をデコードする。
SPIデコーダ120は、デコードしたコマンドが「Program Load x4 (32h)」であるか否かを判定する(S520)。コマンド「Program Load x4 (32h)」は、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子の4つの端子を用いてプログラムをロードする。従って、コマンド「Program Load x4 (32h)」を受信したということは、続くデータについてはHOLD/SIO3端子がデータ入出力端子として用いられることを意味している。
受信したビット列がコマンド「Program Load x4 (32h)」である場合(S520でYes)、SPIデコーダ120は、続くカラムアドレスの受信を開始する。並行して、SPIデコーダ120は、/HOLD機能を無効化する(S530)。このとき、/HOLD機能の無効化は、カラムアドレスの受信期間中(図3における「機能設定期間」)に行う。さらに続くデータバイトの受信に備えるためである。図3に示す例では、受信したビット列は32hであり、「Program Load x4 (32h)」に対応する。SPIデコーダ120は、続く4ビットのダミービットと、12ビットのカラムアドレスを受信する。SPIデコーダ120は、受信したカラムアドレスをアドレスレジスタ150に記憶させる。
SPIデコーダ120は、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子の4つの端子を用いてプログラムデータを受信する(S540)。図3に示すように、このとき受信するプログラムデータは、4ビットずつ受信され、8ビット単位のバイトデータとなる。受信したプログラムデータは、データバッファ130に記憶される。
SPIデコーダ120は、CS端子のレベルを監視している(S550)。CS端子のレベルが「L」の間は(S550でNo)、データの受信を継続する。SPIデコーダ120がCS端子に入力されるレベルの「L」から「H」への遷移を検出すると(S550でYes)、SPIデコーダ120は、データの受信を終了する。
SPIデコーダ120がデコードしたコマンドが「Program Load x4 (32h)」であるか否かを判定した結果、受信したビット列がコマンド「Program Load x4 (32h)」ではない場合(S520でNo)、処理を終了する。
このように、実施形態のメモリシステムによれば、クアッドSPIモードにて用いられるコマンドを受信することにより、機能を共有する端子について不要な機能を無効化することができる。また、コマンドを受信した際にその都度モードの判定を行うので、システムの電源がオフとなった場合でも機能を再設定するコマンドを省略することができる。なお、上記説明した例では、SPIを有するNAND型フラッシュメモリを用いているが、これには限定されない。SPIを有するNOR型フラッシュメモリでも同様の効果を奏することができる。
(第2の実施形態)
続いて、図4ないし図6を参照して、第2の実施形態に係るメモリシステムについて説明する。図4に示すように、第2の実施形態に係るメモリシステム2は、第1の実施形態に係るメモリシステム1の構成のうちSPIコントローラの構成を変更したものである。以下の説明において、第1の実施形態と共通する要素については共通の符号を付して示し、重複する説明は省略する。
図4に示すように、メモリシステム12は、SPIコントローラ102と、メモリセル110を有している。SPIコントローラ102は、SPIによりメモリセル110へのアクセスを実現する。
SPIコントローラ102は、SPIデコーダ122、データバッファ130、コマンドレジスタ140、アドレスレジスタ150、ステータスレジスタ160を含んでいる。SPIデコーダ122は、SPIに準拠して入力される要求(コマンド)、アドレス、データをデコードし、コマンドを実行する演算ブロックである。SPIデコーダ122は、入力されたコマンドおよびアドレスに応じてメモリセル110からデータを読み出すことができる。SPIデコーダ122は、第1の実施形態におけるSPIデコーダ120と比較して、クアッドSPIモードによるデータ伝送を判定するためのコマンドの種類が異なっている。すなわち、第2の実施形態では、SPIデコーダ122は、ホスト20から送られるコマンドが、「Program Load Random Data x4 (34h or C4h)」であるか否かを判定している。
コマンド「Program Load Random Data x4 (34h or C4h)」は、4ビット単位でプログラムをロードするコマンドである。このコマンドを実行する場合、(1)「Write Enable」(書込み可能化)、(2)「Program Load Random Data」(プログラムロード)、(3)「Program Execute」(プログラム実行)、および(4)「Get Feature」(システムステータス取得)の一連のコマンドシーケンスが動作する。実施形態のメモリシステムは、このうち(2)「Program Load Random Data」を判定に用いている。
以下、図4ないし図6を参照して、第2の実施形態のメモリシステム2の動作を説明する。図6に示すように、メモリシステム12において、SCK端子にはシリアルクロックが入力される。CS端子は、通常「H」レベルに維持されており、SPIデコーダ122がCS端子における「H」レベルから「L」レベルへの遷移を検出すると(S600のYes)、SPIデコーダ122はSI/SIO0端子を通じてコマンドを受信する。SPIデコーダ122がコマンドを受信すると、SPIデコーダ122は、受信したコマンドをコマンドレジスタ140に記憶させる。SPIデコーダ122は、コマンドレジスタ140に記録されたコマンドをデコードする(S610)。図6に示す例では、SPIデコーダ122は「110100」(34h)のビット列を受信しており、SPIデコーダ122は、このビット列の内容をデコードする。SPIデコーダ122が「11000100」(C4h)のビット列を受信した場合も同様である。
SPIデコーダ122は、デコードしたコマンドが「Program Load Random Data x4 (34hまたはC4h)」であるか否かを判定する(S620)。コマンド「Program Load Random Data x4 (34hまたはC4h)」は、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子の4つの端子を用いてプログラムをロードする。従って、コマンド「Program Load Random Data x4 (34hまたはC4h)」を受信したということは、続くデータについてはHOLD/SIO3端子がデータ入出力端子として用いられることを意味している。
受信したビット列がコマンド「Program Load Random Data x4 (34hまたはC4h)」である場合(S620でYes)、SPIデコーダ122は、続くカラムアドレスの受信を開始する。並行して、SPIデコーダ122は、/HOLD機能を無効化する(S630)。このとき、/HOLD機能の無効化は、カラムアドレスの受信期間中(図6における「機能設定期間」)に行う。さらに続くデータバイトの受信に備えるためである。図6に示す例では、受信したビット列は34hであり、「Program Load Random Data x4 (34h)」に対応する。SPIデコーダ122は、続く4ビットのダミービットと、12ビットのカラムアドレスを受信する。SPIデコーダ122は、受信したカラムアドレスをアドレスレジスタ150に記憶させる。
SPIデコーダ122は、SI/SIO0端子、SO/SIO1端子、WP/SIO2端子、およびHOLD/SIO3端子の4つの端子を用いてプログラムデータを受信する(S640)。図6に示すように、このとき受信するプログラムデータは、4ビットずつ受信され、8ビット単位のバイトデータとなる。受信したプログラムデータは、データバッファ130に記憶される。
SPIデコーダ122は、CS端子のレベルを監視している(S650)。CS端子のレベルが「L」の間は(S650でNo)、データの受信を継続する。SPIデコーダ122がCS端子に入力されるレベルの「L」から「H」への遷移を検出すると(S650でYes)、SPIデコーダ122は、データの受信を終了する。
SPIデコーダ122がデコードしたコマンドが「Program Load Random Data x4 (34hまたはC4h)」であるか否かを判定した結果、受信したビット列がコマンド「Program Load Random Data x4 (34hまたはC4h)」ではない場合(S620でNo)、処理を終了する。
このように、実施形態のメモリシステムによれば、クアッドSPIモードにて用いられるコマンドを受信することにより、機能を共有する端子について不要な機能を無効化することができる。また、コマンドを受信した際にその都度モードの判定を行うので、システムの電源がオフとなった場合でも機能を制御するコマンドを省略することができる。なお、上記説明した例では、SPIを有するNAND型フラッシュメモリを用いているが、これには限定されない。SPIを有するNOR型フラッシュメモリでも同様の効果を奏することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…メモリシステム、100…SPIコントローラ、110…メモリセル、120…SPIデコーダ、130…データバッファ、140…コマンドレジスタ、150…アドレスレジスタ、160…ステータスレジスタ、20…ホスト、210…外部インタフェース、220…RAM、230…CPU、240…バッファメモリ、250…NANDインタフェース、260…RAMインタフェース。

Claims (5)

  1. データを記憶する不揮発性のメモリと、
    前記メモリに対するコマンドおよび前記データを受信可能な第1の端子と、前記メモリの動作を制御する制御指示を受信可能な第1のモードまたは前記データを受信可能な第2のモードで動作する場合にデータ入出力端子として機能する第2の端子とを有し前記コマンドを実行可能なSPIコントローラと、を備え、
    前記SPIコントローラは、
    前記第1の端子を介して前記コマンドを受信し、
    受信した前記コマンドが前記第2のモードに対応するコマンドか否かを判定し、
    前記判定の結果、前記コマンドが前記第2のモードに対応する場合に前記第2の端子の前記第1のモードの動作を無効化すること
    を特徴とするメモリシステム。
  2. 前記制御指示は、前記メモリに対するコマンドの少なくとも一部を停止する機能であることを特徴とする請求項1記載のメモリシステム。
  3. 前記第2のモードに対応するコマンドは、前記第1の端子および前記第2の端子を用いてプログラムをロードする命令であることを特徴とする請求項1記載のメモリシステム。
  4. 前記第1のモードは、シリアル・ペリフェラル・インタフェース規格における標準モードであり、前記第2のモードは、前記シリアル・ペリフェラル・インタフェース規格におけるクアッドSPIモードであることを特徴とする請求項1記載のメモリシステム。
  5. データを記憶する不揮発性のメモリと、前記メモリに対するコマンドおよび前記データを受信可能な第1の端子、および前記メモリの動作を制御する制御指示を受信可能な第1のモードまたは前記データを受信可能な第2のモードで動作する場合にデータ入出力端子として機能する第2の端子を有し前記コマンドを実行可能なSPIコントローラと、を備えたメモリシステムの制御方法であって、前記SPIコントローラが、
    前記第1の端子を介して前記コマンドを受信し、
    受信した前記コマンドが前記第2のモードに対応するコマンドか否かを判定し、
    前記判定の結果、前記コマンドが前記第2のモードに対応する場合に前記第2の端子の前記第1のモードの動作を無効化すること
    を特徴とする制御方法
JP2022021423A 2022-02-15 2022-02-15 メモリシステム、制御方法 Pending JP2023118461A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022021423A JP2023118461A (ja) 2022-02-15 2022-02-15 メモリシステム、制御方法
US17/897,064 US20230259277A1 (en) 2022-02-15 2022-08-26 Memory system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022021423A JP2023118461A (ja) 2022-02-15 2022-02-15 メモリシステム、制御方法

Publications (1)

Publication Number Publication Date
JP2023118461A true JP2023118461A (ja) 2023-08-25

Family

ID=87558490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022021423A Pending JP2023118461A (ja) 2022-02-15 2022-02-15 メモリシステム、制御方法

Country Status (2)

Country Link
US (1) US20230259277A1 (ja)
JP (1) JP2023118461A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042808B1 (en) * 2015-09-16 2018-08-07 Xilinx, Inc. Modeling SPI flash memory commands in hardware
JP2021149239A (ja) * 2020-03-17 2021-09-27 キオクシア株式会社 メモリシステム
JP2021149998A (ja) * 2020-03-23 2021-09-27 キオクシア株式会社 メモリシステムおよび情報機器
CN112052213B (zh) * 2020-10-10 2022-12-02 乐鑫信息科技(上海)股份有限公司 增强型spi控制器以及操作spi控制器的方法

Also Published As

Publication number Publication date
US20230259277A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
KR102184260B1 (ko) 반도체 기억장치 및 이를 위한 연속 판독 방법
TWI434286B (zh) 具擴充模式之固態儲存元件控制器及其運作方法
US10089257B2 (en) Semiconductor storage device and control method thereof
KR20150124751A (ko) 불휘발성 메모리 시스템
US8489843B2 (en) Configurable memory device
JP4869713B2 (ja) マルチチップパッケージデバイス
US10445017B2 (en) Memory system and operating method thereof
US20080010419A1 (en) System and Method for Issuing Commands
US11461226B2 (en) Storage device including memory controller
US11442664B2 (en) Memory system and method of operating the same
CN112445731B (zh) 存储系统
US9508400B1 (en) Storage device and operating method thereof
US20190220220A1 (en) Data storage device, operating method thereof and nonvolatile memory device
TWI408692B (zh) 記憶體控制器及外部記憶體裝置之間的位址轉換
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
TW202115568A (zh) 記憶體系統
KR102464305B1 (ko) 반도체 장치
KR102526256B1 (ko) 데이터 출력 버퍼
JP2023118461A (ja) メモリシステム、制御方法
CN107301872B (zh) 半导体存储器装置的操作方法
US11170827B2 (en) Data buffer and memory device having the same
US20190027198A1 (en) Electronic devices
US20240302994A1 (en) Memory system
US20220391130A1 (en) Memory system
US20220300436A1 (en) Semiconductor storage device, memory controller, and memory system