JP2023091307A - 半導体装置および制御方法 - Google Patents

半導体装置および制御方法 Download PDF

Info

Publication number
JP2023091307A
JP2023091307A JP2021205982A JP2021205982A JP2023091307A JP 2023091307 A JP2023091307 A JP 2023091307A JP 2021205982 A JP2021205982 A JP 2021205982A JP 2021205982 A JP2021205982 A JP 2021205982A JP 2023091307 A JP2023091307 A JP 2023091307A
Authority
JP
Japan
Prior art keywords
chip
command
read
host
buffer memory
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
JP2021205982A
Other languages
English (en)
Inventor
伸広 辻
Nobuhiro Tsuji
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 JP2021205982A priority Critical patent/JP2023091307A/ja
Priority to TW111123620A priority patent/TWI813355B/zh
Priority to CN202210883815.3A priority patent/CN116302096A/zh
Priority to US17/899,833 priority patent/US20230195371A1/en
Publication of JP2023091307A publication Critical patent/JP2023091307A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0656Data buffering arrangements
    • 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

Abstract

【課題】ホストとメモリチップとの間のデータ転送を高速に行う。【解決手段】半導体装置は、第1のチップと、第1のチップに電気的に接続された複数の第2のチップである第2のチップ群と、第2のチップ群と並列に第1のチップに電気的に接続された複数の第3のチップである第3のチップ群と、を備え、第1のチップは、ホストから受信した複数のリードコマンドを格納するコマンドキューと、リードデータをバッファリングするリードバッファメモリと、を有し、コマンドキューに格納された複数のリードコマンドを第2のチップ群または第3のチップ群に逐次発行し、第2のチップ群または第3のチップ群から複数のリードコマンドに対応するリードデータをリードバッファメモリへ格納し、複数のリードコマンドのうち何れかのリードコマンドの実行状態に基づいて、バッファメモリに格納されたリードデータの何れかのリードデータをホストへ送信する。【選択図】図2

Description

