JP5925549B2 - Memory system and bank interleaving method - Google Patents

Memory system and bank interleaving method Download PDF

Info

Publication number
JP5925549B2
JP5925549B2 JP2012068157A JP2012068157A JP5925549B2 JP 5925549 B2 JP5925549 B2 JP 5925549B2 JP 2012068157 A JP2012068157 A JP 2012068157A JP 2012068157 A JP2012068157 A JP 2012068157A JP 5925549 B2 JP5925549 B2 JP 5925549B2
Authority
JP
Japan
Prior art keywords
bank
command sequence
memory
memory access
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012068157A
Other languages
Japanese (ja)
Other versions
JP2013200678A (en
Inventor
井手 崇史
崇史 井手
岩崎 清隆
清隆 岩崎
渡辺 幸治
幸治 渡辺
浩之 南條
浩之 南條
誠 森屋
誠 森屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Corp
Toshiba Information Systems Japan 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 Toshiba Corp, Toshiba Information Systems Japan Corp filed Critical Toshiba Corp
Priority to JP2012068157A priority Critical patent/JP5925549B2/en
Priority to US13/600,578 priority patent/US8996782B2/en
Publication of JP2013200678A publication Critical patent/JP2013200678A/en
Priority to US14/641,930 priority patent/US9304691B2/en
Application granted granted Critical
Publication of JP5925549B2 publication Critical patent/JP5925549B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、メモリシステムおよびバンクインターリーブ方法に関する。   Embodiments described herein relate generally to a memory system and a bank interleaving method.

コンピュータシステムに用いられるメモリシステムとして、NAND型の記憶セルを備えるメモリチップを搭載したSSD(Solid State Drive)が注目されている。SSDは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。   As a memory system used in a computer system, an SSD (Solid State Drive) equipped with a memory chip having NAND-type storage cells has attracted attention. The SSD has advantages such as high speed and light weight compared with the magnetic disk device.

近年、SSDは、複数のメモリチップを並列駆動することで転送効率を向上させている。並列動作の一つの方法として、同一チャネルに接続されている複数のメモリチップをバンク単位でインターリーブさせる技術(バンクインターリーブ)がある。バンクインターリーブによれば、データ転送装置とメモリチップとの間のデータ(コマンド、アドレス、リードデータ、ライトデータを含む)の転送にかかる時間がメモリチップ内部の処理にかかる時間によって隠蔽される結果、メモリシステムの転送効率が向上する。   In recent years, SSDs have improved transfer efficiency by driving a plurality of memory chips in parallel. One method of parallel operation is a technique (bank interleaving) in which a plurality of memory chips connected to the same channel are interleaved in units of banks. According to bank interleaving, the time taken to transfer data (including command, address, read data, write data) between the data transfer device and the memory chip is concealed by the time taken for processing inside the memory chip, The transfer efficiency of the memory system is improved.

特開2011−18222号公報JP 2011-18222 A

本発明の一つの実施形態は、できるだけ転送効率がよいメモリシステムを提供することを目的とする。   An object of one embodiment of the present invention is to provide a memory system with as high a transfer efficiency as possible.

本発明の一つの実施形態によれば、メモリシステムは、メモリチップと、命令生成部と、メモリ制御部とを備える。メモリチップは、不揮発性のメモリセルアレイを備え、複数のバンクを構成する。命令生成部は、ホスト装置からの要求に基づいてバンク毎に複数のメモリアクセス命令を生成する。メモリ制御部は、前記複数のメモリアクセス命令の夫々に対応するバンクにメモリアクセスをメモリアクセス命令毎に実行する。前記複数のバンクの夫々に対するメモリアクセスは、実行完了の直後にメモリアクセス対象のバンクにバンク内処理を実行せしめる第1コマンドシーケンスと、前記バンク内処理の実行完了後に実行せしめられる第2コマンドシーケンスと、を備える。第1コマンドシーケンスおよび第2コマンドシーケンスは、ともに単一のバンクに対して排他的に実行されるコマンドシーケンスである。ここで、前記メモリ制御部は、前記複数のバンクのうちの第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスとi+1番目のメモリアクセス命令にかかる第1コマンドシーケンスとを連続して実行した後で、かつ、前記第1のバンクがバンク内処理を実行している最中に、第2のバンクに対するメモリアクセスの実行を開始する。前記i+1番目のメモリアクセス命令は、連続した実行を許可するか非許可するかを示すフラグ情報を備える。前記フラグ情報が許可を示す場合には、前記メモリ制御部は、前記第1のバンクに対して前記i番目のメモリアクセス命令にかかる第2コマンドシーケンスと前記i+1番目のメモリアクセス命令にかかる第1コマンドシーケンスとを連続して実行した後で、かつ、前記第1のバンクがバンク内処理を実行している最中に、前記第2のバンクに対する第1コマンドシーケンスの実行を開始する。前記フラグ情報が非許可を示す場合には、前記メモリ制御部は、前記第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスを実行した後に、前記i+1番目のメモリアクセス命令にかかる第1コマンドシーケンスの実行を開始せずに、前記第2のバンクに対する第1コマンドシーケンスまたは第2コマンドシーケンスの実行を開始する。 According to one embodiment of the present invention, a memory system includes a memory chip, an instruction generation unit, and a memory control unit. The memory chip includes a nonvolatile memory cell array and constitutes a plurality of banks. The instruction generation unit generates a plurality of memory access instructions for each bank based on a request from the host device. The memory control unit executes a memory access for each memory access instruction in a bank corresponding to each of the plurality of memory access instructions. Memory access to each of the plurality of banks includes a first command sequence for causing the bank to be accessed to execute in-bank processing immediately after completion of execution, and a second command sequence to be executed after completion of execution of the in-bank processing. . Both the first command sequence and the second command sequence are command sequences executed exclusively on a single bank. Here, the memory control unit performs a second command sequence related to the i-th memory access instruction and a first command sequence related to the i + 1-th memory access instruction with respect to the first bank of the plurality of banks. The memory access to the second bank is started after the continuous execution and while the first bank is executing the in-bank processing. The (i + 1) th memory access instruction includes flag information indicating whether continuous execution is permitted or not. When the flag information indicates permission, the memory control unit performs the second command sequence relating to the i-th memory access instruction and the first instruction relating to the i + 1-th memory access instruction with respect to the first bank. The execution of the first command sequence for the second bank is started after the command sequence is continuously executed and while the first bank is executing the in-bank processing. When the flag information indicates non-permission, the memory control unit executes the second command sequence related to the i-th memory access instruction for the first bank, and then executes the i + 1-th memory access instruction. The execution of the first command sequence or the second command sequence for the second bank is started without starting the execution of the first command sequence.

図1は、本発明の第1の実施形態のメモリシステムが適用されたSSDの構成を説明する図である。FIG. 1 is a diagram for explaining the configuration of an SSD to which the memory system according to the first embodiment of the present invention is applied. 図2は、NANDコントローラとNANDメモリとの間の接続関係をさらに詳しく説明する図である。FIG. 2 is a diagram for explaining the connection relationship between the NAND controller and the NAND memory in more detail. 図3は、メモリチップの構成を説明する図である。FIG. 3 is a diagram illustrating the configuration of the memory chip. 図4は、I/OおよびRy/Byの状態遷移を説明する概念図である。FIG. 4 is a conceptual diagram illustrating state transitions of I / O and Ry / By. 図5−1は、コマンドシーケンスの一例を説明する図である。FIG. 5A is a diagram illustrating an example of a command sequence. 図5−2は、コマンドシーケンスの一例を説明する図である。FIG. 5B is a diagram illustrating an example of a command sequence. 図5−3は、コマンドシーケンスの一例を説明する図である。FIG. 5C is a diagram illustrating an example of a command sequence. 図6は、比較例および第1の実施形態を適用した場合の夫々において、連続してリードが実行される場合の各バンクの動作時間を説明するタイミングチャートである。FIG. 6 is a timing chart for explaining the operation time of each bank when the read is continuously executed in each of the cases where the comparative example and the first embodiment are applied. 図7は、NANDコントローラが備えるチャネル毎のコントローラの構成を説明する図である。FIG. 7 is a diagram illustrating the configuration of the controller for each channel provided in the NAND controller. 図8は、MPUの動作を説明するフローチャートである。FIG. 8 is a flowchart for explaining the operation of the MPU. 図9は、NANDコントローラが備えるチャネル毎のコントローラの動作を説明するフローチャートである。FIG. 9 is a flowchart for explaining the operation of the controller for each channel included in the NAND controller. 図10は、比較例および第1の実施形態を適用した場合の夫々において、連続してライトが実行される場合の各バンクの動作時間を説明するタイミングチャートである。FIG. 10 is a timing chart for explaining the operation time of each bank when the write is successively executed in each of the cases where the comparative example and the first embodiment are applied. 図11は、比較例および第1の実施形態を適用した場合の夫々において、連続してイレースが実行される場合の各バンクの動作時間を説明するタイミングチャートである。FIG. 11 is a timing chart for explaining the operation time of each bank in the case where the erase is continuously executed in each of the cases where the comparative example and the first embodiment are applied. 図12−1は、比較例および第1の実施形態を適用した場合の夫々において、バンク毎のメモリアクセスのアクセスモードがランダムに構成されたときの各バンクの動作時間を説明するタイミングチャートである。FIG. 12A is a timing chart for explaining the operation time of each bank when the memory access access mode for each bank is randomly configured in each of the cases of applying the comparative example and the first embodiment. . 図12−2は、比較例および第1の実施形態を適用した場合の夫々において、バンク毎のメモリアクセスのアクセスモードがランダムに構成されたときの各バンクの動作時間を説明するタイミングチャートである。FIG. 12-2 is a timing chart for explaining the operation time of each bank when the memory access access mode for each bank is randomly configured in each of the cases of applying the comparative example and the first embodiment. . 図12−3は、比較例および第1の実施形態を適用した場合の夫々において、バンク毎のメモリアクセスのアクセスモードがランダムに構成されたときの各バンクの動作時間を説明するタイミングチャートである。FIG. 12C is a timing chart for explaining the operation time of each bank when the access mode of the memory access for each bank is randomly configured in each of the cases where the comparative example and the first embodiment are applied. . 図13は、第1の実施形態のSSDを搭載したパーソナルコンピュータの一例を示す斜視図である。FIG. 13 is a perspective view illustrating an example of a personal computer equipped with the SSD according to the first embodiment. 図14は、SSDを搭載したパーソナルコンピュータのシステム構成例を示している。FIG. 14 shows a system configuration example of a personal computer equipped with an SSD.

以下に添付図面を参照して、実施形態にかかるメモリシステムおよびバンクインターリーブ方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。   Hereinafter, a memory system and a bank interleaving method according to embodiments will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments.

(第1の実施形態)
図1は、本発明の第1の実施形態のメモリシステムが適用されたSSDの構成を説明する図である。
(First embodiment)
FIG. 1 is a diagram for explaining the configuration of an SSD to which the memory system according to the first embodiment of the present invention is applied.

SSD100は、パーソナルコンピュータなどのホスト装置200とシリアルインターフェースであるSATA(Serial Advanced Technology Attachment)規格に準拠した通信インタフェースで接続され、ホスト装置200の外部記憶装置として機能する。なお、SSD100とホスト装置200との間の通信インタフェースの規格として、SATA以外の規格を採用することができる。例えば、SAS(Serial Attached SCSI)規格やPCI(Peripheral Components Interconnect) Express規格を採用することができる。   The SSD 100 is connected to a host device 200 such as a personal computer via a communication interface that conforms to a SATA (Serial Advanced Technology Attachment) standard that is a serial interface, and functions as an external storage device of the host device 200. Note that a standard other than SATA can be adopted as a standard for a communication interface between the SSD 100 and the host device 200. For example, a SAS (Serial Attached SCSI) standard or a PCI (Peripheral Components Interconnect) Express standard can be adopted.

SSD100は、ホスト装置200からリード/ライトされるデータを記憶する不揮発性メモリであるNANDメモリ1と、SSD100のデータ転送制御を実行するデータ転送装置2と、該データ転送装置2がデータ転送のための転送データを一時格納するためのメモリであるRAM(Random Access Memory)3と、を備えている。RAM3は、NANDメモリ1のデータキャッシュメモリとして機能し、例えば、DRAM(Dynamic Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)などを採用することができる。   The SSD 100 includes a NAND memory 1 that is a nonvolatile memory that stores data read / written from the host device 200, a data transfer device 2 that executes data transfer control of the SSD 100, and the data transfer device 2 for data transfer. A RAM (Random Access Memory) 3 which is a memory for temporarily storing the transfer data. The RAM 3 functions as a data cache memory of the NAND memory 1, and for example, DRAM (Dynamic Random Access Memory), FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetic Resistive Random Access) can be adopted.

データ転送装置2は、さらに、MPU(命令生成部)4と、SATAコントローラ5と、RAMコントローラ6と、NANDコントローラ7と、を備えている。MPU4、SATAコントローラ5、RAMコントローラ6およびNANDコントローラ7は、夫々バスに接続されている。   The data transfer device 2 further includes an MPU (instruction generation unit) 4, a SATA controller 5, a RAM controller 6, and a NAND controller 7. The MPU 4, the SATA controller 5, the RAM controller 6, and the NAND controller 7 are each connected to a bus.

MPU4は、ファームウェアを実行することによって、データ転送装置2全体の制御を実行する。SATAコントローラ5は、ホスト装置200とRAM3との間のデータ転送の制御を実行する。RAMコントローラ6は、RAM3に対するデータのリード/ライトを制御する。NANDコントローラ7は、NANDメモリ1のリード/ライト制御およびNANDメモリ1とRAM3との間のデータ転送の制御を実行する。   The MPU 4 executes control of the entire data transfer apparatus 2 by executing the firmware. The SATA controller 5 executes control of data transfer between the host device 200 and the RAM 3. The RAM controller 6 controls reading / writing of data with respect to the RAM 3. The NAND controller 7 executes read / write control of the NAND memory 1 and control of data transfer between the NAND memory 1 and the RAM 3.

NANDメモリ1は、複数個(ここでは2個)の並列動作要素1a、1bによって構成されている。並列動作要素1a、1bは、夫々個別にNANDコントローラ7に接続されている。具体的には、並列動作要素1aは、チャネル(ch)0の配線で、並列動作要素1bはch1の配線で、夫々NANDインタフェース7に接続されている。各並列動作要素1a、1bは、バンクインターリーブが可能な複数のバンク(図1では2バンク、バンク0およびバンク1)によって構成されている。チャネル並列動作要素1a、1b内の各々のバンクは、夫々1つのメモリチップによって構成されている。即ち、メモリチップ10はバンク0、メモリチップ11はバンク1を構成している。なお、夫々のバンクは、複数個のメモリチップにより構成される場合もある。   The NAND memory 1 includes a plurality (two in this case) of parallel operation elements 1a and 1b. The parallel operation elements 1 a and 1 b are individually connected to the NAND controller 7. Specifically, the parallel operation element 1a is connected to the NAND interface 7 through the channel (ch) 0 wiring, and the parallel operation element 1b is connected through the ch1 wiring. Each parallel operation element 1a, 1b is constituted by a plurality of banks (two banks, bank 0 and bank 1 in FIG. 1) capable of bank interleaving. Each bank in the channel parallel operation elements 1a and 1b is constituted by one memory chip. That is, the memory chip 10 constitutes bank 0 and the memory chip 11 constitutes bank 1. Each bank may be composed of a plurality of memory chips.

図2は、NANDコントローラ7とNANDメモリ1との間の接続関係をさらに詳しく説明する図である。NANDコントローラ7は、並列動作要素1aを制御するch0コントローラ(メモリ制御部)70と、並列動作要素1bを制御するch1コントローラ(メモリ制御部)71とを備えている。ch0コントローラ70は、1つのI/O信号線(I/O)を備えている。このI/Oには、並列動作要素1aが備えるメモリチップ10、11が共通接続されている。また、ch0コントローラ70は、メモリチップ10、11の夫々と、チップイネーブル信号(CE)およびレディービジー信号(Ry/By)で個別に接続されている。これにより、ch0コントローラ70は、CEを個別に操作することによってアクセス先のバンクを指定することができる。また、Ry/Byの状態を確認することによって、バンクの動作中/非動作中を認識することができる。なお、ch1コントローラ71と並列動作要素1bが備えるメモリチップ10、11との間の接続関係は、ch0コントローラ70と並列動作要素1aが備えるメモリチップ10、11との間の接続関係と同様であるので、重複する説明を省略する。   FIG. 2 is a diagram for explaining the connection relationship between the NAND controller 7 and the NAND memory 1 in more detail. The NAND controller 7 includes a ch0 controller (memory control unit) 70 that controls the parallel operation element 1a and a ch1 controller (memory control unit) 71 that controls the parallel operation element 1b. The ch0 controller 70 includes one I / O signal line (I / O). Memory chips 10 and 11 included in the parallel operation element 1a are commonly connected to this I / O. The ch0 controller 70 is individually connected to each of the memory chips 10 and 11 by a chip enable signal (CE) and a ready / busy signal (Ry / By). As a result, the ch0 controller 70 can designate the bank to be accessed by individually operating the CE. Further, by confirming the state of Ry / By, it is possible to recognize whether the bank is operating / not operating. The connection relationship between the ch1 controller 71 and the memory chips 10 and 11 included in the parallel operation element 1b is the same as the connection relationship between the ch0 controller 70 and the memory chips 10 and 11 included in the parallel operation element 1a. Therefore, the overlapping description is omitted.

図3は、メモリチップ10、11の構成を説明する図である。なお、メモリチップ10およびメモリチップ11は同じ構成を備えているので、ここでは代表としてメモリチップ10について説明する。   FIG. 3 is a diagram illustrating the configuration of the memory chips 10 and 11. Since the memory chip 10 and the memory chip 11 have the same configuration, the memory chip 10 will be described as a representative here.

メモリチップ10は、メモリセルアレイ115及びその周辺回路を備える。メモリセルアレイ115は、複数のブロックBLOCK1-BLOCKnを備えて構成されている。各ブロックの構成は、複数のメモリセルトランジスタMC、ワード線WL、ビット線BL等を含むものである。各ブロック中のメモリセルトランジスタMC中のデータは、一括して消去される。メモリセルトランジスタ単位及びページ単位でのデータ消去はできない。すなわち、個々のブロックが最小の消去単位となる。   The memory chip 10 includes a memory cell array 115 and its peripheral circuits. The memory cell array 115 includes a plurality of blocks BLOCK1-BLOCKn. Each block includes a plurality of memory cell transistors MC, a word line WL, a bit line BL, and the like. Data in the memory cell transistors MC in each block is erased collectively. Data erasure cannot be performed in memory cell transistor units or page units. That is, each block is the minimum erase unit.

周辺回路は、センスアンプ114、入出力制御回路104、ロジックコントロール回路105等を備える。   The peripheral circuit includes a sense amplifier 114, an input / output control circuit 104, a logic control circuit 105, and the like.

センスアンプ114は、ビット線BLを介してメモリセルアレイ115内のメモリセル(メモリセルトランジスタMC)のデータを読み出し、ビット線BLを介してメモリセルアレイ115内のメモリセルの状態を検出する。   The sense amplifier 114 reads the data of the memory cell (memory cell transistor MC) in the memory cell array 115 via the bit line BL, and detects the state of the memory cell in the memory cell array 115 via the bit line BL.

データキャッシュ113は、センスアンプ114から読み出されたデータまたはセンスアンプ114に供給されるデータを一時的に保持する。   The data cache 113 temporarily holds data read from the sense amplifier 114 or data supplied to the sense amplifier 114.

カラムデコーダ112は、メモリチップ10の外部からI/Oを介して供給されたアドレス信号に基づいて、特定のビット線BL、センスアンプ等を選択する。   The column decoder 112 selects a specific bit line BL, sense amplifier, and the like based on an address signal supplied from the outside of the memory chip 10 via the I / O.

カラムアドレスバッファ111は、アドレス信号を一時的に保持し、カラムデコーダ112に供給する。   The column address buffer 111 temporarily holds an address signal and supplies it to the column decoder 112.

ロウアドレスデコーダ116は、データ読み出し、書き込み、あるいは消去に必要な種々の電圧を電圧生成回路106から受け取り、そのような電圧をアドレス信号に基づいて特定のワード線WLに印加する。   The row address decoder 116 receives various voltages necessary for data reading, writing, or erasing from the voltage generation circuit 106 and applies such voltages to a specific word line WL based on an address signal.

ロウアドレスバッファデコーダ117は、アドレス信号を一時的に保持し、ロウアドレスデコーダ116に供給する。   The row address buffer decoder 117 temporarily holds an address signal and supplies it to the row address decoder 116.

電圧生成回路106は、基準電源電圧VSS、VCC、電圧VSSQ、VCCQ等を受け取り、これらからデータ書き込み、読み出し、消去等に必要な電圧を生成する。   The voltage generation circuit 106 receives reference power supply voltages VSS, VCC, voltages VSSQ, VCCQ, and the like, and generates voltages necessary for data writing, reading, erasing, and the like from these.

入出力制御回路104は、IO端子を介して、メモリチップ10の動作を制御する種々のコマンド、アドレス信号、書き込みデータを受け取り、また読み出しデータを出力する。入出力制御回路104から出力されたアドレス信号は、アドレスレジスタ102によってラッチされる。ラッチされたアドレス信号は、カラムアドレスバッファ111及びロウアドレスバッファデコーダ117に供給される。入出力制御回路104から出力されたコマンドは、コマンドレジスタ103によってラッチされる。ステータスレジスタ101は、入出力制御回路104のための種々のステータスについての値を保持する。   The input / output control circuit 104 receives various commands, address signals, and write data for controlling the operation of the memory chip 10 via the IO terminal, and outputs read data. The address signal output from the input / output control circuit 104 is latched by the address register 102. The latched address signal is supplied to the column address buffer 111 and the row address buffer decoder 117. The command output from the input / output control circuit 104 is latched by the command register 103. The status register 101 holds values for various statuses for the input / output control circuit 104.

メモリチップ10は、外部インターフェイス(NAND I/F)として、コマンド、アドレス、データ入出力用のIO端子、動作を制御するための種々の制御信号を外部から受け取る。制御信号には、例えばCE、コマンドラッチイネーブル(CLE)、アドレスラッチイネーブル(ALE)、リードイネーブル(RE及び/RE)、ライトイネーブル(WE及び/WE)、ライトプロテクト(WP)、クロック(DQS、/DQS)が含まれる。なお、CLE、ALE、RE、/RE、WE、/WE、WP、DQS、および/DQSは、CEやRy/Byと同様に、ch0コントローラ70と一対一で接続されている。   As an external interface (NAND I / F), the memory chip 10 receives commands, addresses, IO terminals for data input / output, and various control signals for controlling operations from the outside. For example, CE, command latch enable (CLE), address latch enable (ALE), read enable (RE and / RE), write enable (WE and / WE), write protect (WP), clock (DQS, / DQS). Note that CLE, ALE, RE, / RE, WE, / WE, WP, DQS, and / DQS are connected to the ch0 controller 70 on a one-to-one basis, similar to CE and Ry / By.

これらの制御信号は、対応する端子において受け取られ、ロジックコントロール回路105に供給される。ロジックコントロール回路105は、制御信号に基づいて、入出力制御回路104を制御して、端子IO上の信号をコマンド、アドレス、またはデータとして入出力制御回路104を介してアドレスレジスタ102、コマンドレジスタ103、データキャッシュ113等に到達することを許可したり禁止したりする。また、ロジックコントロール回路105は、コマンドレジスタ103から、ラッチされたコマンドを受け取る。   These control signals are received at corresponding terminals and supplied to the logic control circuit 105. The logic control circuit 105 controls the input / output control circuit 104 based on the control signal, and the address register 102 and the command register 103 via the input / output control circuit 104 using the signal on the terminal IO as a command, address, or data. The access to the data cache 113 or the like is permitted or prohibited. The logic control circuit 105 receives the latched command from the command register 103.