本実施形態は、半導体装置および制御方法に関する。
ホストと接続可能に構成される半導体装置がある。このような半導体装置は、複数のメモリチップを有する。また、半導体装置は、複数のメモリチップと接続される複数のチャネルを有する。ホストと半導体装置との間では、メモリチップを対象とするコマンド及びデータが転送される。ホストとメモリチップとの間のコマンド及びデータに対応する信号の転送を高速に行うことが望まれる。
特開2021-149729号公報
一つの実施形態は、ホストとメモリチップとの間のデータ転送を高速に行う半導体装置を提供することを目的とする。
一つの実施形態によれば、半導体装置は、第1のチップと、第1のチップに電気的に接続された複数の第2のチップである第2のチップ群と、第2のチップ群と並列に第1のチップに電気的に接続された複数の第3のチップである第3のチップ群と、を備え、第1のチップは、ホストから受信した複数のリードコマンドを格納するコマンドキューと、リードデータをバッファリングするリードバッファメモリと、を有し、コマンドキューに格納された複数のリードコマンドを第2のチップ群または第3のチップ群に逐次発行し、第2のチップ群または第3のチップ群から複数のリードコマンドに対応するリードデータをリードバッファメモリへ格納し、複数のリードコマンドのうち何れかのリードコマンドの実行状態に基づいて、リードバッファメモリに格納されたリードデータの何れかのリードデータをホストへ送信する。
第1の実施形態にかかる半導体装置が適用されるストレージシステムの構成を示す図。 第1の実施形態にかかる半導体装置の構成を示す図。 第1の実施形態にかかる半導体装置の動作を示す図。 第2の実施形態にかかる半導体装置の動作を示す図。 第3の実施形態にかかる半導体装置の動作を示す図。 第4の実施形態にかかる半導体装置の動作を示す図。 第4の実施形態にかかる半導体装置の他の動作を示す図。 第5の実施形態にかかる半導体装置の動作を示す図。 第6の実施形態にかかる半導体装置の動作を示す図。 第7の実施形態にかかる半導体装置の動作を示す図。 第7の実施形態にかかる半導体装置の他の動作を示す図。 第8の実施形態にかかる半導体装置の構成を示す図。 第8の実施形態にかかる半導体装置の動作を示す図。 第9の実施形態にかかる半導体装置の動作を示す図。 第9の実施形態にかかるStatusReadコマンドによりリードしたデータの一例を示す図。 第9の実施形態にかかるリードデータをフォーマットしたデータの一例を示す図。 第9の実施形態にかかるStatusReadコマンドによりリードしたデータの他の一例を示す図。 第9の実施形態にかかるリードデータをフォーマットしたデータの他の一例を示す図。
以下に添付図面を参照して、実施形態にかかる半導体装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(第1実施形態)
実施形態にかかる半導体装置は、ホストに接続可能な外部端子、ブリッジチップ、及び複数のチップを備える。複数のチップは、ブリッジチップを介して外部端子に接続される。半導体装置の外部端子には、有線通信路を介してホストが接続される。この半導体装置では、ホストから有線通信路を介した複数のチップへのアクセスがブリッジチップを介して行われる。各チップは、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。
各チップがメモリチップである場合、半導体装置では、実装密度を向上させるために、搭載されるチップ数は多くなりつつある。例えば、チップを積層することで実装密度を向上させる。このとき、各チップとの接続にかかる負荷を減らし高速化を図るために、FBI(Frequency Boosting Interface)チップと呼ばれるブリッジチップを外部端子に接続し、ブリッジチップと複数のチップ間を複数のチャネルで接続する構成が取られることがある。各チャネルには、複数のチップが接続され得る。有線通信路の帯域は、各チャネルの帯域と等しく、各チャネルの合計の帯域より小さい。複数のチャネルのうち1つのチャネルが択一的に使用されるため、ブリッジチップ及び各チップ間の通信速度が遅い傾向にある。よって、半導体装置が、ホストから1つのコマンドを受信して、受信したコマンドに応じて各チャネルのチップに対してコマンドの処理をすると、ホスト側に待ち時間が発生する傾向がある。
そこで、本実施形態では、半導体装置において、複数のコマンドを格納できるコマンドキューを設けて、複数のチャネルに並行してコマンド実行するようにする。このことで、ブリッジチップを介したホスト及び複数のチップ間のデータ転送速度の向上を図る。
具体的には、半導体装置1が適用されるストレージシステムSYSは、図1に示すように構成される。図1は、半導体装置1が適用されるストレージシステムSYSの構成を示す図である。
ストレージシステムSYSは、ホストHA及び半導体装置1を含む。半導体装置1は、ブリッジチップBC及び複数のチップLUN0~チップLUN7を備える。ブリッジチップBCは、第1のチップの一例である。チップLUN0~チップLUN3は、第2のチップの一例である。チップLUN4~チップLUN7は、第3のチップの一例である。半導体装置1は、チップLUN0~チップLUN7それぞれが積層されたMCP(Multi Chip Package)として実装され得る。半導体装置1がMCPとして実装される場合、半導体装置1では、ブリッジチップBC及び複数のチップLUN0~チップLUN7の周囲が、モールド樹脂で封止されていてもよい。図1では、チャネルCH1を介してブリッジチップBCに4つのチップLUN0~チップLUN3が接続され、チャネルCH2を介してブリッジチップBCに4つのチップLUN4~チップLUN7が接続される構成が例示されている。すなわち、半導体装置1は、複数の(ここでは8)チップLUN0~チップLUN7を含むマルチチップモジュールとして構成され得る。各チップLUN0~チップLUN7は、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。
ホストHAは、コントローラなどのデバイスであってもよいし、コンピュータ又は携帯端末などの電子機器に備えられ半導体装置1を制御するプロセッサであってもよい。半導体装置1は、有線通信路(例えば、シリアルバスなど)CH0を介してホストHAに接続可能である。半導体装置1とホストHAとは、所定の規格に基づき構成された有線通信路CH0を介して接続される。各チップLUN0~チップLUN7がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格またはONFi規格である。例えば、有線通信路CH0はトグルDDRインタフェースとして機能する。
ブリッジチップBCは、外部端子群1aと複数の(ここでは2)チャネルCH1,CH2との間に電気的に接続されている。外部端子群1aは、有線通信路CH0を介してホストHAに電気的に接続可能である。複数のチップLUN0~チップLUN7は、複数のチャネルCH1,CH2を介してブリッジチップBCに接続されている。ブリッジチップBCと各チップLUN0~チップLUN7とは、所定の規格に基づき構成されたチャネルCH1,CH2を介して接続される。各チップLUN0~チップLUN7がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格またはONFi規格である。例えば、チャネルCH1,CH2はトグルDDRインタフェースとして機能する。また、チップ群CP1は、チップLUN0~チップLUN3からなるチップ群である。チップ群CP2は、チップLUN4~チップLUN7からなるチップ群である。チップ群CP1は、第2のチップ群の一例である。チップ群CP2は、第3のチップ群の一例である。
図2は、半導体装置1の詳細な構成を示す図である。例えば、外部端子群は、図2に示すように、チップイネーブル信号CEZ用の端子、データ信号DQ[7:0]用の端子、リードイネーブル信号RE ̄/RE用の端子、データストローブ信号DQS/DQS ̄用の端子、R/B ̄信号用の端子を含む。
要求されるアクセススピードの高速化に伴い、半導体装置1では、転送データの取り込みのためのタイミング用の信号の立ち上がりおよび立ち下がりのダブルエッジに同期してコマンドに関する動作が行われ得る。R/B ̄信号は、半導体装置1がアクセス可能か否かを示す信号である。チップ制御の信号の一例は、チップイネーブル信号CEZである。転送データの一例は、データ信号DQ[7:0]である。タイミング用の信号の一例は、データストローブ信号DQS/DQS ̄である。リードイネーブル信号RE ̄とリードイネーブル信号REとは、一対の差動信号を構成する。データストローブ信号DQSとデータストローブ信号DQS ̄とは、一対の差動信号を構成する。リードイネーブル信号RE ̄/REは、ホストHAから供給されるタイミング用の信号である。データストローブ信号DQS/DQS ̄は、ホストHAからのデータの読み出しの要求に対して、ホストHAへ出力されるタイミング用の信号である。このため、タイミング用の信号が差動信号で構成され得る。
ブリッジチップBCは、コントローラ101、Read用バッファメモリ102、Write用バッファメモリ103及びチャネルインタフェース104を有する。
コントローラ101は、チップイネーブル信号CEZ用の端子、データ信号DQ[7:0]用の端子、リードイネーブル信号RE ̄/RE用の端子、データストローブ信号DQS/DQS ̄用の端子、およびR/B ̄信号用の端子とチャネルインタフェース104との間に配されている。コントローラ101は、Read用バッファメモリ102およびWrite用バッファメモリ103を使って、上述の各端子とチャネルインタフェース104との間の情報の授受を制御する。
コントローラ101は、コマンドキュー101a、コマンドデコーダ101b、コマンドキューステータス管理部101c、コマンド優先順位制御部101d、コマンド発行タイミング制御部101e,RE ̄/RE発生部101f、バッファ制御部101gを有する。
コマンドキュー101aは、ホストHAから受信されたコマンド(例えば、ライトコマンド、リードコマンドなど)をキューイングする。
コマンドデコーダ101bは、ホストHAからデータ信号DQ[7:0]用の端子を介して受けたコマンドを解析し、解析結果に応じて、チップ群CP1,CP2に対するコマンドを発行する。発行されたコマンドは、チャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップ群CP1,CP2の何れかへ供給される。例えば、コマンドデコーダ101bは、リードコマンドとして、データセットアップコマンド又はデータアウトプットコマンドをホストHAから受けることがある。データアウトプットコマンドは、リードコマンドの一例である。データセットアップコマンドは、チップ群CP1,CP2に含まれる対象のチップLUNのメモリセルアレイ111からバッファメモリ113へのデータ転送を指示するコマンドである。データアウトプットコマンドは、チップ群CP1,CP2に含まれる対象のチップLUNのバッファメモリ113に格納されたデータをチップ群CP1,CP2から出力させることを指示するコマンドである。コマンドデコーダ101bは、ホストHAからの各コマンドの受領に応じて、対応するコマンドを、チャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップ群CP1,CP2の何れかへ供給する。また、コマンドデコーダ101bは、ライトコマンドやイレースコマンドのデコード処理を実行する。
コマンドキューステータス管理部101cは、コマンドキュー101aに格納されているコマンドの実行状態を参照し、コマンドの実行状態の情報をホストHAへ送信する。ここで、コマンドの実行状態とは、コマンドを発行したチップLUN0等におけるコマンドにかかるリード・ライト等の処理状況を示すものである。
コマンド優先順位制御部101dは、ホストHAからの指定に応じてコマンドキュー101aに格納されているコマンドの実行順を変更する。
コマンド発行タイミング制御部101eは、チップ群CP1,CP2へコマンドの処理を指示するタイミングを制御する。
RE ̄/RE発生部103bは、コマンドデコーダ101bの解析結果に応じて、コマンドがデータアウトプットコマンドである場合、自律的に、リードイネーブル信号RE ̄/REを発生する。発生されたリードイネーブル信号RE ̄/REはチャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップ群CP1,CP2の何れかへ供給される。
コントローラ101は、ホストHAからリードイネーブル信号RE ̄/REを受けた場合、受けたリードイネーブル信号RE ̄/REからデータストローブ信号DQS/DQS ̄を生成してホストHAへ出力する。
バッファ制御部101gは、Read用バッファメモリ102およびWrite用バッファメモリ103へのデータのリードまたはライトを制御する。
Read用バッファメモリ102は、チップ群CP1またはチップ群CP2からリードしたデータを格納するために設けられている。Read用バッファメモリ102は、例えば、SRAMで構成され得る。
Write用バッファメモリ103は、チップ群CP1またはチップ群CP2へライトするデータを格納するために設けられている。Write用バッファメモリ103は、例えば、SRAMで構成され得る。
チャネルインタフェース104は、チャネルCH1,CH2を介したチップ群CP1,CP2との間の接続を行う。チャネルインタフェース104は、コントローラ101から供給されたコマンド、アドレス、又はデータ、などをチャネルCH1,CH2経由でチップ群CP1,CP2へ転送したり、チップ群CP1,CP2から供給されたデータなどをRead用バッファメモリ102、Write用バッファメモリ103へ格納したりコントローラ101へ供給したりする。
チップLUNのそれぞれは、端子群TM1~TM4、メモリセルアレイ111、周辺回路112、及びバッファメモリ113を有する。端子群TM1~TM4は、1系統のチャネルCH1を介してチャネルインタフェース104に電気的に接続されている。複数のチップLUN0~チップLUN3それぞれの端子群TM1同士、TM2同士、TM3同士、及びTM4同士は、互いに電気的に接続されている。端子群TM1~TM4は、周辺回路112及びチャネルCH1の一端に電気的に接続されている。チャネルCH1の他端は、チャネルインタフェース104に電気的に接続されている。
端子群TM1は、チップイネーブル信号CEZ用の端子群である。端子群TM1は、チップイネーブル信号CEZのビット幅に対応した個数の端子を含む。
端子群TM2は、データ信号DQ[7:0]用の端子群である。端子群TM1は、データ信号DQ[7:0]のビット幅(例えば、8ビット幅)に対応した個数の端子を含む。
端子群TM3は、リードイネーブル信号RE ̄/RE用の端子群である。端子群TM2は、リードイネーブル信号RE ̄/REのビット幅に対応した個数の端子を含む。
端子群TM4は、データストローブ信号DQS/DQS ̄用の端子群である。端子群TM3は、データストローブ信号DQS/DQS ̄のビット幅に対応した個数の端子を含む。
メモリセルアレイ111は、複数のメモリセルが2次元的に又は3次元的に配列されている構造を有する。メモリセルアレイ111は、周辺回路112に接続されている。周辺回路112は、メモリセルアレイ111の周辺に配され、端子群TM1~TM4、及びバッファメモリ113とメモリセルアレイ111に電気的に接続されている。周辺回路112は、端子群TM2を介してブリッジチップBCから受けたコマンドに応じて、バッファメモリ113を利用して、メモリセルアレイ111の各メモリセルへのアクセス動作(例えば、リード動作、ライト動作)を制御する。
バッファメモリ113は、チップ群CP1のチップLUN0~チップLUN3のそれぞれにおける端子群TM1~端子群TM4を介した入出力用のバッファであり、入出力用データラッチ又はページバッファとも呼ばれる。周辺回路112は、ブリッジチップBCから受けたリード・データ・コマンドに応じて、メモリセルアレイ111からリードしたデータをバッファメモリ113へ一時的に格納する。そのため、バッファメモリ113の容量(又はサイズ)は、チップ群CP1におけるデータのリード単位となるデータサイズ(例えば、16[kB])を有する。
周辺回路112は、ブリッジチップBCから受けたデータアウトプットコマンドに応じて、バッファメモリ113に格納されたデータを端子群TM1~端子群TM4及びチャネルCH1経由でブリッジチップBCへ供給する。このとき、ブリッジチップBCのコントローラ101は、チップ群CP1の何れかのチップLUNから受けたデータをRead用バッファメモリ102に一時的に格納する。
ここで、ブリッジチップBCのRead用バッファメモリ102の容量(又はサイズ)は、チップ群CP1のデータのリード単位となるデータサイズに対して、その整数倍(例えば、16×N[kB]、Nは任意の正の整数)である。これにより、バッファメモリは、チップ群CP1からリードデータが連続的に出力される場合に、連続的にリードデータを記憶できる。
チャネルCH2に接続されたチップ群CP2のチップLUNも同様に、端子群TM1~TM4、メモリセルアレイ111、周辺回路112、及びバッファメモリ113を有する。各構成については、チャネルCH1に接続されたチップ群CP1のチップLUNと同様であるため、説明を省略する。
次に、図3を用いて半導体装置1の動作について説明する。図3に示すHOST Ch0は、ホストHAとブリッジチップBCとの間で有線通信路CH0を介してやり取りされる信号を示す。図3に示すNAND Ch1は、ブリッジチップBCとチップ群CP1との間でチャネルCH1を介してやりとりされる信号を示す。図3に示すNAND Ch2は、ブリッジチップBCとチップ群CP2との間でチャネルCH2を介してやりとりされる信号を示す。
図3に示す「CMDQ Status」テーブルは、コマンドキュー101aに格納されたコマンドの実行状態を示す情報を示す。「CMDQ Status」テーブルの「ST」は、各コマンドの処理状態を示す。「ST」が「0」の場合、コマンドの処理が未完了であることを示す。また、「ST」が「1」の場合、コマンドの処理が完了したことを示す。図3に示すRead用バッファは、Read用バッファメモリ102に格納されている情報を示す。
ブリッジチップBCは、ホストHAから、データセットアップコマンドCM*s(*は、LUN番号に対応)を受信後、対象LUNのメモリセルアレイ111からバッファメモリ113へのデータ転送完了後にデータアウトプットコマンドCM*rを受信する(以降の動作例ではデータセットアップコマンドCM*sは省略する)。データセットアップコマンドCM*sは、リード処理の準備コマンドである。図3の動作例では、ホストHAから、チップLUN0に対するデータアウトプットコマンドCM0r、チップLUN1に対するデータアウトプットコマンドCM1r、LUN4に対するデータアウトプットコマンドCM4r、LUN5に対するデータアウトプットコマンドCM5rを順番に受け付けた場合の例を示している。この例では、コマンドデコーダ101bが、各データアウトプットコマンドCM0r、CM1r、CM4r、およびCM5rをデコードして、コマンドキュー101aに格納する。
コマンド発行タイミング制御部101eは、チャネルCh1またはチャネルCh2の空き状況に応じて、データアウトプットコマンドCM*rを発行する。具体的に、コマンド発行タイミング制御部101eは、データアウトプットコマンドCM0rがコマンドキュー101aに格納されると、データアウトプットコマンドCM0rをチャネルCh1に発行する。なお、このタイミングt1における「CMDQ Status」テーブルの状態は、データアウトプットコマンドCM0rが設定され、「ST」には、チャネルCh1からのリードが完了していないことを示す「0」が設定される。また、メモリセルアレイ111は、バッファメモリ113に格納されたリード対象のデータをブリッジチップBCへ送出する。
また、コマンド発行タイミング制御部101eは、データアウトプットコマンドCM1rがコマンドキュー101aに格納されると、当該データアウトプットコマンドCM1rの発行先となるチャネルCh1がコマンド実行中であるので、データアウトプットコマンドCM1rをチャネルCh1へ発行しない。なお、バッファ制御部101gは、チップLUN0からDOUTの期間に送出されたリードデータをRead用バッファメモリ102の「CM0r DOUT」領域に順次格納する。
続いて、コマンド発行タイミング制御部101eは、データアウトプットコマンドCM4rがコマンドキュー101aに格納されると、コマンドキュー101aに格納されたデータアウトプットコマンドCM4rをチャネルCh2に発行する。このように、コマンド発行タイミング制御部101eは、コマンドキュー101aに格納されたデータアウトプットコマンドをチャネルCh1またはチャネルCh2に逐次発行する。
なお、このタイミングt2における「CMDQ Status」テーブルには、データアウトプットコマンドCM1rおよびデータアウトプットコマンドCM4rが設定され、これらのコマンドの「ST」には、これらのコマンドが完了していないことを示す「0」が設定される。また、データアウトプットコマンドCM0rについてもチップLUN0から送出されたリードデータが全てRead用バッファメモリ102に格納されていないため、データアウトプットコマンドCM0rのフラグ情報も「0」となっている。
また、コマンド発行タイミング制御部101eは、チップLUN0からのリードデータの出力が完了すると、データアウトプットコマンドCM1rをチップLUN1に発行する。また、コマンドキューステータス管理部101cは、「CMDQ Status」テーブルの「CM0r」の「ST」を「1」に更新する。ホストHAは、所定数のコマンドを発行すると、ステータス確認を示すコマンドCQ0を発行する。コマンドキューステータス管理部101cは、「CMDQ Status」テーブルの情報をホストHAへ送信する。
ホストHAは、「CMDQ Status」テーブルの情報を参照し、「ST」が「1」となっているデータアウトプットコマンドのリードデータを読み出す。タイミングt3の時点では、「CM0r」の「ST」が「1」となっているので、ホストHAは、データアウトプットコマンドCM0rに対応するチップLUN0のリードデータのリード要求をする。バッファ制御部101gは、これに応じてRead用バッファメモリ102の「CM0r DOUT」領域のデータをホストHAへ送信する。コマンドキューステータス管理部101cは、ホストHAにデータアウトプットコマンドCM0rのリードデータの送信が完了したことに応じて、「CMDQ Status」テーブルの「CM0r」のレコードを削除する。
タイミングt4の時点では、「CMDQ Status」テーブルの「CM4r」の「ST」が「1」となる。タイミングt4より前に発行されたデータアウトプットコマンドCM5rに応じてチップLUN5から送出されたリードデータが全てRead用バッファメモリ102に格納されていないため、データアウトプットコマンドCM5rの「ST」は「0」となっている。タイミングt5の時点では、リード未完了の「CM1r」と「CM5r」の「ST」が「1」となる。
このように、ブリッジチップBCは、コマンドキュー101aに格納されたリードコマンドを第1チップ群CP1または第2チップ群CP2からデータアウトプットコマンドに対応するリードデータをRead用バッファメモリ102に格納し、コマンドキュー101aのコマンドの実行状態に応じて、リードデータをホストHAへ送信する。ブリッジチップBCは、コマンドキュー101aにコマンドを複数格納することができ、逐次コマンドを実行して、リードデータがRead用バッファメモリ102に格納された状態に応じて、ホストHAへリードデータを送信しているので、ホストHA及びブリッジチップBC間で、待ち時間が発生することなく処理を実行することができる。
(第2実施形態)
第1実施形態では、データアウトプットコマンドに対応する全てのリードデータをRead用バッファメモリ102に格納した後に、次のデータアウトプットコマンドをチップに発行していた。第2実施形態では、データアウトプットコマンドに対応する一部のリードデータをRead用バッファメモリ102に格納した後に、次のデータアウトプットコマンドをチップに発行する。
第2実施形態にかかる動作例を図4を用いて説明する。図3に示した内容と共通する点については、説明を省略する。タイミングt11の時点については、図3におけるタイミングt1の時点と同様である。データアウトプットコマンドCM0rをチップLUN0に発行し、タイミングt11の後に、バッファ制御部101gが、所定サイズのリードデータをRead用バッファメモリ102に格納した時点で、チップLUN0からのリードデータの受信が中断される。これに応じて、コマンド発行タイミング制御部101eは、データアウトプットコマンドCM1rをLUN1に発行する。データアウトプットコマンドCM0rは、第1リードコマンドの一例であり、データアウトプットコマンドCM1rは、第2リードコマンドの一例である。また、コマンドキューステータス管理部101cは、「CMDQ Status」テーブルの「CM0r」の「ST」を「1」に更新する。これにより、タイミングt12では、「CMDQ Status」テーブルの「CM0r」の「ST」が「1」となる。
また、ブリッジチップBCは、他のデータアウトプットコマンドについても、一部のリードデータをRead用バッファメモリ102に格納した時点で「CMDQ Status」テーブルの「CM*r」の「ST」を「1」に更新する。すなわち、データアウトプットコマンドCM1rとデータアウトプットコマンドCM4rについても同様の処理が実行される。そうすると、ホストHAがデータアウトプットコマンドを発行し終えた後にステータス確認を示すコマンドCQ0を発行するタイミングであるタイミングt13では、「CMDQ Status」テーブルの「CM0r」、「CM1r」、および「CM4r」の「ST」が「1」となる。
また、ホストHAが、リードデータをリードし始めると、バッファ制御部101gが、対象のチップLUNから残りのリードデータをRead用バッファメモリ102に格納する。例えば、ホストHAは、データアウトプットコマンドCM0rに対応するチップLUN0のリードデータのリード要求をすると、バッファ制御部101gが、対象のチップLUNから残りのリードデータをRead用バッファメモリ102に格納する。
このように、第2実施形態にかかるブリッジチップBCは、データアウトプットコマンドに対応する一部のリードデータをRead用バッファメモリ102へ格納する。その後、第2実施形態にかかるブリッジチップBCは、他のデータアウトプットコマンドの状態に基づいて、第1チップ群CP1または第2チップ群CP2からデータアウトプットコマンドに対応する残りのリードデータをRead用バッファメモリ102へ格納する。これにより、第1実施形態にかかるブリッジチップBCの場合より、早いタイミングでホストHAがリード用データのリードが可能となる。また、Read用バッファメモリ102の容量も削減することができる。
(第3実施形態)
第1実施形態および第2実施形態では、ホストHAから送信されたコマンド順に基づいて、ブリッジチップBCが、当該コマンド処理を実行する場合について述べた。本実施形態では、ホストHAからの指定に基づいて、コマンド処理する順序を変更する。
第3実施形態にかかる動作例を図5を用いて説明する。図4と共通する点については、説明を省略する。タイミングt21~タイミングt23における処理については、図4におけるタイミングt11~タイミングt13における処理と共通する。ホストHAは、ステータス確認を示すコマンドCQ0を発行した後、データアウトプットコマンドCM1rを優先させることを示すコマンドS1を発行する。ブリッジチップBCのコマンド発行タイミング制御部101eは、バッファ制御部101gにLUN1のリードデータの送出指示をする。バッファ制御部101gは、これに応じてチップLUN0ではなく、チップLUN1のリードデータを読み出す。
このように、ブリッジチップBCは、ホストHAからの指示に応じてデータ取り出し順を変更することで、ホストHAが取り出すリードデータを送信するタイミングを柔軟に変更することができる。
(第4実施形態)
第4実施形態では、ホストHAからライト処理のコマンドを受信した場合の処理について説明する。データライト処理は、ホストからデータライトコマンドを受信してから所定期間経過後に、ライトデータを受信する。そうすると、ホストと、間において、待ち時間が発生してしまい、効率良く実行できないという問題がある。そこで、本実施形態では、Write用バッファメモリ103を介してライト処理を実行することで、効率良くライト処理を実行するものである。
第4実施形態にかかる動作例を図6を用いて説明する。図3~図5では、Read用バッファを示したが、図6では、代わりにWrite用バッファを示す。ホストHAは、チップLUN0へのライト処理のコマンドを示すライトコマンドCM0wを発行する。そして、コマンドデコーダ101bが、ライトコマンドCM0wをデコードして、コマンドキュー101aに格納する。なお、このタイミングt31における「CMDQ Status」テーブルは、ライトコマンドCM0wが設定され、ライトが完了していないことを示す「0」が「ST」に設定される。
ホストHAは、ライトコマンドCM0wを発行して、チップLUN0のDINとして、チップLUN0へのライトデータをブリッジチップBCへ送信する。ブリッジチップBCのバッファ制御部101gは、LUN0へのライトデータをWrite用バッファメモリ103へ書き込む。バッファ制御部101gは、チップLUN0へのライトデータの領域をWrite用バッファメモリ103に設ける。
そして、ホストHAは、チップLUN0へのライトデータ(DIN)を送信後、チップLUN4へのライト処理のコマンドを示すライトコマンドCM4wを発行する。Write用バッファメモリ103へライトデータを書き込んでいるので、ホストHAは、ブリッジチップBCとチップLUN0との間の、ライトデータのライト処理の待ち時間を考慮する必要がない。よって、タイミングt32の時点で、NAND Ch1に示すようにブリッジチップBCからチップLUN0へのライト処理が完了する前に、NAND Ch2に示すようにライトコマンドCM4wを発行する。
また、タイミングt33の時点では、ブリッジチップBCとチップLUN0とのライトデータのライト処理が完了しているので、「CMDQ Status」テーブルの「CM0w」の「ST」が「1」に更新されている。
第4実施形態にかかる他の動作例を図7を用いて説明する。図6では、Write用バッファメモリ103において、1つのコマンドに対応するライトデータ用の領域のみ有する場合について述べた。本動作例では、複数のコマンドに対応するライトデータ用の領域を有する。
この場合、図7に示すように、タイミングt43の時点で、「CMDQ Status」テーブルに、「CM1w」「CM2w」が設定されると、バッファ制御部101gが、チップLUN1およびチップLUN2へのライトデータの領域をWrite用バッファメモリ103に設ける。また、タイミングt45の時点のように、「CMDQ Status」テーブルに、完了(「ST」が「1」)の「CM1w」が設定され、且つ未完了(「ST」が「0」)の「CM4w」が新たに設定されていると、タイミングt46において、バッファ制御部101gが、チップLUN4へのライトデータの領域をWrite用バッファメモリ103に新たに設ける。このとき、バッファ制御部101gは、チップLUN1へのライトデータの領域をWrite用バッファメモリ103から削除する。これにより、ブリッジチップBCは、チップ群CP1に対するライト処理と、チップ群CP2に対するライト処理とを並行して処理することができる。
このように、ブリッジチップBCは、Write用バッファメモリ103を設けて、ホストHAからライトコマンド(例えば、ライトコマンドCM0w)を受信した場合、当該コマンドのライト用のデータをWrite用バッファメモリ103に書き込んでおく。そして、ブリッジチップBCは、Write用バッファメモリ103に格納されたライト用データをチップLUNに書き込む。この場合、ブリッジチップBCは、ライト用のデータをWrite用バッファメモリ103に書き込んでいるので、ブリッジチップBCとチップLUN間の処理時間を考慮することなく、ホストHAは、コマンドを発行することができる。
(第5実施形態)
第5実施形態は、複数種類のコマンドが混在している場合の処理についての実施形態である。第5実施形態では、データアウトプットコマンドと、ライトコマンドと、イレースコマンドとが混在しているものとする。
第5実施形態における動作例を図8を用いて説明する。ホストHAは、チップLUN0へのリード処理のコマンドを示すデータアウトプットコマンドCM0rを発行する。続いて、ホストHAは、チップLUN1へのリード処理のコマンドを示すデータアウトプットコマンドCM1rを発行する。続いて、ホストHAは、チップLUN4へのリード処理のコマンドを示すデータアウトプットコマンドCM4rを発行する。続いて、ホストHAは、チップLUN5へのイレース処理のコマンドを示すイレースコマンドCM5eを発行する。続いて、ホストHAは、チップLUN6へのライト処理のコマンドを示すライトコマンドCM6wを発行する。
ブリッジチップBCは、これらのコマンドを受信すると、各コマンドをコマンドキュー101aに格納する。また、ブリッジチップBCは、「CMDQ Status」テーブルのコマンドの状態を示すレコードを登録する。ブリッジチップBCは、データアウトプットコマンドおよびイレースコマンドのレコードについては、コマンドの発行の完了後、且つホストHAへコマンド状態を送信した後、レコードを削除する。
ブリッジチップBCは、コマンドキュー101aにコマンドを格納した後、データアウトプットコマンドCM0r,CM1r,CM4rについては、第1実施形態と同様の処理を実行して、ライトコマンドCM6wについては、第4実施形態と同様の処理を実行する。イレースコマンドCM5eについては、ブリッジチップBCは、コマンドキュー101aから取り出した後は、対象となるチップLUN5に対してイレースコマンドを発行する。
ブリッジチップBCは、ステータスを確認するコマンドCQ0を受信した場合、タイミングt54において、ホストHAへ「CMDQ Status」テーブルの情報を送信し、ホストHAは、それに応じて、チップ(例えば、チップLUN0)のリード要求をする。
上述のように、ブリッジチップBCは、コマンドキュー101aにデータアウトプットコマンドだけでなく、ライト処理のコマンドやイレース処理のコマンドも格納することができ、逐次コマンドを実行して、リードデータがバッファメモリに格納された状態に応じて、ホストHAへリードデータを送信しているので、ライト処理のコマンドやイレース処理コマンドが混在していても、ホストHA及びブリッジチップBC間で、待ち時間が発生することなく処理を実行することができる。
(第6実施形態)
第6実施形態では、実行順が優先されるコマンドである優先コマンドがある場合、ホストHAが発行したコマンド順に関わらず、優先コマンドを優先して実行する。
第6実施形態にかかる動作例を図9を用いて説明する。CM*rは、データアウトプットコマンドである。また、CM*sは、データセットアップコマンドである。コマンド優先順位制御部101dは、データセットアップコマンドを優先設定しているものとする。
ホストHAは、データアウトプットコマンドCM0r、データアウトプットコマンドCM1r、データセットアップコマンドCM0s、データセットアップコマンドCM1s、・・・、データセットアップコマンドCM5sの順にコマンドを発行する。
タイミングt61では、データアウトプットコマンドCM0rのみがコマンドキュー101aに格納される。タイミングt61の後に、ブリッジチップBCは、データセットアップコマンドCM0s、データセットアップコマンドCM1s、データアウトプットコマンドCM1rの順に、チャネルCh1にコマンドを発行する。タイミングt62では、データアウトプットコマンドCM0r、データアウトプットコマンドCM1r、データセットアップコマンドCM0sがコマンドキュー101aに格納される、チップLUN0からのリードデータの出力が完了した後、ホストHAの発行順では、データアウトプットコマンドCM1rであるが、データセットアップコマンドCM0sが優先して実行される。
これは、データアウトプットコマンドよりデータセットアップコマンドの方が処理時間がかかるためである。このように、ブリッジチップBCは、処理時間がかかるコマンドを優先して処理することで、システム全体の性能を上げることができる。
(第7実施形態)
第7実施形態では、チップ群CP1またはチップ群CP2をピーク電流抑制制御する。ここでは、リード処理とライト処理に分けて説明する。
第7実施形態にかかるリード処理の動作例を図10に示す。図10の例では、ホストHAが、データセットアップコマンドCM*sを発行し、データアウトプットコマンドCM*rを発行する。ブリッジチップBCは、データセットアップコマンドCM0s、CM4s、CM1s、CM5s、CM2s、およびCM6sを発行しているものとする。
この状態において、ブリッジチップBCは、さらにデータセットアップコマンドCM3s、CM7sを発行予定である場合、上記6つのデータセットアップコマンドの一部が完了するまで、データセットアップコマンドCM3s、CM7sの発行タイミングを抑制または待機する。メモリセルアレイ111からバッファメモリ113にリード対象のデータを転送する処理をしている期間(tR)は、チップの処理負荷が高まるので、当該tRの期間に該当するチップの数を調整できる方が望ましい。
上記のように、ブリッジチップBCが、メモリセルアレイ111からバッファメモリ113にリード対象のデータを転送する処理を実行しているチップLUNの数を調整することで、チップ群CP1またはチップ群CP2のピーク電流を軽減することができる。
第7実施形態にかかるライト処理の動作例を図11に示す。図11の例では、ホストHAが、ライトコマンドCM*wを発行する。ブリッジチップBCは、ライトコマンドCM0w、CM4w、CM1w、CM5w、CM2w、およびCM6wを発行しているものとする。
この状態において、ブリッジチップBCは、さらにライトコマンドCM3w、CM7wを発行予定である場合、上記6つのライトコマンドの一部が完了するまで、ライトコマンドCM3w、CM7wの発行タイミングを抑制または待機する。
バッファメモリ113からメモリセルアレイ111へライト対象のデータを転送する処理をしている期間(tPROG)は、チップの処理負荷が高まるので、当該tPROGの期間に該当するチップの数を調整できる方が望ましい。
上記のように、ブリッジチップBCが、バッファメモリ113からメモリセルアレイ111に転送する処理を実行しているチップLUNの数を調整することで、チップ群CP1またはチップ群CP2のピーク電流を軽減することができる。
(第8実施形態)
第8実施形態では、チップ群CP1またはチップ群CP2のチップのRBZ信号を監視して、この結果に基づいてコマンドを発行する。
第8実施形態にかかる半導体装置1Aの構成を図12を用いて説明する。図2に示した内容と重複する部分については、説明を省略する。第8実施形態にかかる半導体装置1Aは、さらに、RBZ制御部101hとSRフォーマット変換回路101iとを有する。
RBZ制御部101hは、RBZ信号を監視制御する。ここで、RBZ信号とは、チップ群CP1またはチップ群CP2のチップLUNが、ブリッジチップBCからのコマンドを受信できる状態であるか否かを示す信号である。SRフォーマット変換回路101iは、ステータスリードのデータをフォーマット変換する。ここで、ステータスリードのデータとは、チップ群CP1またはチップ群CP2のチップLUNのステータス情報である。StatusRead用バッファメモリ105は、StatusReadコマンドの結果を格納するためのバッファメモリである。チップLUNのそれぞれは、さらに、端子群TM5を有する。端子群TM5は、RBZ信号用の端子群である。
続いて、第8実施形態における半導体装置1の動作例を図13を用いて説明する。図13に示すHOST Ch0は、ホストHAとブリッジチップBCとの間で有線通信路CH0を介してやり取りされる信号を示す。図13に示すNAND Ch1は、ブリッジチップBCとチップ群CP1との間でチャネルCH1を介してやりとりされる信号を示す。
図13に示すNAND LUN0 RBZは、チップLUN0におけるRBZ信号のレベルを示す。図13に示すNAND LUN01 RBZは、チップLUN0におけるRBZ信号を示し、NAND LUN1 RBZは、チップLUN1におけるRBZ信号を示す。図13に示すHOST RBZ0は、ブリッジチップBCにおけるRBZ信号を示す。
図13に示す「CMDQ Status」テーブルは、コマンドキュー101aに格納されたコマンドの実行状態を示す情報を示す。図13に示すRead用バッファは、Read用バッファメモリ102に格納されている情報を示す。
CM*rは、データアウトプットコマンドである。また、CM*sは、データセットアップコマンドである。ホストHAは、データセットアップコマンドCM0s、データセットアップコマンドCM1s、データアウトプットコマンドCM0r、データアウトプットコマンドCM1rの順にコマンドを発行する。
ブリッジチップBCは、データセットアップコマンドCM0sをチップLUN0へ発行し、データセットアップコマンドCM1sをチップLUN1へ発行する。そうすると、チップLUN0におけるRBZ信号およびチップLUN1におけるRBZ信号がBusyとなる。RBZ制御部101hは、これらのRBZ信号を監視する。コマンド発行タイミング制御部101eは、チップLUN0におけるRBZ信号のBusy状態が解除されたタイミングt71の時点で、データアウトプットコマンドCM0rをLUN0に発行する。
このように、ブリッジチップBCは、チップのRBZ信号を監視して、RBZ信号の状態に応じてチップへデータアウトプットコマンドを発行することで、ホストHAからLUNの状態を参照するコマンドを発行することなく、データアウトプットコマンドを効率良く実行することができる。
(第9実施形態)
第9実施形態における半導体装置1Bは、StatusReadコマンドの結果をフォーマット変換して出力する。チップLUN0~LUN7は、それぞれ複数の並列動作要素(プレーン)を有する。チップLUN0~LUN7は、それぞれ4つのプレーンを有するものとする。
続いて、第9実施形態における半導体装置1Bの動作例を図14を用いて説明する。図14に示すHOST Ch0は、ホストHAとブリッジチップBCとの間で有線通信路CH0を介してやり取りされる信号を示す。NAND Ch1は、ブリッジチップBCとチップ群CP1との間でチャネルCH1を介してやりとりされる信号を示す。NAND Ch2は、ブリッジチップBCとチップ群CP2との間でチャネルCH2を介してやりとりされる信号を示す。
図14に示す「CMDQ Status」テーブルは、コマンドキュー101aの状態を示す情報を示す。図14に示すStatusRead用バッファ(LUN0)は、StatusRead用バッファメモリ105に格納されているチップLUN0用の情報を示す。図14に示すStatusRead用バッファ(LUN4)は、StatusRead用バッファメモリ105に格納されているチップLUN4用の情報を示す。
SR*P#は、StatusReadコマンドである。*は、LUN番号に対応する。#は、プレーン番号に対応する。NAND Ch1、Ch2における、SR*P#の直後のDOは、StatusReadコマンドに対応するデータリードを示す。
ホストHAは、StatusReadコマンドSR0P0、SR0P1、SR0P2、SR0P3、SR4P0、SR4P1、SR4P2、およびSR4P3を発行する。
ブリッジチップBCは、チップLUN0又はLUN4に対してStatusReadコマンドSR0P0等を発行し、チップLUN0又はLUN4からStatusReadコマンドに対応するデータをリードして、StatusRead用バッファメモリ105に格納する。
全てのStatusReadコマンドが完了した状態であるタイミングt81において、ホストHAが状態確認コマンドCQを発行すると、ブリッジチップBCは、その結果をホストHAへ送信する。状態確認コマンドCQは、StatusReadコマンドの実行状態を確認するコマンドである。ホストHAは、この結果に応じてマージ処理コマンドMSRを発行する。マージ処理コマンドMSRは、StatusReadのマージ処理の実行を指示するコマンドである。HOST Ch0における、MSRの直後のDOは、StatusReadコマンド及びマージ処理コマンドMSRに対応するデータの送信を示す。これらのコマンドに応じて、ブリッジチップBCのSRフォーマット変換回路101iは、StatusRead用バッファメモリ105の情報を変換してホストHAへ送信する。
なお、ホストHAは、マージ処理コマンドMSRを発行する際、テンプレート番号を指定する。ここで、図15Aおよび図15Bを用いて、StatusReadコマンドの情報の変換例を説明する。
図15Aは、プレーンPL0~PL3のStatusReadコマンドによりリードされたデータである。図15Aに示すように、リードされたデータは8項目の情報を含む。図15Bは、変換例を示す図である。図15Bに示すように、例えば、テンプレート番号1が指定された場合、SRフォーマット変換回路101iは、プレーンPL0~PL3の項番5、項番6の情報(図15Aの太い実線で囲んだ箇所)を抽出した情報を生成する。また、テンプレート番号2が指定された場合、SRフォーマット変換回路101iは、プレーンPL0~PL3の項番0、項番1の情報(図15Aの太い点線で囲んだ箇所)を抽出した情報を生成する。
なお、図16Aに示すように、チップLUNのStatusReadコマンドのデータをリードした場合、図16Bに示すように、予め設定されているテンプレート番号に対応するデータを貯めておくが、他の部分のリードデータを破棄するようにしてもよい。この場合、StatusRead用バッファメモリ105の容量を減らすことができる。
このように、ブリッジチップBCは、StatusRead用バッファメモリ105の情報を変換してホストHAへ送信する。これにより、ホストHAは、プレーン数分読み出す必要がなく、処理負荷を軽減することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 半導体装置、101 コントローラ、102 Read用バッファメモリ、103 Write用バッファメモリ、104 チャネルインタフェース、BC ブリッジチップ群CP1 チップ群、CP2 チップ群。