制御信号のうち、WE端子はデータ入力用クロックを供給し、RE端子はデータ出力用クロックを供給し、DQS端子はデータ入出力用クロックを伝送し、CLE端子はデータ入力をコマンドとして入力するイネーブル用であり、ALE端子はデータ入力をアドレスとして入力するイネーブル用であり、CE端子はデータ入出力等全般の機能を有効化するためである。   Among the control signals, the WE terminal supplies a data input clock, the RE terminal supplies a data output clock, the DQS terminal transmits a data input / output clock, and the CLE terminal enables data input as a command. The ALE terminal is used for enabling data input as an address, and the CE terminal is used for enabling general functions such as data input / output.

また、Ry/By端子はメモリチップ10の内部動作状態を示し、WP端子は誤書き込み防止用の書き込み防止信号を伝送し、Vcc/Vss/Vccq/Vssq端子等は電力供給用である。また、本実施形態では、高速インタフェースにてデータ伝送を実現する際に利用される端子(Toggle)として、RE端子、WE端子、DQS端子には、各々相補信号を伝送する/RE端子、/WE端子、/DQS端子が存在する。   The Ry / By terminal indicates an internal operation state of the memory chip 10, the WP terminal transmits a write prevention signal for preventing erroneous writing, and the Vcc / Vss / Vccq / Vssq terminals and the like are for supplying power. Further, in this embodiment, as terminals (Toggle) used when data transmission is realized by a high-speed interface, the RE terminal, the WE terminal, and the DQS terminal respectively transmit complementary signals to the / RE terminal and / WE. Terminal, / DQS terminal exists.

なお、ロジックコントロール回路105は、レディ/ビジー信号(Ry/By)の出力を司る。具体的には、ロジックコントロール回路105は、メモリチップ10がビジー状態の間、ビジー信号を出力する。   The logic control circuit 105 controls the output of a ready / busy signal (Ry / By). Specifically, the logic control circuit 105 outputs a busy signal while the memory chip 10 is busy.

レディ/ビジー回路(RY/BY)107は、ロジックコントロール回路105の制御を受けて、スイッチトランジスタを介して、Ry/By信号をメモリチップ10の外部に通知する。   The ready / busy circuit (RY / BY) 107 receives the control of the logic control circuit 105 and notifies the Ry / By signal to the outside of the memory chip 10 via the switch transistor.

図4は、並列動作要素1aに属するメモリチップ10に対するメモリアクセスが実行される際のch0コントローラ70とメモリチップ10とを接続するI/OおよびRy/By0の状態遷移を説明する概念図である。本図の上段は、I/Oの状態遷移、下段はRy/By0の状態遷移を示している。なお、HiのRy/By0はRy状態を示し、LowのRy/ByはBy状態を示すものとする。図示するように、メモリチップ10に対するメモリアクセスは、第1コマンドシーケンス21と第2コマンドシーケンス22とを含んで構成される。第1コマンドシーケンス21が実行完了すると、メモリチップ10は、内部で、第1コマンドシーケンス21に対応する内部処理(バンク内処理)23を実行する。メモリチップ10は、内部処理を実行している最中には、Ry/ByをLowに遷移せしめる。第1コマンドシーケンス21および第2コマンドシーケンス22が夫々どのようなコマンドによって構成されるかは、アクセスモード(リード、ライト、イレース)毎に予め定められている。   FIG. 4 is a conceptual diagram illustrating state transitions of I / O and Ry / By0 that connect the ch0 controller 70 and the memory chip 10 when a memory access to the memory chip 10 belonging to the parallel operation element 1a is executed. . The upper part of the figure shows the I / O state transition, and the lower part shows the Ry / By0 state transition. Note that Hi Ry / By0 indicates the Ry state, and Low Ry / By indicates the By state. As shown in the figure, memory access to the memory chip 10 includes a first command sequence 21 and a second command sequence 22. When the execution of the first command sequence 21 is completed, the memory chip 10 internally executes an internal process (in-bank process) 23 corresponding to the first command sequence 21. The memory chip 10 changes Ry / By to Low during execution of internal processing. It is predetermined for each access mode (read, write, erase) what kind of commands each of the first command sequence 21 and the second command sequence 22 is configured.

図5−1〜図5−3は、コマンドシーケンスの一例を説明する図である。図5−1はリードを実行するためのコマンドシーケンスを示している。リードモードにおいては、ch0コントローラ70は、メモリチップ10に対し、アクセスモードがリードであることを示すリードコマンドC0と、リードアドレス(adr)と、リードデータ準備コマンドC1とを順次発行する。リードコマンドC0、リードアドレス、およびリードデータ準備コマンドC1は、リードを実行するための第1コマンドシーケンス21を構成する。メモリチップ10は、リードデータ準備コマンドC1を受信すると、メモリセルアレイ115におけるリードアドレスにより指定された位置からリードデータを読み出して、読み出したリードデータをデータキャッシュ113に格納する。なお、このメモリチップ10による内部処理をリードデータ準備処理ということとする。メモリチップ10は、リードデータ準備処理を実行中の期間(tR)だけ、Ry/By0をByに遷移せしめる。   5A to 5C are diagrams for explaining an example of the command sequence. FIG. 5A shows a command sequence for executing a read. In the read mode, the ch0 controller 70 sequentially issues to the memory chip 10 a read command C0 indicating that the access mode is read, a read address (adr), and a read data preparation command C1. The read command C0, the read address, and the read data preparation command C1 constitute a first command sequence 21 for executing a read. When the memory chip 10 receives the read data preparation command C 1, the memory chip 10 reads the read data from the position specified by the read address in the memory cell array 115 and stores the read data in the data cache 113. The internal processing by the memory chip 10 is referred to as read data preparation processing. The memory chip 10 changes Ry / By0 to By only during the period (tR) during which the read data preparation process is being executed.

リードデータ準備処理が完了したことによってメモリチップ10がRy/By0をRyに遷移せしめると、ch0コントローラ70は、メモリチップ10にデータ転送コマンドC2を入力し、データ転送コマンドC2を受信したメモリチップ10は、データキャッシュ113上のリードデータ(data)をI/Oに確保されたデータ転送用の帯域幅毎に区切ってメモリチップ10に逐次送信する。なお、データの送信は、具体的には、ch0コントローラ70がREをトグルし、メモリチップ10は、REに同期して入出力制御回路104が有するバッファをデータ転送用の帯域幅毎のリードデータで更新することによって実現される。ch0コントローラ70は、DQSをラッチ信号として用いてリードデータをラッチする。データ転送コマンドC2およびREのトグル処理は、リードを実行するための第2コマンドシーケンス22を構成する。   When the memory chip 10 shifts Ry / By0 to Ry due to the completion of the read data preparation process, the ch0 controller 70 inputs the data transfer command C2 to the memory chip 10 and receives the data transfer command C2. Divides the read data (data) on the data cache 113 for each data transfer bandwidth secured in the I / O, and sequentially transmits it to the memory chip 10. Specifically, for the data transmission, the ch0 controller 70 toggles the RE, and the memory chip 10 reads the buffer of the input / output control circuit 104 in synchronization with the RE for each bandwidth for data transfer. It is realized by updating with. The ch0 controller 70 latches the read data using DQS as a latch signal. The toggle processing of the data transfer commands C2 and RE constitutes a second command sequence 22 for executing a read.

図5−2は、ライトを実行するためのコマンドシーケンスを示している。ライトモードにおいては、ch0コントローラ70は、アクセスモードがライトモードであることを示すライトコマンドC3と、ライトアドレス(adr)と、ライトデータ(data)と、プログラム処理開始コマンドC4と、をメモリチップ10に送信する。メモリチップ10は、送られてきたライトデータをデータキャッシュ113に格納する。そして、メモリチップ10は、プログラム処理開始コマンドC4を受信すると、データキャッシュ113に格納されたライトデータをメモリセルアレイ115におけるライトアドレスにより指定されたページにプログラムし、プログラムされたリードデータをベリファイする。なお、このメモリチップ10による内部処理をプログラム処理ということとする。メモリチップ10は、プログラム処理を実行中の期間(tProg)だけ、Ry/By0をByに遷移せしめる。   FIG. 5B shows a command sequence for executing the write. In the write mode, the ch0 controller 70 sends the write command C3 indicating that the access mode is the write mode, the write address (adr), the write data (data), and the program processing start command C4 to the memory chip 10. Send to. The memory chip 10 stores the sent write data in the data cache 113. When the memory chip 10 receives the program processing start command C4, the memory chip 10 programs the write data stored in the data cache 113 into the page specified by the write address in the memory cell array 115, and verifies the programmed read data. The internal processing by the memory chip 10 is referred to as program processing. The memory chip 10 changes Ry / By0 to By only during a period (tProg) during which program processing is being executed.

プログラム処理が完了したことによってメモリチップ10がRy/By0をRyに遷移せしめると、ch0コントローラ70は、メモリチップ10にステータスリードコマンドC5を送信するとともに、REをトグルする。メモリチップ10は、REを使用して、プログラム処理が成功したか否かを示すステータス情報(status)を入出力制御回路104のバッファに格納する。ch0コントローラ70は、バッファに格納されたステータス情報を読み、プログラム処理の完了/非完了を認識する。ステータスリードコマンドC5およびステータス情報をバッファに用意せしめるためのREのトグル処理は、ライトを実行するための第2コマンドシーケンス22を構成する。   When the memory chip 10 transitions Ry / By0 to Ry due to the completion of the program processing, the ch0 controller 70 transmits a status read command C5 to the memory chip 10 and toggles RE. The memory chip 10 uses the RE to store status information (status) indicating whether the program processing has been successful in the buffer of the input / output control circuit 104. The ch0 controller 70 reads the status information stored in the buffer and recognizes the completion / non-completion of the program processing. The RE toggle process for preparing the status read command C5 and the status information in the buffer constitutes the second command sequence 22 for executing the write.

図5−3は、イレースを実行するためのコマンドシーケンスを示している。イレースモードにおいては、ch0コントローラ70は、アクセスモードがイレースモードであることを示すイレースコマンドC6と、イレースアドレス(adr)と、イレース処理開始コマンドC7とをメモリチップ10に送信する。イレースコマンドC5、イレースアドレス、イレース処理開始コマンドC7は、イレースを実行するための第1コマンドシーケンス21を構成する。メモリチップ10は、イレース処理開始コマンドC7を受信すると、イレースアドレスにより指定されたブロックをイレースするイレース処理を実行する。メモリチップ10は、プログラム処理を実行中の期間(tErase)だけ、Ry/By0をByに遷移せしめる。   FIG. 5C shows a command sequence for executing erase. In the erase mode, the ch0 controller 70 transmits an erase command C6 indicating that the access mode is the erase mode, an erase address (adr), and an erase process start command C7 to the memory chip 10. The erase command C5, the erase address, and the erase process start command C7 constitute a first command sequence 21 for executing erase. When receiving the erase process start command C7, the memory chip 10 executes an erase process for erasing the block specified by the erase address. The memory chip 10 causes Ry / By0 to transition to By only during a period during which program processing is being executed (tErase).

イレース処理が完了したことによってメモリチップ10がRy/By0をRyに遷移せしめると、ch0コントローラ70は、ライトモード時と同じように、ステータスリードコマンドC5をメモリチップ10に送信し、メモリチップ10は、ステータス情報(status)をch0コントローラ70に送信する。ステータスリードコマンドC5およびステータス情報をバッファに用意せしめるためのREのトグル処理は、イレースを実行するための第2コマンドシーケンス22を構成する。   When the memory chip 10 changes Ry / By0 to Ry due to the completion of the erase process, the ch0 controller 70 transmits a status read command C5 to the memory chip 10 as in the write mode, and the memory chip 10 The status information (status) is transmitted to the ch0 controller 70. The RE toggle process for preparing the status read command C5 and the status information in the buffer constitutes a second command sequence 22 for executing the erase.

ここで、本発明の実施形態と比較される技術(以降、比較例)によれば、ch0コントローラ70は、第2コマンドシーケンス22の実行が完了したタイミングをバンク切り替えのタイミングとしてバンクインターリーブを実行する。これに対して、本発明の実施形態では、ch0コントローラ70は、あるバンクに対する第2コマンドシーケンス22を実行した後、同一のバンクに対する次のメモリアクセスにかかる第1コマンドシーケンス21を連続して実行し、第1コマンドシーケンス21が完了したタイミングをバンク切り替えのタイミングとする。例えば、メモリチップ10に対する第1コマンドシーケンス21が完了した後、メモリチップ10において第1コマンドシーケンス21に対応する内部処理23が開始されるが、ch0コントローラ70は、この内部処理が実行されている最中に、メモリチップ11に対して第1コマンドシーケンス21の実行を開始することができる。   Here, according to the technique compared to the embodiment of the present invention (hereinafter referred to as a comparative example), the ch0 controller 70 executes bank interleaving using the timing at which the execution of the second command sequence 22 is completed as the bank switching timing. . On the other hand, in the embodiment of the present invention, the ch0 controller 70 continuously executes the first command sequence 21 related to the next memory access to the same bank after executing the second command sequence 22 for a certain bank. The timing at which the first command sequence 21 is completed is set as the bank switching timing. For example, after the first command sequence 21 for the memory chip 10 is completed, the internal processing 23 corresponding to the first command sequence 21 is started in the memory chip 10, and the ch0 controller 70 is executing this internal processing. In the middle, execution of the first command sequence 21 on the memory chip 11 can be started.

図6は、比較例にかかるバンクインターリーブ方法を実行した場合と第1の実施形態にかかるバンクインターリーブ方法を実行した場合の夫々において、連続してリードが実行される場合の各バンクの動作時間を説明するタイミングチャートである。この図の例においては、バンク0、1の夫々に対し、2回のリードが実行されている。リードモードにおいては、第2コマンドシーケンス22は、リードデータの転送を含んでいるため、第1コマンドシーケンス21よりも長い時間を必要とする。比較例にかかるバンクインターリーブ方法は、一方のバンクにかかる第1コマンドシーケンス21の実行時間を他方のバンクにかかるリードデータ準備処理の実行時間(tR)とを重ねることで転送効率の向上を図っている。これに対して、第1の実施形態のバンクインターリーブ方法は、一方のバンクにかかる第2コマンドシーケンス22の実行時間と他方のバンクにかかるリードデータ準備処理の実行時間(tR)とを重ねることができる。その結果、バンク0、1の実行時間が、ともに、比較例に比べて短縮されている。即ち、第1の実施形態のバンクインターリーブ方法を実行することによって、比較例に比べて、バンク0およびバンク1の転送効率を共に向上せしめることができる。   FIG. 6 shows the operation time of each bank when the read is executed continuously in each of the case where the bank interleaving method according to the comparative example is executed and the case where the bank interleaving method according to the first embodiment is executed. It is a timing chart to explain. In the example of this figure, two reads are executed for each of the banks 0 and 1. In the read mode, the second command sequence 22 includes transfer of read data, and therefore requires a longer time than the first command sequence 21. In the bank interleaving method according to the comparative example, the execution time of the first command sequence 21 applied to one bank is overlapped with the execution time (tR) of the read data preparation process applied to the other bank to improve transfer efficiency. Yes. In contrast, in the bank interleaving method of the first embodiment, the execution time of the second command sequence 22 applied to one bank and the execution time (tR) of the read data preparation process applied to the other bank can be overlapped. it can. As a result, the execution times of the banks 0 and 1 are both shortened compared to the comparative example. That is, by executing the bank interleaving method of the first embodiment, both the transfer efficiency of the bank 0 and the bank 1 can be improved as compared with the comparative example.

図7は、ch0コントローラ70およびch1コントローラ71の構成を説明する図である。なお、ch0コントローラ70およびch1コントローラ71は共に同じ構成を備えているので、ここではch0コントローラ70について説明し、重複する説明を省略する。   FIG. 7 is a diagram illustrating the configuration of the ch0 controller 70 and the ch1 controller 71. Since both the ch0 controller 70 and the ch1 controller 71 have the same configuration, only the ch0 controller 70 will be described here, and a duplicate description will be omitted.

図示するように、ch0コントローラ70は、バンク0用キュー90、バンク1用キュー91、バンク制御部92、およびNANDインタフェース(I/F)制御部93を備えている。   As illustrated, the ch0 controller 70 includes a bank 0 queue 90, a bank 1 queue 91, a bank control unit 92, and a NAND interface (I / F) control unit 93.

バンク0用キュー90は、並列動作要素1aのバンク0に対する命令900が、バンク1用キュー91は、並列動作要素1aのバンク1に対する命令910が、夫々エンキューされる。キュー90、91にエンキューされる個々の命令900、910は、アクセスモードの指定およびアクセス先のアドレスの他に、第1の実施形態のバンクインターリーブを実行するか否かを指定する連続投入フラグ1000を備えている。なお、命令900、910は、MPU4によってホスト装置200からの要求に基づいて生成される。MPUは、生成した命令900、910をキュー90またはキュー91に振り分けて投入する。   In the bank 0 queue 90, the instruction 900 for the bank 0 of the parallel operation element 1a is enqueued, and in the bank 1 queue 91, the instruction 910 for the bank 1 of the parallel operation element 1a is enqueued. The individual instructions 900 and 910 enqueued in the queues 90 and 91 include a continuous input flag 1000 that specifies whether or not to execute the bank interleave of the first embodiment, in addition to the designation of the access mode and the address of the access destination. It has. The instructions 900 and 910 are generated by the MPU 4 based on a request from the host device 200. The MPU distributes the generated instructions 900 and 910 to the queue 90 or the queue 91 and inputs them.

バンク制御部92は、キュー切り替え部94および進捗管理部95を備えている。また、NAND I/F制御部93は、NANDコマンド生成部96およびコマンドシーケンス管理部97を備えている。   The bank control unit 92 includes a queue switching unit 94 and a progress management unit 95. The NAND I / F control unit 93 includes a NAND command generation unit 96 and a command sequence management unit 97.

キュー切り替え部94は、例えばデマルチプレクサによって構成される。キュー切り替え部94は、進捗管理部95からの選択信号に基づいて、進捗管理部95の接続先のキューをバンク0用のキュー90とバンク1用のキュー91との間で切り替える。   The queue switching unit 94 is configured by a demultiplexer, for example. The queue switching unit 94 switches the connection destination queue of the progress management unit 95 between the queue 90 for the bank 0 and the queue 91 for the bank 1 based on the selection signal from the progress management unit 95.

進捗管理部95は、キュー90、91に格納されている命令900、910の読み出し、消去、命令の有無の確認を行う。進捗管理部95は、アクセス先のキューを変更する際には、キュー切り替え部94に供給する選択信号を切り替える。進捗管理部95は、キュー90、91から読み出した命令900、910に基づいて、第1コマンドシーケンス21を示す第1識別子と第2コマンドシーケンス22を示す第2識別子とを生成し、生成した第1識別子および第2識別子を、順次、NANDコマンド生成部96に入力する。進捗管理部95は、バンク毎のRy/By信号と、コマンドシーケンス管理部97からのコマンドシーケンス完了信号と、キュー90、91に命令900、910が格納されているか否かの判断と、実行中の命令900、910に後続する命令900、910の連続投入フラグ1000とに基づいて、コマンドシーケンス毎の入力タイミングを調整する。   The progress management unit 95 reads and erases the instructions 900 and 910 stored in the queues 90 and 91, and checks the presence / absence of the instruction. The progress management unit 95 switches the selection signal supplied to the queue switching unit 94 when changing the access destination queue. The progress management unit 95 generates a first identifier indicating the first command sequence 21 and a second identifier indicating the second command sequence 22 based on the instructions 900 and 910 read from the queues 90 and 91, and generates the generated first identifier. The first identifier and the second identifier are sequentially input to the NAND command generation unit 96. The progress management unit 95 determines the Ry / By signal for each bank, the command sequence completion signal from the command sequence management unit 97, whether or not the instructions 900 and 910 are stored in the queues 90 and 91, and executing. The input timing for each command sequence is adjusted on the basis of the continuous input flag 1000 of the instructions 900 and 910 following the instructions 900 and 910.

NANDコマンド生成部96は、進捗管理部95から識別子が入力されたとき、入力された識別子に対応するコマンドシーケンスを生成し、生成したコマンドシーケンスをコマンドシーケンス管理部97に入力する。   When an identifier is input from the progress management unit 95, the NAND command generation unit 96 generates a command sequence corresponding to the input identifier, and inputs the generated command sequence to the command sequence management unit 97.

コマンドシーケンス管理部97は、入力されたコマンドシーケンスをメモリチップ10、1に送信する。コマンドシーケンスがリードデータの受信を伴う場合には、リードデータの受信も実行する。コマンドシーケンス管理部97は、入力されたコマンドシーケンスを実行完了すると、コマンドシーケンス完了信号を進捗管理部95に入力する。   The command sequence management unit 97 transmits the input command sequence to the memory chips 10 and 1. If the command sequence involves reception of read data, reception of read data is also executed. When the command sequence management unit 97 completes execution of the input command sequence, the command sequence management unit 97 inputs a command sequence completion signal to the progress management unit 95.

図8は、MPU4の動作を説明するフローチャートである。MPU4は、SATAコントローラ5がホスト装置200から要求(リード要求、ライト要求、イレース要求)を受信したか否かを判定する(ステップS1)。SATAコントローラ5が要求を受信していない場合には(ステップS1、No)、MPU4は、ステップS1の処理を再び実行する。SATAコントローラ5が要求を受信した場合(ステップS1、Yes)、MPU4は、SATAコントローラ5が受信した要求に応じた命令を生成し(ステップS2)、生成した命令をバンク0用キュー90およびバンク1用キュー91に振り分けて格納する(ステップS3)。そして、MPU4は、ステップS1の処理を再び実行する。   FIG. 8 is a flowchart for explaining the operation of the MPU 4. The MPU 4 determines whether or not the SATA controller 5 has received a request (read request, write request, erase request) from the host device 200 (step S1). When the SATA controller 5 has not received the request (No at Step S1), the MPU 4 executes the process at Step S1 again. When the SATA controller 5 receives the request (step S1, Yes), the MPU 4 generates an instruction corresponding to the request received by the SATA controller 5 (step S2), and the generated instruction is stored in the bank 0 queue 90 and the bank 1 The data is sorted and stored in the queue 91 (step S3). And MPU4 performs the process of step S1 again.

図9は、NANDコントローラ7が備えるチャネル毎のコントローラ70、71の動作を説明するフローチャートである。ch0コントローラ70およびch1コントローラ71は共に同じ構成を備えているので、ここではch0コントローラ70について説明し、重複する説明を省略する。   FIG. 9 is a flowchart for explaining the operation of the controllers 70 and 71 for each channel provided in the NAND controller 7. Since both the ch0 controller 70 and the ch1 controller 71 have the same configuration, only the ch0 controller 70 will be described here, and a duplicate description will be omitted.

まず、進捗管理部95は、キュー切り替え部94に入力する選択信号を操作して、バンク0用キュー90を選択する(ステップS11)。そして、進捗管理部95は、バンク0用キュー90に命令900があるか否かを判定する(ステップS12)。バンク0用キュー90に命令900がある場合(ステップS12、Yes)、その命令900が読み出し済みでない場合には、進捗管理部95は、その命令900を読み出して命令900に対応する第1識別子および第2識別子を生成しておく。   First, the progress management unit 95 operates the selection signal input to the queue switching unit 94 to select the bank 0 queue 90 (step S11). Then, the progress management unit 95 determines whether or not the instruction 900 is in the bank 0 queue 90 (step S12). When there is an instruction 900 in the bank 0 queue 90 (step S12, Yes), if the instruction 900 has not been read, the progress management unit 95 reads the instruction 900 and reads the first identifier corresponding to the instruction 900 and A second identifier is generated.