Claims (8)

  1. ホストからの信号が入力される端子を有する第1のチップと、
    前記第1のチップに電気的に接続された複数の第2のチップである第2のチップ群と、
    前記第2のチップ群と並列に前記第1のチップに電気的に接続された複数の第3のチップである第3のチップ群と、
    を備え、
    前記第1のチップは、
    前記ホストから受信した複数のリードコマンドを格納するコマンドキューと、
    リードデータをバッファリングするリードバッファメモリと、を有し、
    前記コマンドキューに格納された前記複数のリードコマンドを前記第2のチップ群または前記第3のチップ群に逐次発行し、
    前記第2のチップ群または前記第3のチップ群から前記複数のリードコマンドに対応するリードデータを前記リードバッファメモリへ格納し、
    前記複数のリードコマンドのうち何れかのリードコマンドの実行状態に基づいて、前記リードバッファメモリに格納されたリードデータのうち何れかのリードデータを前記ホストへ送信する、
    半導体装置。
  2. 前記第1のチップは、
    前記第2のチップ群または前記第3のチップ群から前記複数のリードコマンドのうち第1リードコマンドに対応する一部のリードデータを前記リードバッファメモリへ格納し、
    前記第1リードコマンド以外の第2リードコマンドの実行状態に基づいて、前記第2のチップ群または前記第3のチップ群から前記第1リードコマンドに対応する残りのリードデータを前記リードバッファメモリへ格納する、請求項1に記載の半導体装置。
  3. 前記コマンドキューに格納される前記複数のリードコマンドの実行順は、可変である、請求項1に記載の半導体装置。
  4. 前記第1のチップは、ライトバッファメモリをさらに有し、
    前記ホストからライトコマンドを受信し、前記ライトコマンドにかかるライトデータを前記ライトバッファメモリに格納し、前記第2のチップ群または前記第3のチップ群へ前記格納したライトデータを書き込む、請求項1に記載の半導体装置。
  5. 前記第1のチップは、前記ホストから前記リードコマンドと異なるコマンドを受信し、前記コマンドキューに前記異なるコマンドをさらに格納する、
    請求項1に記載の半導体装置。
  6. 前記第1のチップは、実行を優先するコマンドを指定する優先コマンドを前記ホストから受信した場合、受信した前記優先コマンドに応じてコマンドキューに格納された前記実行を優先するコマンドを実行する、請求項1に記載の半導体装置。
  7. 前記第2のチップおよび前記第3のチップのチップは、並列動作要素であるプレーンがそれぞれ複数定義されており、
    前記第1のチップは、各プレーンの状態を編集した情報をホストへ送信する、請求項1に記載の半導体装置。
  8. ホストに接続可能な半導体装置であって、前記ホストから受信した複数のリードコマンドを格納するコマンドキューと、リードデータをバッファリングするリードバッファメモリと、を有する第1のチップと、
    前記第1のチップに電気的に接続された複数の第2のチップである第2のチップ群と、
    前記第2のチップ群と並列に前記第1のチップに電気的に接続された複数の第3のチップである第3のチップ群と、
    を備える半導体装置を制御する制御方法であって、
    前記コマンドキューに格納された前記複数のリードコマンドを前記第2のチップ群または前記第3のチップ群に逐次発行し、
    前記第2のチップ群または前記第3のチップ群から前記複数のリードコマンドに対応するリードデータを前記リードバッファメモリへ格納し、
    前記複数のリードコマンドのうち何れかのリードコマンドの実行状態に基づいて、前記リードバッファメモリに格納されたリードデータのうち何れかのリードデータを前記ホストへ送信する、制御方法。
JP2021205982A 2021-12-20 2021-12-20 半導体装置および制御方法 Pending JP2023091307A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021205982A JP2023091307A (ja) 2021-12-20 2021-12-20 半導体装置および制御方法
TW111123620A TWI813355B (zh) 2021-12-20 2022-06-24 半導體裝置及控制方法
CN202210883815.3A CN116302096A (zh) 2021-12-20 2022-07-26 半导体装置及控制方法
US17/899,833 US20230195371A1 (en) 2021-12-20 2022-08-31 Semiconductor device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021205982A JP2023091307A (ja) 2021-12-20 2021-12-20 半導体装置および制御方法

Publications (1)

Publication Number Publication Date
JP2023091307A true JP2023091307A (ja) 2023-06-30

Family

ID=86767988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021205982A Pending JP2023091307A (ja) 2021-12-20 2021-12-20 半導体装置および制御方法

Country Status (4)

Country Link
US (1) US20230195371A1 (ja)
JP (1) JP2023091307A (ja)
CN (1) CN116302096A (ja)
TW (1) TWI813355B (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4313720B2 (ja) * 2004-04-28 2009-08-12 パナソニック株式会社 データ処理プログラムおよびデータ処理装置
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US8296337B2 (en) * 2006-12-06 2012-10-23 Fusion-Io, Inc. Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US7836217B2 (en) * 2007-07-13 2010-11-16 Invensys Systems, Inc. Associating and evaluating status information for a primary input parameter value from a Profibus device
WO2009091739A2 (en) * 2008-01-14 2009-07-23 Firetide, Inc. Service differentiation and service level agreements for wireless access clients
US20100064297A1 (en) * 2008-09-05 2010-03-11 Invensys Systems, Inc. Configuring And Providing Enhanced Access To Profibus Device Diagnostic Data
WO2013164869A1 (en) * 2012-05-02 2013-11-07 Hitachi, Ltd. Storage system and control method therefor
TWI492054B (zh) * 2012-11-05 2015-07-11 Phison Electronics Corp 快閃記憶體的模擬方法與模擬器
JP7091203B2 (ja) * 2018-09-19 2022-06-27 キオクシア株式会社 メモリシステムおよび制御方法
US11221800B2 (en) * 2020-03-02 2022-01-11 Micron Technology, Inc. Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
US11106390B1 (en) * 2020-04-24 2021-08-31 Seagate Technology Llc Combining in-process reads to reduce die collisions
US11756644B2 (en) * 2021-06-23 2023-09-12 International Business Machines Corporation Triage of multi-plane read requests

Also Published As

Publication number Publication date
TWI813355B (zh) 2023-08-21
CN116302096A (zh) 2023-06-23
US20230195371A1 (en) 2023-06-22
TW202326716A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
CN107077304B (zh) 数据转换设备、芯片、方法、装置及影像系统
KR20180042111A (ko) 프로세서 모드를 가지는 메모리 모듈 및 프로세싱 데이터 버퍼
KR101371815B1 (ko) 다수의 명령들을 처리하기 위한 메모리 제어기들, 메모리 시스템들, 고체상태 드라이버들 및 방법들
KR102532173B1 (ko) 메모리 액세스 기술 및 컴퓨터 시스템
US20060161694A1 (en) DMA apparatus
US20060218324A1 (en) Systems and methods for flexible data transfers in SDIO and/or MMC
JP2004046854A (ja) マルチチップ
CN113590528A (zh) 基于hp接口的多通道数据采集存储回放卡、系统及方法
CN111258932A (zh) 加速ufs协议处理的方法与存储控制器
US7299302B2 (en) Direct memory access control apparatus and method
US10552052B2 (en) Memory interface circuitry with distributed data reordering capabilities
CN116776781B (zh) 一种寄存器参数的管理方法、系统、设备及存储介质
TWI813355B (zh) 半導體裝置及控制方法
US11720513B2 (en) Semiconductor device and method for controlling plural chips
US20090138673A1 (en) Internal memory mapped external memory interface
US20190311517A1 (en) Data processing system including an expanded memory card
US11829307B2 (en) DRAM interface mode with interruptible internal transfer operation
US7861026B2 (en) Signal relay device and method for accessing an external memory via the signal relay device
JP7413108B2 (ja) 半導体装置
JP6992750B2 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
KR102242957B1 (ko) 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스
US20150160890A1 (en) Memory multi-chip package (mcp) with integral bus splitter
CN115658566B (zh) 一种实现多通道数据流均衡的方法和系统
KR101093620B1 (ko) 낸드 플래시 메모리를 실장한 메모리 장치 및 그의 리드 오퍼레이션 방법
JP2022049552A (ja) 半導体装置および方法