続いて、進捗管理部95は、Ry/By0がByを示しているか否かを判定する(ステップS13)。Ry/By0がByではなくRyを示している場合(ステップS13、No)、進捗管理部95は、メモリチップ10が第1コマンドシーケンス21を実行済みであるか否かを判定する(ステップS14)。メモリチップ10が第1コマンドシーケンス21を実行していない場合(ステップS14、No)、進捗管理部95は、メモリチップ10に第1コマンドシーケンス21を実行せしめる(ステップS15)。具体的には、進捗管理部95は、生成した第1識別子をNANDコマンド生成部96に入力し、NANDコマンド生成部96は入力された第1識別子に基づいて第1コマンドシーケンス21を生成する。コマンドシーケンス管理部97は、メモリチップ10に対し、NANDコマンド生成部96が生成した第1コマンドシーケンス21を実行し、第1コマンドシーケンス21の実行を完了すると、シーケンス実行完了信号を進捗管理部95に送信する。進捗管理部95は、第1識別子を送信した後にシーケンス実行完了信号を受信したか否かを判定することによって、第1コマンドシーケンス21が実行済みであるか否かを判定することができる。   Subsequently, the progress management unit 95 determines whether Ry / By0 indicates By (step S13). When Ry / By0 indicates Ry instead of By (step S13, No), the progress management unit 95 determines whether or not the memory chip 10 has executed the first command sequence 21 (step S14). . When the memory chip 10 does not execute the first command sequence 21 (step S14, No), the progress management unit 95 causes the memory chip 10 to execute the first command sequence 21 (step S15). Specifically, the progress management unit 95 inputs the generated first identifier to the NAND command generation unit 96, and the NAND command generation unit 96 generates the first command sequence 21 based on the input first identifier. The command sequence management unit 97 executes the first command sequence 21 generated by the NAND command generation unit 96 for the memory chip 10 and completes the execution of the first command sequence 21, and sends a sequence execution completion signal to the progress management unit 95. Send to. The progress management unit 95 can determine whether or not the first command sequence 21 has been executed by determining whether or not the sequence execution completion signal has been received after transmitting the first identifier.

メモリチップ10が第1コマンドシーケンス21を実行済みである場合(ステップS14、Yes)、進捗管理部95は、メモリチップ10に第2コマンドシーケンス22を実行せしめる(ステップS16)。具体的には、進捗管理部95は、生成した第2識別子をNANDコマンド生成部96に入力し、NANDコマンド生成部96は入力された第2識別子に基づいて第2コマンドシーケンス22を生成する。コマンドシーケンス管理部97は、メモリチップ10に対し、NANDコマンド生成部96が生成した第2コマンドシーケンス21を実行し、第2コマンドシーケンス21の実行を完了すると、シーケンス実行完了信号を進捗管理部95に送信する。進捗管理部95は、第2識別子を送信した後にシーケンス実行完了信号を受信したか否かを判定することによって、第1コマンドシーケンス21が実行済みであるか否かを判定することができる。   When the memory chip 10 has already executed the first command sequence 21 (step S14, Yes), the progress management unit 95 causes the memory chip 10 to execute the second command sequence 22 (step S16). Specifically, the progress management unit 95 inputs the generated second identifier to the NAND command generation unit 96, and the NAND command generation unit 96 generates the second command sequence 22 based on the input second identifier. The command sequence management unit 97 executes the second command sequence 21 generated by the NAND command generation unit 96 for the memory chip 10, and when the execution of the second command sequence 21 is completed, sends a sequence execution completion signal to the progress management unit 95. Send to. The progress management unit 95 can determine whether or not the first command sequence 21 has been executed by determining whether or not the sequence execution completion signal has been received after transmitting the second identifier.

進捗管理部95は、第2コマンドシーケンス22の実行が完了した後、バンク0用キュー90から、ステップS16の処理により実行済みとなった命令900を削除し(ステップS17)、別のキュー、即ちバンク1用キュー91に、命令910が存在するか否かを判定する(ステップS18)。ステップS18を実行する際には、進捗管理部95は、一時的にキュー切り替え部94にキューを切り替えさせる。バンク1用キュー91に命令910が存在する場合(ステップS18、Yes)、進捗管理部95は、バンク0用キュー90に次の命令900が存在するか否かを判定する(ステップS19)。   After the execution of the second command sequence 22 is completed, the progress management unit 95 deletes the instruction 900 that has been executed by the process of step S16 from the bank 0 queue 90 (step S17), and another queue, that is, It is determined whether or not the instruction 910 exists in the bank 1 queue 91 (step S18). When executing step S18, the progress management unit 95 causes the queue switching unit 94 to temporarily switch the queue. When the instruction 910 exists in the bank 1 queue 91 (step S18, Yes), the progress management unit 95 determines whether or not the next instruction 900 exists in the bank 0 queue 90 (step S19).

バンク0用キュー90に次の命令900が存在する場合(ステップS19、Yes)、進捗管理部95は、当該次の命令900の連続投入が許可されているか否かを判定する(ステップS20)。進捗管理部95は、前記次の命令900に付随している連続投入フラグ1000を確認することによって、命令900の連続投入が許可されているか否かを判定することができる。   When the next instruction 900 exists in the bank 0 queue 90 (step S19, Yes), the progress management unit 95 determines whether or not the next instruction 900 is continuously input (step S20). The progress management unit 95 can determine whether or not continuous input of the instruction 900 is permitted by checking a continuous input flag 1000 attached to the next instruction 900.

前記次の命令900の連続投入が許可されている場合(ステップS20、Yes)、進捗管理部95は、当該次の命令900を読み出して、この命令900に対応する第1識別子および第2識別子を生成しておく。そして、ステップS15の処理により、進捗管理部95は、前記次の命令900に対応する第1コマンドシーケンス21をメモリチップ10に実行せしめる。   When continuous input of the next instruction 900 is permitted (step S20, Yes), the progress management unit 95 reads the next instruction 900, and uses the first identifier and the second identifier corresponding to the instruction 900. Generate it. Then, through the process of step S15, the progress management unit 95 causes the memory chip 10 to execute the first command sequence 21 corresponding to the next instruction 900.

Ry/By0がByを示している場合(ステップS13、Yes)、バンク0用キュー90に命令900が存在しない場合(ステップS12、No)、バンク1用キュー91に命令910が存在しない場合(ステップS18、No)、バンク0用キュー90に命令900が存在しない場合(ステップS19、No)、前記次の命令900の連続投入が許可されていない場合(ステップS20、No)、またはステップS15の処理を完了した後、進捗管理部95は、バンク切り替え部94に供給している選択信号を切り替えて、バンク1用キュー91を選択する(ステップS21)。   When Ry / By0 indicates By (step S13, Yes), when the instruction 900 does not exist in the bank 0 queue 90 (step S12, No), when the instruction 910 does not exist in the bank 1 queue 91 (step S12) S18, No), when the instruction 900 does not exist in the bank 0 queue 90 (No at Step S19), when the next instruction 900 is not continuously input (No at Step S20), or the processing of Step S15 After completing the above, the progress management unit 95 switches the selection signal supplied to the bank switching unit 94 and selects the bank 1 queue 91 (step S21).

ステップS21の処理の後、進捗管理部95は、バンク1用キュー91に命令910があるか否かを判定する(ステップS22)。バンク1用キュー91に命令910がある場合(ステップS22、Yes)、その命令910が読み出し済みでない場合には、進捗管理部95は、その命令910を読み出して命令910に対応する第1識別子および第2識別子を生成しておく。   After the process of step S21, the progress management unit 95 determines whether or not there is an instruction 910 in the bank 1 queue 91 (step S22). If there is an instruction 910 in the bank 1 queue 91 (step S22, Yes), if the instruction 910 has not been read, the progress management unit 95 reads the instruction 910, and the first identifier corresponding to the instruction 910 and A second identifier is generated.

続いて、進捗管理部95は、Ry/By1がByを示しているか否かを判定する(ステップS23)。Ry/By1がByではなくRyを示している場合(ステップS23、No)、進捗管理部95は、メモリチップ11が第1コマンドシーケンス21を実行済みであるか否かを判定する(ステップS24)。メモリチップ10が第1コマンドシーケンス21を実行していない場合(ステップS24、No)、進捗管理部95は、メモリチップ1に第1コマンドシーケンス21を実行せしめる(ステップS25)。具体的には、進捗管理部95は、生成した第1識別子をNANDコマンド生成部96に入力し、NANDコマンド生成部96は入力された第1識別子に基づいて第1コマンドシーケンス21を生成する。コマンドシーケンス管理部97は、メモリチップ11に対し、NANDコマンド生成部96が生成した第1コマンドシーケンス21を実行し、第1コマンドシーケンス21の実行を完了すると、シーケンス実行完了信号を進捗管理部95に送信する。進捗管理部95は、第1識別子を送信した後にシーケンス実行完了信号を受信したか否かを判定することによって、第1コマンドシーケンス21が実行済みであるか否かを判定することができる。   Subsequently, the progress management unit 95 determines whether Ry / By1 indicates By (step S23). When Ry / By1 indicates Ry instead of By (step S23, No), the progress management unit 95 determines whether or not the memory chip 11 has executed the first command sequence 21 (step S24). . When the memory chip 10 is not executing the first command sequence 21 (step S24, No), the progress management unit 95 causes the memory chip 1 to execute the first command sequence 21 (step S25). Specifically, the progress management unit 95 inputs the generated first identifier to the NAND command generation unit 96, and the NAND command generation unit 96 generates the first command sequence 21 based on the input first identifier. The command sequence management unit 97 executes the first command sequence 21 generated by the NAND command generation unit 96 on the memory chip 11, and when the execution of the first command sequence 21 is completed, a sequence execution completion signal is sent to the progress management unit 95. Send to. The progress management unit 95 can determine whether or not the first command sequence 21 has been executed by determining whether or not the sequence execution completion signal has been received after transmitting the first identifier.

メモリチップ11が第1コマンドシーケンス21を実行済みである場合(ステップS24、Yes)、進捗管理部95は、メモリチップ11に第2コマンドシーケンス22を実行せしめる(ステップS26)。具体的には、進捗管理部95は、生成した第2識別子をNANDコマンド生成部96に入力し、NANDコマンド生成部96は入力された第2識別子に基づいて第2コマンドシーケンス22を生成する。コマンドシーケンス管理部97は、メモリチップ11に対し、NANDコマンド生成部96が生成した第2コマンドシーケンス21を実行し、第2コマンドシーケンス21の実行を完了すると、シーケンス実行完了信号を進捗管理部95に送信する。進捗管理部95は、第2識別子を送信した後にシーケンス実行完了信号を受信したか否かを判定することによって、第1コマンドシーケンス21が実行済みであるか否かを判定することができる。   When the memory chip 11 has already executed the first command sequence 21 (step S24, Yes), the progress management unit 95 causes the memory chip 11 to execute the second command sequence 22 (step S26). Specifically, the progress management unit 95 inputs the generated second identifier to the NAND command generation unit 96, and the NAND command generation unit 96 generates the second command sequence 22 based on the input second identifier. The command sequence management unit 97 executes the second command sequence 21 generated by the NAND command generation unit 96 for the memory chip 11 and completes the execution of the second command sequence 21, and sends a sequence execution completion signal to the progress management unit 95. Send to. The progress management unit 95 can determine whether or not the first command sequence 21 has been executed by determining whether or not the sequence execution completion signal has been received after transmitting the second identifier.

進捗管理部95は、第2コマンドシーケンス22の実行が完了した後、バンク1用キュー91から、ステップS26の処理により実行済みとなった命令910を削除し(ステップS27)、別のキュー、即ちバンク0用キュー90に、命令900が存在するか否かを判定する(ステップS28)。ステップS28を実行する際には、進捗管理部95は、一時的にキュー切り替え部94にキューを切り替えさせる。バンク0用キュー90に命令900が存在する場合(ステップS28、Yes)、進捗管理部95は、バンク1用キュー91に次の命令910が存在するか否かを判定する(ステップS29)。   After the execution of the second command sequence 22 is completed, the progress management unit 95 deletes the instruction 910 that has been executed by the process of step S26 from the bank 1 queue 91 (step S27), and another queue, that is, It is determined whether or not the instruction 900 exists in the bank 0 queue 90 (step S28). When executing step S28, the progress management unit 95 causes the queue switching unit 94 to temporarily switch the queue. When the instruction 900 exists in the bank 0 queue 90 (step S28, Yes), the progress management unit 95 determines whether or not the next instruction 910 exists in the bank 1 queue 91 (step S29).

バンク1用キュー91に次の命令910が存在する場合(ステップS29、Yes)、進捗管理部95は、当該次の命令910の連続投入が許可されているか否かを判定する(ステップS30)。進捗管理部95は、前記次の命令900に付随している連続投入フラグ1000を確認することによって、命令900の連続投入が許可されているか否かを判定することができる。   When the next instruction 910 exists in the bank 1 queue 91 (step S29, Yes), the progress management unit 95 determines whether continuous input of the next instruction 910 is permitted (step S30). The progress management unit 95 can determine whether or not continuous input of the instruction 900 is permitted by checking a continuous input flag 1000 attached to the next instruction 900.

前記次の命令910の連続投入が許可されている場合(ステップS30、Yes)、進捗管理部95は、当該次の命令910を読み出して、この命令910に対応する第1識別子および第2識別子を生成しておく。そして、ステップS25の処理により、進捗管理部95は、前記次の命令910に対応する第1コマンドシーケンス21をメモリチップ11に実行せしめる。   When continuous input of the next command 910 is permitted (step S30, Yes), the progress management unit 95 reads the next command 910 and sets the first identifier and the second identifier corresponding to the command 910. Generate it. Then, by the processing in step S25, the progress management unit 95 causes the memory chip 11 to execute the first command sequence 21 corresponding to the next instruction 910.

Ry/By0がByを示している場合(ステップS23、Yes)、バンク1用キュー91に命令910が存在しない場合(ステップS22、No)、バンク0用キュー90に命令900が存在しない場合(ステップS28、No)、バンク1用キュー91に命令910が存在しない場合(ステップS29、No)、前記次の命令910の連続投入が許可されていない場合(ステップS30、No)、またはステップS25の処理を完了した後、進捗管理部95は、キュー90、91の何れかに命令900、910があるか否かを判定する(ステップS31)。キュー90、91の何れかに命令900、910がある場合(ステップS31、Yes)、ステップS11の処理が実行され、キュー90、91の何れにも命令900、910がない場合(ステップS31、No)、NANDコントローラ7の動作が終了となる。   When Ry / By0 indicates By (step S23, Yes), when the instruction 910 does not exist in the bank 1 queue 91 (step S22, No), or when the instruction 900 does not exist in the bank 0 queue 90 (step S22) S28, No), when the instruction 910 does not exist in the bank 1 queue 91 (No at Step S29), when continuous input of the next instruction 910 is not permitted (No at Step S30), or processing at Step S25 After completing the above, the progress management unit 95 determines whether or not the instructions 900 and 910 are in any of the queues 90 and 91 (step S31). If there is an instruction 900, 910 in either of the queues 90, 91 (step S31, Yes), the process of step S11 is executed, and if there is no instruction 900, 910 in either of the queues 90, 91 (step S31, No) ), The operation of the NAND controller 7 ends.

このように、ch0コントローラ70は、バンク0(メモリチップ10)に対してi番目の命令900にかかる第2コマンドシーケンス22とi+1番目の命令900にかかる第1コマンドシーケンス21とを連続して実行した後で、かつ、メモリチップ10が内部処理23を実行している最中に、バンク1(メモリチップ11)に対するメモリアクセスの実行を開始する。   As described above, the ch0 controller 70 continuously executes the second command sequence 22 related to the i-th instruction 900 and the first command sequence 21 related to the i + 1-th instruction 900 with respect to the bank 0 (memory chip 10). After that, and while the memory chip 10 is executing the internal processing 23, execution of memory access to the bank 1 (memory chip 11) is started.

図10は、比較例にかかるバンクインターリーブ方法を実行した場合と第1の実施形態にかかるバンクインターリーブ方法を実行した場合の夫々において、連続してライトが実行される場合の各バンクの動作時間を説明するタイミングチャートである。ライトモードにおいては、第1コマンドシーケンス21は、ライトデータの転送を含んでいるため、第2コマンドシーケンス22よりも長い時間を必要とする。第1の実施形態のバンクインターリーブ方法は、コマンドシーケンスのうちの実行時間が長くかかる第1コマンドシーケンス21の実行時間を比較例に比べて効率的に隠蔽できるので、ライトモードにおいても、バンク0およびバンク1の転送効率を共に向上せしめることができることがわかる。   FIG. 10 shows the operation time of each bank when writing is performed continuously in each of the case where the bank interleaving method according to the comparative example is executed and the case where the bank interleaving method according to the first embodiment is executed. It is a timing chart to explain. In the write mode, the first command sequence 21 includes the transfer of write data, and therefore requires a longer time than the second command sequence 22. In the bank interleaving method of the first embodiment, the execution time of the first command sequence 21 that takes a long execution time of the command sequence can be effectively hidden as compared with the comparative example. It can be seen that the transfer efficiency of bank 1 can be improved together.

図11は、比較例にかかるバンクインターリーブ方法を実行した場合と第1の実施形態にかかるバンクインターリーブ方法を実行した場合の夫々において、連続してイレースが実行される場合の各バンクの動作時間を説明するタイミングチャートである。イレースモードにおいては、第1コマンドシーケンス21および第2コマンドシーケンス22は、ともに、同程度の実行時間を必要とする。この場合には、図示するように、第1の実施形態によれば、バンク0の転送効率を向上せしめることができる。   FIG. 11 shows the operation time of each bank when erasing is executed continuously in each of the case where the bank interleaving method according to the comparative example is executed and the case where the bank interleaving method according to the first embodiment is executed. It is a timing chart to explain. In the erase mode, both the first command sequence 21 and the second command sequence 22 require the same execution time. In this case, as shown in the figure, according to the first embodiment, the transfer efficiency of the bank 0 can be improved.

図12−1〜図12−3は、比較例にかかるバンクインターリーブ方法を実行した場合と第1の実施形態にかかるバンクインターリーブ方法を実行した場合の夫々において、バンク毎のメモリアクセスのアクセスモードがランダムに構成されたときの各バンクの動作時間を説明するタイミングチャートである。   12A to 12C illustrate the memory access mode for each bank when the bank interleaving method according to the comparative example is executed and when the bank interleaving method according to the first embodiment is executed. It is a timing chart explaining the operation time of each bank when comprised at random.

図12−1は、バンク0に、2回のイレースアクセスが、バンク1に2回のリードアクセスがなされる場合を示している。この図の例のように、バンク0の1回目のメモリアクセスがバンク1の1回目のメモリアクセスの内部処理の終了タイミングよりも以前に終了する場合には、バンク0の2回目のメモリアクセスにかかる第1コマンドシーケンス21の実行時間を隠蔽することができない。したがって、第1の実施形態によれば、比較例に比べ、バンク0の転送効率を向上させることができる。   FIG. 12A shows a case in which two erase accesses are made to bank 0 and two read accesses are made to bank 1. If the first memory access of bank 0 is completed before the end timing of the internal processing of the first memory access of bank 1 as in the example of this figure, the second memory access of bank 0 is The execution time of the first command sequence 21 cannot be hidden. Therefore, according to the first embodiment, the transfer efficiency of bank 0 can be improved as compared with the comparative example.

図12−2は、バンク0に、イレースアクセスとライトアクセスとが、バンク1に2回のリードアクセスがなされる場合を示している。この図の例のように、バンク1の1回目のメモリアクセスの内部処理の終了タイミングが、バンク0の1回目のメモリアクセスの終了タイミングよりも以降で、かつ、バンク0の2回目のメモリアクセスにかかる第1コマンドシーケンス21の終了タイミングよりも以前である場合、バンク0の2回目のメモリアクセスにかかる第1コマンドシーケンス21の実行時間のうちの一部を隠蔽することができる。したがって、第1の実施形態によれば、比較例に比べ、バンク0およびバンク1の転送効率をともに向上させることができる。   FIG. 12B illustrates a case where the bank 0 is subjected to erase access and write access, and the bank 1 is subjected to read access twice. As shown in the example of this figure, the end timing of internal processing of the first memory access in bank 1 is after the end timing of the first memory access in bank 0 and the second memory access in bank 0 If it is earlier than the end timing of the first command sequence 21 related to, part of the execution time of the first command sequence 21 related to the second memory access of the bank 0 can be concealed. Therefore, according to the first embodiment, both the transfer efficiency of the bank 0 and the bank 1 can be improved as compared with the comparative example.

図12−3は、バンク0に、イレースアクセスとリードアクセスとが、バンク1にライトアクセスとリードアクセスとがなされる場合を示している。この図の例のように、バンク1の1回目のメモリアクセスの内部処理の終了タイミングが、バンク0の2回目のメモリアクセスにかかる第1コマンドシーケンス21の終了タイミングよりも以降である場合、バンク0の2回目のメモリアクセスにかかる第1コマンドシーケンス21の実行時間を完全に隠蔽することができる。したがって、第1の実施形態によれば、比較例に比べ、バンク0およびバンク1の転送効率をともに向上させることができる。   FIG. 12C illustrates a case where the bank 0 is subjected to erase access and read access, and the bank 1 is subjected to write access and read access. As in the example of this figure, when the end timing of the internal processing of the first memory access of the bank 1 is after the end timing of the first command sequence 21 related to the second memory access of the bank 0, The execution time of the first command sequence 21 for the second memory access of 0 can be completely hidden. Therefore, according to the first embodiment, both the transfer efficiency of the bank 0 and the bank 1 can be improved as compared with the comparative example.

なお、以上の説明においては、MPU4は、命令毎に、連続投入フラグ1000をどのように設定するかについては特に言及しなかったが、MPU4は、連続投入フラグ1000を任意に設定することができる。例えば、MPU4は、図6に示した例のように連続してリードアクセスを実行する際にはリードアクセス毎の命令の連続投入フラグ1000に、連続投入を許可する値を設定することができる。また、図12−2および図12−3に示したように、バンク1の1回目のメモリアクセスの内部処理の終了タイミングがバンク0の1回目のメモリアクセスの終了タイミングよりも以降となる場合には、バンク0およびバンク1の転送効率をともに向上させることができる。MPU4は、バンク0およびバンク1の転送効率をともに向上させることができる場合、即ちバンク1の1回目のメモリアクセスの内部処理の終了タイミングがバンク0の1回目のメモリアクセスの終了タイミングよりも以降となる場合に、バンク0の2回目のメモリアクセスにかかる命令の連続投入フラグ1000に、連続投入を許可する値を設定することができる。   In the above description, the MPU 4 did not particularly mention how to set the continuous input flag 1000 for each instruction. However, the MPU 4 can arbitrarily set the continuous input flag 1000. . For example, the MPU 4 can set a value that permits continuous input in the continuous input flag 1000 of the instruction for each read access when executing continuous read access as in the example shown in FIG. Also, as shown in FIGS. 12-2 and 12-3, when the end timing of the first memory access in the bank 1 is later than the end timing of the first memory access in the bank 0. Can improve both the transfer efficiency of bank 0 and bank 1. The MPU 4 can improve both the transfer efficiency of the bank 0 and the bank 1, that is, the end timing of the internal processing of the first memory access of the bank 1 is later than the end timing of the first memory access of the bank 0. In such a case, a value for permitting continuous input can be set in the continuous input flag 1000 of the instruction relating to the second memory access of the bank 0.

また、以上の説明においては、並列動作要素1a、1bは、夫々2つのバンク0、1を備えているものとして説明したが、並列動作要素1a、1bは、夫々3以上のバンクを備えるように構成してもよい。その場合には、NANDコントローラ7が備えるチャネル毎のコントローラ70、71は、ステップS1〜ステップS20の処理をバンク毎にシリアルに実行することができる。   In the above description, the parallel operation elements 1a and 1b have been described as including two banks 0 and 1, respectively. However, the parallel operation elements 1a and 1b include three or more banks, respectively. It may be configured. In that case, the controllers 70 and 71 for each channel included in the NAND controller 7 can serially execute the processing of step S1 to step S20 for each bank.

このように、本発明の第1の実施形態によれば、ch0コントローラ70は、バンク0(メモリチップ10)に対してi番目の命令900にかかる第2コマンドシーケンス22とi+1番目の命令900にかかる第1コマンドシーケンス21とを連続して実行した後で、かつ、メモリチップ10が内部処理23を実行している最中に、バンク1(メモリチップ11)に対するメモリアクセスの実行を開始するようにしたので、SSD100の転送効率を向上させることができる。   As described above, according to the first embodiment of the present invention, the ch0 controller 70 applies the second command sequence 22 and the (i + 1) th instruction 900 related to the i-th instruction 900 to the bank 0 (memory chip 10). After continuously executing the first command sequence 21 and while the memory chip 10 is executing the internal processing 23, execution of memory access to the bank 1 (memory chip 11) is started. As a result, the transfer efficiency of the SSD 100 can be improved.

また、ch0コントローラ70は、i+1番目の命令900に付随する連続投入フラグ1000に基づいて、i+1番目の命令900にかかる第1コマンドシーケンス21をi番目の命令900にかかる第2コマンドシーケンス22の直後に連続して実行するか否かを判定する、ようにしたので、i+1番目の命令900にかかる第1コマンドシーケンス21をi番目の命令900にかかる第2コマンドシーケンス22の直後に連続して実行する制御を実行するか否かを切り替えることが可能になる。   Also, the ch0 controller 70 changes the first command sequence 21 related to the i + 1th instruction 900 immediately after the second command sequence 22 related to the ith instruction 900 based on the continuous input flag 1000 attached to the i + 1th instruction 900. The first command sequence 21 related to the (i + 1) th instruction 900 is continuously executed immediately after the second command sequence 22 related to the ith instruction 900. It is possible to switch whether or not to execute control.

(第2の実施形態)
図13は、第1の実施形態のSSD100を搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
(Second Embodiment)
FIG. 13 is a perspective view showing an example of a personal computer 1200 equipped with the SSD 100 of the first embodiment. The personal computer 1200 includes a main body 1201 and a display unit 1202. The display unit 1202 includes a display housing 1203 and a display device 1204 accommodated in the display housing 1203.

本体1201は、筐体1205と、キーボード1206と、ポインティングデバイスであるタッチパッド1207とを備えている。筐体1205内部には、メイン回路基板、ODD(Optical Disk Device)ユニット、カードスロット、及びSSD100等が収容されている。   The main body 1201 includes a housing 1205, a keyboard 1206, and a touch pad 1207 that is a pointing device. Inside the housing 1205, a main circuit board, an ODD (Optical Disk Device) unit, a card slot, an SSD 100, and the like are accommodated.

カードスロットは、筐体1205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部1208が設けられている。ユーザは、この開口部1208を通じて筐体1205の外部から追加デバイスをカードスロットに挿抜することが可能である。   The card slot is provided adjacent to the peripheral wall of the housing 1205. An opening 1208 facing the card slot is provided on the peripheral wall. The user can insert / remove an additional device into / from the card slot from the outside of the housing 1205 through the opening 1208.

SSD100は、従来のHDDの置き換えとして、パーソナルコンピュータ1200内部に実装された状態として使用してもよいし、パーソナルコンピュータ1200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。   The SSD 100 may be used as a state of being mounted inside the personal computer 1200 as a replacement for a conventional HDD, or may be used as an additional device while being inserted into a card slot provided in the personal computer 1200.

図14は、SSDを搭載したパーソナルコンピュータのシステム構成例を示している。パーソナルコンピュータ1200は、CPU1301、ノースブリッジ1302、主メモリ1303、ビデオコントローラ1304、オーディオコントローラ1305、サウスブリッジ1309、BIOS−ROM1310、SSD100、ODDユニット1311、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)1312、及びネットワークコントローラ1313等を備えている。   FIG. 14 shows a system configuration example of a personal computer equipped with an SSD. The personal computer 1200 includes a CPU 1301, a north bridge 1302, a main memory 1303, a video controller 1304, an audio controller 1305, a south bridge 1309, a BIOS-ROM 1310, an SSD 100, an ODD unit 1311, an embedded controller / keyboard controller IC (EC / KBC) 1312, And a network controller 1313 and the like.

CPU1301は、パーソナルコンピュータ1200の動作を制御するために設けられたプロセッサであり、SSD100から主メモリ1303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット1311が、装填された光ディスクに対して読出し処理及び書込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU1301は、それらの処理の実行をする。   The CPU 1301 is a processor provided to control the operation of the personal computer 1200 and executes an operating system (OS) loaded from the SSD 100 to the main memory 1303. Further, when the ODD unit 1311 enables execution of at least one of read processing and write processing on the loaded optical disk, the CPU 1301 executes those processing.

また、CPU1301は、BIOS−ROM1310に格納されたシステムBIOS(Basic Input Output System)も実行する。尚、システムBIOSは、パーソナルコンピュータ1200内のハードウェア制御のためのプログラムである。   The CPU 1301 also executes a system BIOS (Basic Input Output System) stored in the BIOS-ROM 1310. The system BIOS is a program for hardware control in the personal computer 1200.

ノースブリッジ1302は、CPU1301のローカルバスとサウスブリッジ1309との間を接続するブリッジデバイスである。ノースブリッジ1302には、主メモリ1303をアクセス制御するメモリコントローラも内蔵されている。   The north bridge 1302 is a bridge device that connects the local bus of the CPU 1301 and the south bridge 1309. The north bridge 1302 also includes a memory controller that controls access to the main memory 1303.

また、ノースブリッジ1302は、AGP(Accelerated Graphics Port)バス等を介してビデオコントローラ1304との通信、及びオーディオコントローラ1305との通信を実行する機能も有している。   The north bridge 1302 also has a function of executing communication with the video controller 1304 and communication with the audio controller 1305 via an AGP (Accelerated Graphics Port) bus or the like.

主メモリ1303は、プログラムやデータを一時的に記憶し、CPU1301のワークエリアとして機能する。主メモリ1303は、例えばRAMから構成される。   The main memory 1303 temporarily stores programs and data and functions as a work area for the CPU 1301. The main memory 1303 is constituted by a RAM, for example.

ビデオコントローラ1304は、パーソナルコンピュータ1200のディスプレイモニタとして使用される表示ユニット1202を制御するビデオ再生コントローラである。   A video controller 1304 is a video playback controller that controls a display unit 1202 used as a display monitor of the personal computer 1200.

オーディオコントローラ1305は、パーソナルコンピュータ1200のスピーカ1306を制御するオーディオ再生コントローラである。   The audio controller 1305 is an audio playback controller that controls the speaker 1306 of the personal computer 1200.

サウスブリッジ1309は、LPC(Low Pin Count)バス1314上の各デバイス、及びPCI(Peripheral Component Interconnect)バス1315上の各デバイスを制御する。また、サウスブリッジ1309は、各種ソフトウェア及びデータを格納する記憶装置であるSSD100を、SATAインタフェースを介して制御する。   The south bridge 1309 controls each device on an LPC (Low Pin Count) bus 1314 and each device on a PCI (Peripheral Component Interconnect) bus 1315. The south bridge 1309 controls the SSD 100, which is a storage device that stores various software and data, via the SATA interface.

パーソナルコンピュータ1200は、セクタ単位でSSD100へのアクセスを行う。SATAインタフェースを介して、書き込みコマンド、読出しコマンド、キャッシュフラッシュコマンド等がSSD100に入力される。   The personal computer 1200 accesses the SSD 100 in units of sectors. A write command, a read command, a cache flush command, and the like are input to the SSD 100 via the SATA interface.

また、サウスブリッジ1309は、BIOS−ROM1310、及びODDユニット1311をアクセス制御するための機能も有している。   The south bridge 1309 also has a function for controlling access to the BIOS-ROM 1310 and the ODD unit 1311.

EC/KBC1312は、電力管理のためのエンベデッドコントローラと、キーボード(KB)1206及びタッチパッド1207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。   The EC / KBC 1312 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the keyboard (KB) 1206 and the touch pad 1207 are integrated.

このEC/KBC1312は、ユーザによるパワーボタンの操作に応じてパーソナルコンピュータ1200の電源をON/OFFする機能を有している。ネットワークコントローラ1313は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。   The EC / KBC 1312 has a function of turning on / off the power of the personal computer 1200 according to the operation of the power button by the user. The network controller 1313 is a communication device that executes communication with an external network such as the Internet.

パーソナルコンピュータ1200が搭載するSSD100は、上述した通り、NANDメモリ1とデータ転送装置2との間の転送効率を可及的に向上させることができる構成であるので、転送効率の向上に応じてSSD100に対するアクセス速度が向上する。   As described above, the SSD 100 mounted on the personal computer 1200 has a configuration capable of improving the transfer efficiency between the NAND memory 1 and the data transfer device 2 as much as possible. The access speed for is improved.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1 NANDメモリ、2 データ転送装置、4 MPU、10〜13 メモリチップ、21 第1コマンドシーケンス、22 第2コマンドシーケンス、23 内部処理、70 ch0コントローラ、71 ch1コントローラ、90 バンク0用キュー、91 バンク1用キュー、94 キュー切り替え部、95 進捗管理部、96 NANDコマンド生成部、97 コマンドシーケンス管理部、200 ホスト装置、900、910 命令、1000 連続投入フラグ、1200 パーソナルコンピュータ。   1 NAND memory, 2 data transfer device, 4 MPU, 10 to 13 memory chip, 21 first command sequence, 22 second command sequence, 23 internal processing, 70 ch0 controller, 71 ch1 controller, 90 bank 0 queue, 91 bank 1 queue, 94 queue switching unit, 95 progress management unit, 96 NAND command generation unit, 97 command sequence management unit, 200 host device, 900, 910 command, 1000 continuous input flag, 1200 personal computer.

Claims (5)

不揮発性のメモリセルアレイを備え、複数のバンクを構成するメモリチップと、
ホスト装置からの要求に基づいてバンク毎に複数のメモリアクセス命令を生成する命令生成部と、
前記複数のメモリアクセス命令の夫々に対応するバンクにメモリアクセスをメモリアクセス命令毎に実行するメモリ制御部と、
を備え、
前記複数のバンクの夫々に対するメモリアクセスは、ともに単一のバンクに対して排他的に実行されるコマンドシーケンスであって、実行完了の直後にメモリアクセス対象のバンクにバンク内処理を実行せしめる第1コマンドシーケンスと、前記バンク内処理の実行完了後に実行せしめられる第2コマンドシーケンスと、を備え、
前記メモリ制御部は、前記複数のバンクのうちの第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスとi+1番目のメモリアクセス命令にかかる第1コマンドシーケンスとを連続して実行した後で、かつ、前記第1のバンクがバンク内処理を実行している最中に、第2のバンクに対するメモリアクセスの実行を開始
前記i+1番目のメモリアクセス命令は、連続した実行を許可するか非許可するかを示すフラグ情報を備え、
前記メモリ制御部は、
前記フラグ情報が許可を示す場合には、前記第1のバンクに対して前記i番目のメモリアクセス命令にかかる第2コマンドシーケンスと前記i+1番目のメモリアクセス命令にかかる第1コマンドシーケンスとを連続して実行した後で、かつ、前記第1のバンクがバンク内処理を実行している最中に、前記第2のバンクに対する第1コマンドシーケンスの実行を開始し、
前記フラグ情報が非許可を示す場合には、前記第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスを実行した後に、前記i+1番目のメモリアクセス命令にかかる第1コマンドシーケンスの実行を開始せずに、前記第2のバンクに対する第1コマンドシーケンスまたは第2コマンドシーケンスの実行を開始する、
ことを特徴とするメモリシステム。
A memory chip comprising a non-volatile memory cell array and constituting a plurality of banks;
An instruction generator for generating a plurality of memory access instructions for each bank based on a request from the host device;
A memory control unit for executing memory access for each memory access instruction to a bank corresponding to each of the plurality of memory access instructions;
With
The memory access to each of the plurality of banks is a command sequence that is executed exclusively for a single bank, and first causes the bank to be accessed to execute in-bank processing immediately after execution is completed. A command sequence, and a second command sequence executed after completion of the in-bank processing,
The memory control unit continuously performs a second command sequence related to an i-th memory access instruction and a first command sequence related to an i + 1-th memory access instruction with respect to a first bank of the plurality of banks. after executing, and, while the first bank is performing the bank processing, it starts the execution of the memory access to the second bank,
The i + 1-th memory access instruction includes flag information indicating whether continuous execution is permitted or not,
The memory control unit
When the flag information indicates permission, a second command sequence related to the i-th memory access instruction and a first command sequence related to the i + 1-th memory access instruction are continuously performed on the first bank. Execution of the first command sequence for the second bank, and while the first bank is executing in-bank processing,
If the flag information indicates non-permission, a first command sequence related to the i + 1th memory access instruction is executed after executing a second command sequence related to the ith memory access instruction to the first bank. Starting execution of the first command sequence or the second command sequence for the second bank without starting execution of
A memory system characterized by that.
前記複数のメモリアクセス命令は、リードアクセス命令を含み、
前記リードアクセス命令にかかる第1コマンドシーケンスは、リードアドレスの送信を含み、
前記リードアクセス命令にかかるバンク内処理は、前記メモリアクセス対象のバンクを構成するメモリチップが、前記メモリセルアレイにおける前記リードアドレスにより指定された番地からリードデータを読み出して、読み出したリードデータを自メモリチップが備えるデータキャッシュに格納する処理であって、
前記リードアクセス命令にかかる第2コマンドシーケンスは、前記データキャッシュに格納されたリードデータの取得を含む、
ことを特徴とする請求項1に記載のメモリシステム。
The plurality of memory access instructions include a read access instruction,
The first command sequence according to the read access command includes transmission of a read address,
The in-bank processing related to the read access instruction is such that the memory chip that constitutes the memory access target bank reads the read data from the address specified by the read address in the memory cell array and stores the read data in its own memory. A process of storing in a data cache provided in the chip,
The second command sequence according to the read access instruction includes acquisition of read data stored in the data cache,
The memory system according to claim 1 .
前記複数のメモリアクセス命令は、ライトアクセス命令を含み、
前記ライトアクセス命令にかかる第1コマンドシーケンスは、ライトアドレスおよびライトデータの送信を含み、
前記ライトアクセス命令にかかるバンク内処理は、前記メモリアクセス対象のバンクを構成するメモリチップが、前記送信されてきたライトデータをメモリセルアレイにおける前記ライトアドレスにより指定された番地にプログラムする処理であって、
前記ライトアクセス命令にかかる第2コマンドシーケンスは、前記バンク内処理の成否情報の取得を含む、
ことを特徴とする請求項1に記載のメモリシステム。
The plurality of memory access instructions include a write access instruction,
The first command sequence according to the write access command includes transmission of a write address and write data,
The in-bank processing relating to the write access instruction is a process in which the memory chip constituting the memory access target bank programs the transmitted write data to the address specified by the write address in the memory cell array. ,
The second command sequence according to the write access instruction includes acquisition of success / failure information of the in-bank processing,
The memory system according to claim 1 .
前記複数のメモリアクセス命令は、イレースアクセス命令を含み、
前記イレースアクセス命令にかかる第1コマンドシーケンスは、イレースアドレスの送信を含み、
前記イレースアクセス命令にかかるバンク内処理は、前記メモリアクセス対象のバンクを構成するメモリチップが、メモリセルアレイにおける前記イレースアドレスにより指定された番地に格納されているデータを消去する処理であって、
前記イレースアクセス命令にかかる第2コマンドシーケンスは、前記バンク内処理の成否情報の取得を含む、
ことを特徴とする請求項1に記載のメモリシステム。
The plurality of memory access instructions include an erase access instruction,
The first command sequence according to the erase access command includes transmission of an erase address;
The in-bank processing related to the erase access instruction is a process in which a memory chip that constitutes the memory access target bank erases data stored at an address specified by the erase address in a memory cell array,
The second command sequence according to the erase access instruction includes acquisition of success / failure information of the in-bank processing,
The memory system according to claim 1 .
不揮発性のメモリセルアレイを備え、複数のバンクを構成するメモリチップに対するバンク毎のメモリアクセスをインターリーブするバンクインターリーブ方法であって、
ホスト装置からの要求に基づいてバンク毎に複数のメモリアクセス命令を生成する命令生成ステップと、
前記複数のメモリアクセス命令の夫々に基づいて、実行完了の直後にメモリアクセス対象のバンクにバンク内処理を実行せしめる第1コマンドシーケンスと、前記バンク内処理の実行完了後に実行せしめられる第2コマンドシーケンスと、をメモリアクセス命令毎に生成するコマンドシーケンス生成ステップと、
前記生成された第1コマンドシーケンスおよび第2コマンドシーケンスをバンク毎に排他的に実行するコマンドシーケンス実行ステップと、
前記複数のバンクのうちの第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスとi+1番目のメモリアクセス命令にかかる第1コマンドシーケンスとを連続して実行した後で、かつ、前記第1のバンクがバンク内処理を実行している最中に、メモリアクセスの実行対象を第2のバンクに切り替える、第1のバンク切り替えステップと、
を備え
前記i+1番目のメモリアクセス命令は、前記第1のバンク切り替えステップの実行を許可するか非許可するかを示すフラグ情報を備え、
前記i+1番目のメモリアクセス命令が備えるフラグ情報が許可を示すか非許可を示すかを判定するフラグ確認ステップと、
前記フラグ情報が非許可を示す場合には、前記第1のバンクに対してi番目のメモリアクセス命令にかかる第2コマンドシーケンスを実行した後に、前記i+1番目のメモリアクセス命令にかかる第1コマンドシーケンスの実行を開始せずに、前記第2のバンクに対する第1コマンドシーケンスまたは第2コマンドシーケンスの実行を開始する、第2のバンク切り替えステップと、
をさらに備えることを特徴とするバンクインターリーブ方法。
A bank interleaving method comprising a non-volatile memory cell array and interleaving memory access for each bank with respect to memory chips constituting a plurality of banks,
An instruction generation step for generating a plurality of memory access instructions for each bank based on a request from the host device;
Based on each of the plurality of memory access instructions, a first command sequence for causing the bank to be accessed to execute in-bank processing immediately after completion of execution, and a second command sequence to be executed after completion of execution of the in-bank processing. And a command sequence generation step for generating for each memory access instruction;
A command sequence execution step for exclusively executing the generated first command sequence and second command sequence for each bank;
After continuously executing the second command sequence relating to the i-th memory access instruction and the first command sequence relating to the i + 1-th memory access instruction to the first bank of the plurality of banks; and A first bank switching step of switching a memory access execution target to a second bank while the first bank is executing in-bank processing;
Equipped with a,
The (i + 1) th memory access instruction includes flag information indicating whether the execution of the first bank switching step is permitted or not permitted.
A flag confirmation step of determining whether flag information included in the (i + 1) th memory access instruction indicates permission or non-permission;
If the flag information indicates non-permission, a first command sequence related to the i + 1th memory access instruction is executed after executing a second command sequence related to the ith memory access instruction to the first bank. A second bank switching step for starting the execution of the first command sequence or the second command sequence for the second bank without starting the execution of
Further comprising bank interleaving method comprising Rukoto a.
JP2012068157A 2012-03-23 2012-03-23 Memory system and bank interleaving method Active JP5925549B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012068157A JP5925549B2 (en) 2012-03-23 2012-03-23 Memory system and bank interleaving method
US13/600,578 US8996782B2 (en) 2012-03-23 2012-08-31 Memory system and bank interleaving method
US14/641,930 US9304691B2 (en) 2012-03-23 2015-03-09 Memory system and bank interleaving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012068157A JP5925549B2 (en) 2012-03-23 2012-03-23 Memory system and bank interleaving method

Publications (2)

Publication Number Publication Date
JP2013200678A JP2013200678A (en) 2013-10-03
JP5925549B2 true JP5925549B2 (en) 2016-05-25

Family

ID=49520887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012068157A Active JP5925549B2 (en) 2012-03-23 2012-03-23 Memory system and bank interleaving method

Country Status (1)

Country Link
JP (1) JP5925549B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018022383A (en) 2016-08-04 2018-02-08 東芝メモリ株式会社 Memory system
US10534731B2 (en) * 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
JP2020016954A (en) 2018-07-23 2020-01-30 キオクシア株式会社 Memory system
CN110209352B (en) * 2019-05-14 2023-03-14 西安艾可萨科技有限公司 Memory control method, memory controller, electronic device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324535A (en) * 1992-05-20 1993-12-07 Toshiba Corp Data transfer device
JP4284200B2 (en) * 2004-01-28 2009-06-24 株式会社東芝 Nonvolatile semiconductor memory system
KR100621631B1 (en) * 2005-01-11 2006-09-13 삼성전자주식회사 Solid state disk controller apparatus
JP2010176646A (en) * 2009-02-02 2010-08-12 Toshiba Information Systems (Japan) Corp Memory system and interleaving control method for memory system

Also Published As

Publication number Publication date
JP2013200678A (en) 2013-10-03

Similar Documents

Publication Publication Date Title
US9304691B2 (en) Memory system and bank interleaving method
US9886378B2 (en) Nonvolatile memory system using control signals to transmit varied signals via data pins
US20180088867A1 (en) Semiconductor memory device and continuous reading method for the same
JP2015164090A (en) multiple independent serial link memory
US10296233B2 (en) Method of managing message transmission flow and storage device using the method
US11442664B2 (en) Memory system and method of operating the same
US20140173173A1 (en) Method, device, and system including configurable bit-per-cell capability
US20160329082A1 (en) Storage device and operating method thereof
US7613070B2 (en) Interleaved input signal path for multiplexed input
JP5925549B2 (en) Memory system and bank interleaving method
KR102447465B1 (en) Storage device temporarily suspending internal operation to provide short read response time for read request from host
KR20210087350A (en) Storage device and operating method thereof
KR20210031266A (en) Interface circuit, memory device, storage device and operation method of the memory device
US10658046B2 (en) Memory device and method for operating the same
US20130173852A1 (en) Memory system
CN110069427B (en) Memory controller and operation method thereof
KR20210060867A (en) Data storage device and operating method thereof
JP2022047854A (en) Memory system
KR20210012818A (en) Memory device and operating method thereof
KR102355436B1 (en) Data storage device
US10566062B2 (en) Memory device and method for operating the same
KR20200034312A (en) Data storage device and operating method thereof
KR20140067400A (en) Memory system including flash memory, first buffer meory, and memory controller and method for operating thereof
US11941294B2 (en) Memory controller for controlling suspension of operation and method of operating the same
TWI667657B (en) Memory device and method for operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160420

R150 Certificate of patent or registration of utility model

Ref document number: 5925549

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350