JP2020061149A - FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム - Google Patents
FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム Download PDFInfo
- Publication number
- JP2020061149A JP2020061149A JP2019188052A JP2019188052A JP2020061149A JP 2020061149 A JP2020061149 A JP 2020061149A JP 2019188052 A JP2019188052 A JP 2019188052A JP 2019188052 A JP2019188052 A JP 2019188052A JP 2020061149 A JP2020061149 A JP 2020061149A
- Authority
- JP
- Japan
- Prior art keywords
- erasure coding
- data
- pcie switch
- coding logic
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 61
- 230000006870 function Effects 0.000 claims abstract description 47
- 230000001133 acceleration Effects 0.000 claims abstract description 15
- 238000013144 data compression Methods 0.000 claims abstract description 13
- 230000002093 peripheral effect Effects 0.000 claims abstract description 8
- 238000003860 storage Methods 0.000 claims description 408
- 230000005540 biological transmission Effects 0.000 claims description 123
- 230000004044 response Effects 0.000 claims description 17
- 239000007787 solid Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 96
- 238000013403 standard screening design Methods 0.000 description 40
- 239000000872 buffer Substances 0.000 description 37
- 238000012545 processing Methods 0.000 description 33
- 230000004224 protection Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000012005 ligant binding assay Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001902 propagating effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 102000011329 BAR domains Human genes 0.000 description 1
- 108050001504 BAR domains Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Lock And Its Accessories (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
PCIe(制御プレーンで使用される)、又はSMBus(System Management Bus)のような、これらの標準的なインターフェースは、ユーザーがRoC(RAID−on−a−Chip)やイレイジャーコードコントローラを事前構成するために使用される。この方法でストレージ装置を構成できることは、コンピューティングリソースをリースするユーザーに有用である。つまり、ストレージの使用が終わったら、ユーザーは、次のユーザーが同じコンピューティングリソースを使用する前に、データを迅速に破壊したがる。この場合には、BMCは、多数のFPGA+SSDの内部のすべてのエンベデッドPCIeスイッチに削除コマンドを送ることができる。FPGAのRoC/イレイジャーコードコントローラは削除コマンドを受信すると、コマンドLBA(Logical Block Address)の範囲により指定されたデータとパリティデータをすべて削除することができる。
本発明の概念の実施形態は、イレイジャーコーディングロジックを含むPCIeスイッチを含む。
PCIeスイッチは、
前記PCIeスイッチがプロセッサと通信できるようにする外部コネクタと、
前記PCIeスイッチが、少なくとも一つのストレージ装置と通信できるようにする少なくとも一つのコネクタと、
PCIeスイッチの構成を処理するPPUと、
前記少なくとも一つのストレー装置に格納されたデータには、イレイジャーコーディング方式を適用する回路を含む、イレイジャーコーディングコントローラと、
前記PCIeスイッチで受信されたデータの伝送をインターセプトし、前記イレイジャーコーディング方式に応答して前記データ送信を修正する回路を含むスヌーピングロジックと、を含む。
説明1によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記イレイジャーコーディングロジックは、Look−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックを含むセットから獲得される。
説明1によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記少なくとも一つのストレージ装置は、少なくとも一つのNVMe SSDを含む。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、スヌーピングロジックは、PCIeスイッチで受信された制御送信をインターセプトし、前記制御伝送をPPUにフォワードするように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、スヌーピングロジックは、ホストからPCIeスイッチで受信されたデータの伝送をインターセプトし、データ伝送において、ホストによって使用されるホストLBAを前記少なくとも一つのNVMe SSDによって使用される装置LBAに代替するように動作する。
説明5によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、スヌーピングロジックは、データ伝送を少なくとも一つのNVMe SSDに指示するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、スヌーピングロジックは、少なくとも一つのNVMe SSDの中の一つからPCIeスイッチで受信されたデータの伝送をインターセプトし、データの伝送において、少なくとも一つのNVMe SSDの中の一つによって使用される装置LBAをホストによって使用されるホストLBAに代替する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、キャッシュをさらに含む。
説明8によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、スヌーピングロジックは、キャッシュに存在するデータの伝送で要請されるデータに少なくとも部分的に基づいて、ホストから要請されたデータ伝送に対する応答を返送するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
シャーシに位置するPCIeスイッチと、
イレイジャーコーディングコントローラによって外部キャッシュとして使用されるメモリを含むシャーシと、を含む。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、書き込みバッファをさらに含む。
説明11によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
ホストからの書き込み動作を含む前記データ伝送と、
データ伝送に対する応答をホストに伝送した後、書き込み動作を完了するように動作する、イレイジャーコーディングコントローラと、を含む。
説明11によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
前記イレイジャーコーディングコントローラは、書き込み動作でのデータを書き込みバッファに格納するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、イレイジャーコーディングコントローラとともに使用される少なくとも一つのNVMe SSDに少なくとも部分的に基づいて、これらのイレイジャーコーディングコントローラ及びスヌーピングロジックをイネーブルさせるように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、内蔵(built−in)のイレイジャーコーディング機能が含まれた少なくとも一つのNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングコントローラ及びスヌーピングロジックをディセーブルさせるように動作する。
説明15によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、内蔵(built−in)のイレイジャーコーディング機能が含まれた少なくとも一つのNVMe SSDに少なくとも部分的に基づいて、ユーザーにイレイジャーコーディングコントローラ及びスヌーピングロジックがディセーブルされたことを通知するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記少なくとも一つのコネクタを使用して、前記PCIeスイッチに連結される非ストレージ装置に部分的に基づいて、イレイジャーコーディングコントローラ及びスヌーピングロジックをディセーブルさせるように動作する。
説明17によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記少なくとも一つのコネクタを使用して、前記PCIeスイッチに連結される非ストレージ装置に部分的に基づいて、ユーザーに、イレイジャーコーディングコントローラ、及びヌーピングロジックがディセーブルされたことを知らせるように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記少なくとも一つのコネクタを使用して、前記PCIeスイッチに連結される非ストレージ装置に部分的に基づいて、イレイジャーコーディングコントローラ、及びスヌーピングロジックをイネーブルさせるように動作する。
説明19によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、PCIeスイッチに接続された非ストレージ装置へのアクセスが遮断されたことは、ユーザーに通知するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、第2のPCIeスイッチに連結された少なくとも1つの追加のNVMe SSD上でのイレイジャーコーディング方式を管理するために、イレイジャーコーディングコントローラ及びスヌーピングロジックを使用するように動作する。
説明21によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、第2のPCIeスイッチは、第2のPCIeスイッチで第2イレイジャーコーディングコントローラ、及び第3スヌーピングロジックをディセーブルさせるように動作する。
説明22によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
第1シャーシ内に位置するPCIeスイッチと、
第2シャーシ内に位置する第2のPCIeスイッチと、を備える。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、FPGAを使用して具現される。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
少なくとも二つのNVMe SSDを含む前記少なくとも一つのNVMe SSDと、
共通のハウジング内部にある前記PCIeスイッチと、前記少なくとも2つのNVMe SSDと、を含む。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、前記PCIeスイッチ及び前記少なくとも2つのNVMe SSDは、別途のハウジング内にある。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
前記少なくとも一つのNVMe SSDの故障したNVMe SSDを検出するように動作する前記PCIeスイッチと、
故障したNVMe SSDを説明するために、データ伝送を処理するように動作する、イレイジャーコーディングコントローラと、を含む。
説明27によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、故障したNVMe SSD上に格納されたデータのイレイジャーコーディングの復元を遂行するように動作する。
説明28によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、故障したNVMe SSDのための代替のNVMe SSDを再構成するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、
新しいNVMe SSDを検出するように動作する前記PCIeスイッチと、
イレイジャーコーディング方式の一部として、新しいNVMe SSDを使用するように動作するイレイジャーコーディングコントローラを含む。
説明30によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、新しいNVMe SSDを使用して容量の追加を遂行するように動作する。
説明30によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、少なくとも一つのコネクタの中の1つに連結された新しいNVMe SSDを検出するように動作する。
説明30によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、第2のPCIeスイッチからのメッセージを介して新たなNVMe SSDを検出するように動作する。
説明33によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、新しいNVMe SSDは、第2のPCIeスイッチ上の第2コネクタに連結される。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、少なくとも一つのコネクタは、故障したNVMe SSDと新しいNVMe SSDの両方を検出するためのpresenceピンを含む。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、ホストに、単一の装置としてそれ自身を示し、少なくとも一つのダウンストリームPCIeバスの列挙を防止するように動作する。
説明36によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、PCIeスイッチから第2のPCIeスイッチのダウンストリームPCIeバスの列挙を防止するように動作する。
説明36によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、少なくとも一つのNVMe SSDを仮想化するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、少なくとも一つのコネクタの中の1つに連結された新しいNVMe SSDを初期化するように動作する。
説明39によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、ホット・インサーション・イベント後に新しいNVMe SSDを初期化するように動作する。
説明39によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、起動時に、少なくとも一つのNVMe SSDを初期化するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、PCIeスイッチは、少なくとも一つのコネクタの中の1つに連結された新しいNVMe SSDを初期化するように動作するBMCを含むシステムの一部である。
説明42によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、BMCは、起動時に少なくとも一つのNVMe SSDを初期化するように動作する。
説明3によるイレイジャーコーディングロジックを含むPCIeスイッチにおいて、イレイジャーコーディングコントローラは、少なくとも一つのNVMe SSDにかけてデータをストライピングするストライプのマネージャーを含む。
本発明の概念の実施形態は、方法を含む。前記方法は、
イレイジャーコーディングロジックを利用して、PCIeスイッチから伝送を受信する段階と、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階と、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階と、を備える。
説明45による方法において、イレイジャーコーディングロジックは、Look−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックの中の1つを含む。
説明45による方法において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、前記伝送が前記スヌーピングロジックによる制御伝送を含むことを決定する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションへ伝達する段階は、前記伝送をPPU(Power Processing Unit)に伝達する段階を含む。
説明45による方法において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、活性化されたイレイジャーコーディングロジックに少なくとも部分的に基づいて、スヌーピングロジックを使用して伝送を処理する段階を含む。
説明45による方法において、
イレイジャーコーディングロジックを含むPCIeスイッチから伝送を受信する段階は、ホストから読み取り要請を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、ホストLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、読み取り要請をNVMe SSDに伝達する段階を含む。
説明49による方法において、前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、読み取り要請が伝達されなければならないNVMe SSDを識別する段階をさらに含む。
説明49による方法において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、キャッシュに存在するデータに少なくとも部分的に基づいて、キャッシュからの読み取り要請内のホストによって要請されたデータにアクセスする段階を含み、
ホストLBAを読み取り要請内の装置のLBAに代替する段階は、キャッシュに存在しないデータに少なくとも部分的に基づいて、ホストLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、キャッシュに存在しないデータに少なくとも部分的に基づいて、NVMe SSDに読み取り要請を伝達する段階を含む。
説明45による方法において、
イレイジャーコーディングロジックを含むPCIeスイッチにおいて伝送を受信する段階は、ホストから読み取り要請を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、ホストLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、読み取り要請をNVMe SSDに伝達する段階を含む。
説明52による方法において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、書き込み要請が伝達されるべくNVMe SSDを識別するための段階をさらに含む。
説明52による方法において、
少なくとも一つのNVMe SSDからブロックのストライプを読み出す段階と、
ブロックの更新されたストライプを形成するために、前記ブロックのストライプと前記書き込み要請内のデータをマージする段階と、
ブロックの前記更新されたストライプを前記少なくとも一つのNVMe SSDに記録する段階をさらに含む。
説明54による方法において、
前記書き込み要請内のデータをマージする段階は、書き込み要請のデータに追加して、少なくとも一つのNVMe SSDに記録するための追加のデータを計算する段階を含む。
説明54による方法において、
キャッシュ内に存在するブロックのストライプに、少なくとも部分的に基づいて、キャッシュからブロックのストライプを読み出す段階と、
少なくとも一つのNVMe SSDからブロックのストライプを読み取る段階は、キャッシュ内に存在していないブロックのストライプに、少なくとも部分的に基づいて、少なくとも一つのNVMe SSDからブロックのストライプを読み取る段階と、を備える。
説明54による方法において、
ブロックの前記更新されたストライプを前記少なくとも一つのNVMe SSDに記録する段階は、ブロックの前記更新されたストライプを書き込みバッファに記録する段階を含む。
説明57による方法において、
ブロックの更新されたストライプが書き込みバッファに書き込まれた後、ブロックの更新されたストライプが少なくとも一つのNVMe SSDに記録される前に記録が完了したことをホストに応答する段階をさらに含む。
説明45による方法において、
イレイジャーコーディングロジックを含むPCIeスイッチにおいて伝送を受信する段階は、ホストから応答を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、読み取り要請内の装置のLBAをホストのLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、前記応答をホストに伝達する段階を含む。
説明59による方法において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、NVMe SSDの識別子を仮想ストレージ装置の識別子で代替する段階をさらに含む。
説明45による方法において、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、前記送信をNVMe SSDが連結された第2のPCIeスイッチに伝達する段階を含み、
前記NVMe SSDは、前記デスティネーションである。
説明61による方法において、
PCIeスイッチは、第1シャーシにあり、第2PCIeスイッチは、第2のシャーシにある。
説明45による方法において、
イレイジャーコーディングで共に使用するためにPCIeスイッチに連結された少なくとも一つのNVMe SSDを初期化する段階をさらに含む。
説明45による方法において、
新しいNVMe SSDが前記PCIeスイッチに連結されたかを検出する段階と、
新しいNVMe SSDを仮想ストレージ装置の容量に追加する段階と、をさらに備える。
説明64による方法において、
イレイジャーコーディングで、共に使用するために新しいNVMe SSDを初期化する段階をさらに含む。
説明45による方法において、
前記PCIeスイッチに連結された故障したNVMe SSDを検出する段階と、
故障したNVMe SSD上に格納されたデータのイレイジャーコーディングの回復を遂行する段階と、をさらに備える。
説明66による方法において、
前記故障したNVMe SSDの代替のNVMe SSDを検出する段階と、
前記代替のNVMe SSDを使用して故障したNVMe SSDを再構成する段階と、をさらに備える。
説明45による方法において、
PCIeスイッチに連結された、イレイジャーコーディング機能がないNVMe SSDだけを検出する段階と、
前記PCIeスイッチで、イレイジャーコーディングロジックをイネーブルする段階と、をさらに含む。
説明68による方法において、
PCIeスイッチのダウンストリームPCIeバスの列挙を終了させる段階と、をさらに含む。
説明68による方法において、
PCIeスイッチに連結されたNVMe SSD及びイレイジャーコーディング方式の容量に少なくとも部分的に基づく容量を有する仮想ストレージ装置をホストに報告する段階と、をさらに含む。
説明45による方法において、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDが前記PCIeスイッチに連結されていることを検出する段階と、
前記PCIeスイッチ内の前記イレイジャーコーディングロジックをディセーブルさせる段階と、をさらに含む。
説明45による方法において、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDが前記PCIeスイッチに連結されていることを検出する段階と、
前記PCIeスイッチ内の前記イレイジャーコーディングロジックをイネーブルさせる段階と、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDをディセーブルさせる段階と、をさらに備える。
説明72による方法において、
PCIeスイッチからのPCIeバス列挙のダウンストリームを終了する段階と、をさらに含む。
説明72による方法において、
PCIeスイッチに連結されたNVMe SSD及びイレイジャーコーディング方式の容量に少なくとも部分的に基づく容量を有する仮想ストレージ装置をホストに報告する段階と、をさらに含む。
説明45による方法において、
イレイジャーコーディング方式を使用している、イレイジャーコーディングロジックを含むPCIeスイッチを構成する段階をさらに含む。
説明75による方法において、
イレイジャーコーディング方式を使用しているイレイジャーコーディングロジックを含むPCIeスイッチを構成する段階は、BMCを使用して、イレイジャーコーディング方式を使用しているイレイジャーコーディングロジックを含むPCIeスイッチを構成する段階を含む。
本発明の概念の実施形態は、非一時的なストレージ媒体を含む物品を含み、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合、
イレイジャーコーディングロジックを利用して、PCIeスイッチにおいて伝送を受信する段階と、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階と、
前記伝送を前記PCIeスイッチを介して前記デスティネーションに伝送する段階と、が処理される。
説明77による物品において、
本発明の概念の実施形態は、説明77による物品を含み、前記イレイジャーコーディングロジックは、Look−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックの中の1つを含む。
説明77による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、前記送信が前記スヌーピングロジックによる制御の伝送を含むことを決定する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、前記伝送をPPU(Power Processing Unit)に伝達する段階を含む。
説明77による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、活性化されたイレイジャーコーディングロジックに少なくとも部分的に基づいて、スヌーピングロジックを使用して伝送を処理する段階を含む。
説明77による物品において、
イレイジャーコーディングロジックを含むPCIeスイッチにおいて送信を受信する段階は、ホストから読み取り要請を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、ホストのLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、読み取り要請をNVMe SSDに伝達する段階を含む。
説明81による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、読み取り要請が伝達されるべくNVMe SSDを識別するための段階をさらに含む。
説明81による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、キャッシュに存在するデータに少なくとも部分的に基づいて、キャッシュからの読み取り要請内のホストによって要請されたデータにアクセスする段階を含み、
ホストのLBAを読み取り要請内の装置のLBAに代替する段階は、キャッシュに存在しないデータに少なくとも部分的に基づいて、ホストのLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、キャッシュに存在しないデータに少なくとも部分的に基づいて、NVMe SSDに読み取り要請を伝達する段階を含む。
説明77による物品において、
イレイジャーコーディングロジックを含むPCIeスイッチにおいて伝送を受信する段階は、ホストからの読み取り要請を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、ホストLBAを読み取り要請内の装置のLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、読み取り要請をNVMe SSDに伝達する段階を含む。
説明84による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、読み取り要請が伝達されるべくNVMe SSDを識別するための段階をさらに含む。
説明84による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
少なくとも一つのNVMe SSDからブロックのストライプを読み出す段階と、
ブロックの更新されたストライプを形成するために、前記ブロックのストライプと前記書き込み要請内のデータをマージする段階と、
ブロックの前記更新されたストライプを前記少なくとも一つのNVMe SSDに記録する段階と、が処理される。
説明86による物品において、
前記書き込み要請内のデータをマージする段階は、書き込み要請のデータに追加して、少なくとも一つのNVMe SSDに記録するための追加のデータを計算する段階と、を含む。
説明86による物品において、
キャッシュ内に存在するブロックのストライプに、少なくとも部分的に基づいて、キャッシュからブロックのストライプを読み出す段階と、
少なくとも一つのNVMe SSDからブロックのストライプを読み取る段階は、キャッシュ内に存在していないブロックのストライプに、少なくとも部分的に基づいて、少なくとも一つのNVMe SSDからブロックのストライプを読み取る段階と、を含む。
説明86による物品において、
ブロックの前記更新されたストライプを前記少なくとも一つのNVMe SSDに記録する段階は、ブロックの前記更新されたストライプを書き込みバッファに記録する段階を含む。
説明89による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
ブロックの更新されたストライプが書き込みバッファに書き込まれた後、ブロックの更新されたストライプが少なくとも一つのNVMe SSDに記録される前に記録が完了されたことをホストに応答する段階が処理される。
説明77による物品において、
イレイジャーコーディングロジックを含むPCIeスイッチにおいて伝送を受信する段階は、ホストからの応答を受信する段階を含み、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、読み取り要請内の装置のLBAをホストのLBAに代替する段階を含み、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、前記応答をホストに伝達する段階を含む。
説明91による物品において、
前記イレイジャーコーディングロジックでスヌーピングロジックを使用して前記伝送を処理する段階は、NVMe SSDの識別子を仮想ストレージ装置の識別子に代替する段階をさらに含む。
説明77による物品において、
前記PCIeスイッチを介して前記伝送を、それのデスティネーションに伝達する段階は、前記伝送をNVMe SSDが連結された第2のPCIeスイッチに伝達する段階を含み、
前記NVMe SSDは、前記デスティネーションである。
説明93による物品において、
PCIeスイッチは、第1シャーシにあり、第2のPCIeスイッチは、第2シャーシにある。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
イレイジャーコーディングとともに使用するためにPCIeスイッチに連結された少なくとも一つのNVMe SSDを初期化する段階が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
新しいNVMe SSDが前記PCIeスイッチに連結されたかを検出する段階と、
新しいNVMe SSDを仮想ストレージ装置の容量に追加する段階と、が処理される。
説明96による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
イレイジャーコーディングとともに使用するための新しいNVMe SSDを初期化する段階が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
前記PCIeスイッチに連結された故障したNVMe SSDを検出する段階と、
故障したNVMe SSD上に格納されたデータのイレイジャーコーディングの回復を遂行する段階と、が処理される。
説明98による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
前記故障したNVMe SSDの代替のNVMe SSDを検出する段階と、
前記代替のNVMe SSDを使用して故障したNVMe SSDを再構成する段階と、が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
PCIeスイッチに連結された、イレイジャーコーディング機能がないNVMe SSDだけを検出する段階と、
前記PCIeスイッチで、イレイジャーコーディングロジックをイネーブルする段階と、が処理される。
説明100による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
PCIeスイッチのダウンストリームPCIeバスの列挙を終了させる段階が処理される。
説明100による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
PCIeスイッチに連結されたNVMe SSD及びイレイジャーコーディング方式の容量に少なくとも部分的に基づく容量を有する仮想ストレージ装置をホストに報告する段階が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDが前記PCIeスイッチに連結されていることを検出する段階と、
前記PCIeスイッチ内の前記イレイジャーコーディングロジックをディセーブルさせる段階と、が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDが前記PCIeスイッチに連結されていることを検出する段階と、
前記PCIeスイッチ内の前記イレイジャーコーディングロジックをイネーブルさせる段階と、
イレイジャーコーディング機能を有する少なくとも一つの非ストレージ装置または少なくとも一つのNVMe SSDをディセーブルさせる段階と、が処理される。
説明104による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
PCIeスイッチからのPCIeバス列挙のダウンストリームを終了する段階が処理される。
説明104による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
PCIeスイッチに連結されたNVMe SSD及びイレイジャーコーディング方式の容量に少なくとも部分的に基づく容量を有する仮想ストレージ装置をホストに報告する段階が処理される。
説明77による物品において、前記非一時的なストレージ媒体は、コマンドを格納し、コマンドがマシンによって実行される場合には、
イレイジャーコーディング方式を使用するイレイジャーコーディングロジックを含むPCIeスイッチを構成する段階が処理される。
説明107による物品において、
イレイジャーコーディング方式を使用するイレイジャーコーディングロジックを含むPCIeスイッチを構成する段階は、BMCを使用してイレイジャーコーディング方式を使用するイレイジャーコーディングロジックを含むPCIeスイッチを構成する段階を含む。
本発明の概念の実施形態は、システムを包含する。前記システムは、
NVMe SSDと、
前記NVMe SSDをサポートする機能を具現するFPGAと、
PCIeスイッチと、を含み、
前記機能は、データ加速化、データ重複排除(デデュープ)、データ・インテグリティ、データの暗号化とデータ圧縮を含む集合から獲得され、
前記PCIeスイッチは、前記FPGA及び前記NVMe SSDと通信する。
説明109によるシステムにおいて、
前記FPGA、前記NVMe SSDは、共通のハウジング内部にある。
説明110によるシステムにおいて、
前記PCIeスイッチは、前記FPGA及び前記NVMe SSDを含む共通のハウジングの外部にある。
説明109によるシステムにおいて、
前記PCIeスイッチは、前記FPGAに連結され、
前記FPGAは、前記NVMe SSDに連結される。
説明109によるシステムにおいて、
前記PCIeスイッチは、前記NVMe SSDに連結され、
前記NVMe SSDは、FPGAに連結される。
説明109によるシステムにおいて、
前記PCIeスイッチは、イレイジャーコーディングロジックを含み、
前記イレイジャーコーディングロジックは、イレイジャーコーディングコントローラを含む。
説明114によるシステムにおいて、
前記イレイジャーコーディングロジックは、Look−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックの中の1つを含む。
説明114によるシステムにおいて、
イレイジャーコーディングロジックは、キャッシュ内に存在する読み取り要請によって要請されたデータに少なくとも部分的に基づいて、ホストからの読み取り要請への応答を返すように動作する。
説明116によるシステムにおいて、
前記イレイジャーコーディングロジックは、キャッシュをさらに含む。
説明116によるシステムにおいて、
前記PCIeスイッチは、シャーシ内に位置し、
前記シャーシは、イレイジャーコーディングロジックによってキャッシュとして使用されるメモリを含む。
説明114によるシステムにおいて、
レイジャーコーディングロジックは、書き込み要請を完了する前に、ホストへの書き込み要請に対する応答を返すように動作する。
説明119によるシステムにおいて、
前記PCIeスイッチは、書き込みバッファをさらに含み、
前記イレイジャーコーディングコントローラは、書き込み要請内のデータを書き込みバッファに格納するように動作する。
説明114によるシステムにおいて、
レイジャーコーディングロジックは、スヌーピングロジックを含むLook−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックを含む。
説明114によるシステムにおいて、
イレイジャーコーディングロジックは、PCIeスイッチで受信された制御伝送をインターセプトし、制御伝送をPPUに伝送するように動作する。
説明114によるシステムにおいて、
イレイジャーコーディングロジックは、ホストからPCIeスイッチにおいて受信されたデータの伝送をインターセプトし、前記データ伝送で、ホストによって使用されるホストのLBAを前記NVMe SSDで使用される装置のLBAに代替するように動作する。
説明123によるシステムにおいて、
イレイジャーコーディングロジックは、前記NVMe SSDに前記データ伝送を指示するように動作する。
説明114によるシステムにおいて、
イレイジャーコーディングロジックは、NVMe SSDからPCIeスイッチで受信されたデータの伝送をインターセプトし、前記データ伝送でNVMe SSDで使用される装置のLBAをホストによって使用されるホストのLBAに代替するように動作する。
説明114によるシステムにおいて、
イレイジャーコーディングロジックは、NVMe SSD及び第2 NVMe SSDにわたる仮想ストレージ装置を定義する。
説明114によるシステムにおいて、
前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルするように動作する。
説明114によるシステムにおいて、
イレイジャーコーディングロジックを含むPCIeスイッチに連結された第2装置をさらに含む。
説明128によるシステムにおいて、
前記第2装置は、ストレージ装置、FPGAを含むSSD、およびGPUの中の少なくとも1つを含む。
説明128によるシステムにおいて、
第2装置は、イレイジャーコーディングロジックとともに使用不可能であり、
前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用できない第2装置に、少なくとも部分的に基づいて、イレイジャーコーディングロジックをディセーブルするように動作する。
説明128によるシステムにおいて、
第2装置は、イレイジャーコーディングロジックとともに使用不可能であり、
PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルし、イレイジャーコーディングロジックを使用することなく、第2装置へのアクセスをイネーブルするように動作する。
説明128によるシステムにおいて、
第2装置は、イレイジャーコーディングロジックとともに使用不可能であり、
PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルし、第2装置へのアクセスをディセーブルするように動作する。
本発明の概念の実施形態は、システムを包含する。前記システムは、
NVMe SSDと、
前記NVMe SSDをサポートする一つ以上の機能を具現する第1のFPGA部分とPCIeスイッチを具現する第2のFPGA部分を含むFPGAと、を備え、
前記1つ以上の機能は、データ加速化、データ重複排除(デデュープ)、データインテグリティ、データの暗号化とデータ圧縮の中の少なくとも1つを含む集合から獲得され、
前記PCIeスイッチは、前記FPGA及び前記NVMe SSDと通信し、
前記FPGA、前記NVMe SSDは、共通のハウジング内部にある。
説明133によるシステムにおいて、
前記PCIeスイッチは、イレイジャーコーディングコントローラを含むイレイジャーコーディングロジックを包含する。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、NVMe SSDの少なくとも二つの部分にまたがる仮想ストレージ装置を定義する。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、NVMe SSD及び第2 NVMe SSDにまたがる仮想ストレージ装置を定義する。
説明136によるシステムにおいて、
前記第2のNVMe SSDは、共通のハウジング内部にある。
説明136によるシステムにおいて、
前記第2のNVMe SSDは、共通のハウジングの外部にある。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、Look−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックの中の少なくとも1つを含む。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、キャッシュ内に存在する読み取り要請によって要請されたデータに少なくとも部分的に基づいて、ホストからの読み取り要請への応答を返すように動作する。
説明140によるシステムにおいて、
前記FPGAは、前記キャッシュをさらに含む。
説明140によるシステムにおいて、
前記共通のハウジングは、前記シャーシ内に位置し、
前記シャーシは、前記イレイジャーコーディングロジックにより前記キャッシュとして使用されるメモリを含む。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、書き込み要請を完了する前に、ホストへの前記書き込み要請に対する応答を返すように動作するシステム。
説明143によるシステムにおいて、
前記FPGAは、書き込みバッファをさらに含み、
前記イレイジャーコーディングコントローラは、書き込み要請内のデータを書き込みバッファに格納するように動作する。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、スヌーピングロジックを含むLook−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックを含む。
説明145によるシステムにおいて、
前記スヌーピングロジックは、前記PCIeスイッチで受信された制御伝送をインターセプトし、前記制御伝送を前記PPUに伝達するように動作する。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、ホストからのPCIeスイッチで受信されたデータの送信をインターセプトし、データの伝送で、ホストによって使用されたホストのLBAをNVMe SSDで使用する装置LBAに代替するように動作する。
説明147によるシステムにおいて、
イレイジャーコーディングロジックは、データの伝送をNVMe SSDに指示するように動作する。
説明134によるシステムにおいて、
前記イレイジャーコーディングロジックは、NVCe SSDからPCIeスイッチで受信されたデータの送信をインターセプトし、データ伝送のNVMe SSDで使用する装置のLBAをホストによって使用されたホストのLBAに代替するように動作する。
説明134によるシステムにおいて、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをイネーブルするように動作する。
説明134によるシステムにおいて、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用できないNVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをディセーブルするように動作する。
本発明の概念の実施形態は、システムを包含する。前記システムは、
NVMe SSDと、
イレイジャーコーディングロジックを含むPCIeスイッチと、を含み、
前記PCIeスイッチは、
前記PCIeスイッチがプロセッサと通信できるようにする外部コネクタと、
前記PCIeスイッチが前記NVMe SSDと通信できるようにする少なくとも一つのコネクタと、
前記PCIeスイッチを構成するPPUと、
前記NVMe SSDに格納されたデータに、イレイジャーコーディング方式を適用するための回路を含むイレイジャーコーディングコントローラと、を含む。
説明152によるシステムにおいて、
前記システムは、第2のNVMe SSDをさらに含み、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、イレイジャーコーディングロジックを含む前記PCIeスイッチが第2のNVMe SSDと通信できるようにする第2コネクタを含む。
説明152によるシステムにおいて、
前記システムは、
第2のNVMe SSDと、
第2のPCIeスイッチと、をさらに含み、
前記第2のPCIeスイッチは、
前記第2のPCIeスイッチが前記プロセッサと通信できるようにする第2外部コネクタと、
前記第2のPCIeスイッチが前記第2のNVMe SSDと通信できるようにする第2コネクタと、
前記第2のPCIeスイッチが前記イレイジャーコーディングロジックを含む前記PCIeスイッチと通信できるようにする第3コネクタと、を含み、
前記イレイジャーコーディングロジックを含む前記PCIeスイッチは、前記イレイジャーコーディングロジックを有する前記PCIeスイッチが前記第2のPCIeスイッチと通信できるようにする第4コネクタと、を含み、
前記イレイジャーコーディング方式は、前記NVMe SSD及び前記第2のNVMe SSDに格納されたデータに適用される。
説明154によるシステムにおいて、
前記第2のPCIeスイッチは、ディセーブルされた第2レーザコーディングロジックをさらに含む。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックはLook−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックの中の少なくとも1つを含む。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは、キャッシュ内に存在する読み取り要請によって要請されたデータに少なくとも部分的に基づいて、ホストからの読み取り要請への応答を返すように動作する。
説明157によるシステムにおいて、
前記イレイジャーコーディングロジックは、キャッシュをさらに含む。
説明157によるシステムにおいて、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、シャーシ内に位置し、
前記シャーシは、イレイジャーコーディングロジックによってキャッシュとして使用されるメモリを含む。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは読み取り要請を完了する前に、読み取り要請に対する応答をホストに返すように動作する。
説明160によるシステムにおいて、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、書き込みバッファをさらに含み、
前記イレイジャーコーディングコントローラは、前記書き込み要請内のデータを前記書き込みバッファに格納するように動作する。
説明152によるシステムにおいて、
イレイジャーコーディングロジックは、スヌーピングロジックを含むLook−Asideイレイジャーコーディングロジック及びLook−Throughイレイジャーコーディングロジックを含む。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは、前記PCIeスイッチで受信された制御伝送をインターセプトし、前記制御伝送をPPUに伝達するように動作する。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは、ホストからのPCIeスイッチで受信されたデータの送信をインターセプトし、前記データ伝送において、前記ホストによって使用されたホストのLBAを前記NVMe SSDで使用する装置のLBAに代替するように動作する。
説明164によるシステムにおいて、
前記イレイジャーコーディングロジックは、前記データ伝送を、前記NVMe SSDに指示するように動作する。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは、前記NVMe SSDから前記PCIeスイッチで受信されたデータの送信をインターセプトし、前記データ伝送において、前記NVMe SSDで使用する装置のLBAを前記ホストによって使用されたホストのLBAに代替するように動作する。
説明152によるシステムにおいて、
前記イレイジャーコーディングロジックは、前記NVMe SSD及び第2のNVMe SSDにまたがる仮想ストレージ装置を定義する。
説明152によるシステムにおいて、
イレイジャーコーディングロジックを有する前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルするように動作する。
説明152によるシステムにおいて、
イレイジャーコーディングロジックを含むPCIeスイッチに連結された第2装置をさらに含む。
説明169によるシステムにおいて、
前記第2装置は、ストレージ装置、FPGAを有するSSD、およびGPUの中の少なくとも1つを含む。
説明169によるシステムにおいて、
第2装置は、前記イレイジャーコーディングロジックとともに使用不可能であり、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用できない前記第2装置に、少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをディセーブルするように動作する。
説明169によるシステムにおいて、
前記第2装置は、イレイジャーコーディングロジックとともに使用不可能であり、
イレイジャーコーディングロジックを含む前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルし、イレイジャーコーディングロジックを使用することがなく、前記第2装置へのアクセスをイネーブルするように動作する。
説明169によるシステムにおいて、
第2装置は、イレイジャーコーディングロジックとともに使用不可能であり、
イレイジャーコーディングロジックを有する前記PCIeスイッチは、イレイジャーコーディングロジックとともに使用可能なNVMe SSDに少なくとも部分的に基づいて、イレイジャーコーディングロジックをイネーブルし、前記第2装置へのアクセスをディセーブルするように動作する。
105 マシン
110 プロセッサ
115 メモリ
120 メモリコントローラ
125、320、605、1005 PCIeスイッチ
130、130−1、130−2、130−3、130−5、130−6 ストレージ装置
135 装置ドライバ
205 クロック
210 ネットワークコネクタ
215 バス
220 ユーザーインターフェース
225 入出力エンジン
305 ミッドプレーン
310、315 スイッチボード
325、330 ベースボード管理コントローラ(BMC)
405、410 イレイジャーコーディング方式
505 コネクタ
510−1、510−2、510−3、510−4、510−5、510−6 PCIe−to−PCIeスタック
515 PCIeスイッチコア
520 PPU(Power Processing Unit)
525 スヌーピングロジック
530 イレイジャーコーディングコントローラ
535−1、535−2、535−3、535−4、535−5、535−6 キャプチャインターフェース
540 マルチプレクサ
545 キャッシュ
550 書き込みバッファ
555 イレイジャーコーディングイネーブル信号
705 FPGA
Claims (16)
- システムであって、
NVMe(Non−Volatile Memory Express)SSD(Solid State Drive)と、
前記NVMe SSDをサポートする一つ以上の機能を具現するFPGAと、
PCIe(Peripheral Component Interconnect Express)スイッチと、を備え、
前記1つ以上の機能は、データ加速化、データ重複排除(デデュープ)、データインテグリティ、データの暗号化及びデータ圧縮の中の少なくとも1つを包含し、
前記PCIeスイッチは、前記FPGA及び前記NVMe SSDと通信する、ことを特徴とするシステム。 - 前記PCIeスイッチは、イレイジャーコーディングロジックを含み、
前記イレイジャーコーディングロジックは、イレイジャーコーディングコントローラを含む、ことを特徴とする請求項1に記載のシステム。 - 前記PCIeスイッチは、ネイティブイレイジャーコーディングロジック(native Erasure Coding Logic)を含まない、前記NVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをイネーブルさせるように動作する、ことを特徴とする請求項2に記載のシステム。
- 前記イレイジャーコーディングロジックを含む前記PCIeスイッチと連結された第2装置をさらに含む、ことを特徴とする請求項2に記載のシステム。
- 前記第2装置は、ネイティブイレイジャーコーディングロジックを含むストレージ装置と非ストレージ装置のうち少なくとも一つを含み、
前記PCIeスイッチは、前記第2装置に少なくとも部分的に基づいて前記イレイジャーコーディングロジックをディセーブル(disable)させるように動作する、ことを特徴とする請求項4に記載のシステム。 - 前記第2装置は、ネイティブイレイジャーコーディングロジックを含むストレージ装置と非ストレージ装置のうち少なくとも一つを含み、
前記PCIeスイッチは、前記ネイティブイレイジャーコーディングロジックが含まないNVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをイネーブル(enable)させ、前記イレイジャーコーディングロジックを使用することなしに、前記第2装置に対するアクセスをイネーブル(enable)させるように動作する、ことを特徴とする請求項4に記載のシステム。 - NVMe(Non−Volatile Memory Express)SSD(Solid State Drive)と、
前記NVMe SSDをサポートする1つ以上の機能を具現する第1のFPGA部分とPCIe(Peripheral Component Interconnect Express)スイッチを具現する第2のFPGA部分を含むFPGA(Field Programmable Gate Array)と、を備え、
前記一つ以上の機能は、データ加速化、データ重複排除、データインテグリティ、データの暗号化、およびデータ圧縮のうち少なくとも一つを含み、
前記PCIeスイッチは、前記FPGA及び前記NVMe SSDと通信し、
前記FPGA及び前記NVMe SSDは、共通のハウジング内部に存在する、ことを特徴とするシステム。 - 前記PCIeスイッチは、イレイジャーコーディングロジックを含み、
前記イレイジャーコーディングロジックは、イレイジャーコーディングコントローラを含む、ことを特徴とする請求項7に記載のシステム - イレイジャーコーディングロジックはLook−AsideイレイジャーコーディングロジックとLook−Throughイレイジャーコーディングロジックのうちの少なくとも一つを含む、ことを特徴とする請求項7に記載のシステム。
- イレイジャーコーディングロジックは、ホストからの読み取り要請により要請されたデータがキャッシュに存在するものに少なくとも部分的に基づいて、前記ホストからの前記読み取り要請に対する応答を返すように動作する、ことを特徴とする請求項2又は7に記載のシステム。
- イレイジャーコーディングロジックは、ホストからの書き込み要請を完了する前に、前記ホストからの前記書き込み要請に対する応答を返すように動作する、ことを特徴とする請求項2又は7に記載のシステム。
- イレイジャーコーディングロジックはLook−Asideコーディングロジックを含み、
前記Look−Asideコーディングロジックはスヌーピングロジックを含む、ことを特徴とする請求項2又は7に記載のシステム。 - イレイジャーコーディングロジックは、ホストから前記PCIeスイッチで受信されたデータの伝送をインターセプトし、前記データ伝送において、前記ホストによって使用されるホスト論理ブロックアドレス(LBA: Logical Block Address)を前記NVMe SSDによって使用される装置LBAに変更するように動作する、ことを特徴とする請求項2又は7に記載のシステム。
- イレイジャーコーディングロジックは、前記NVMe SSDから前記PCIeスイッチで受信されたデータの伝送をインターセプトし、前記データ伝送で、前記NVMe SSDによって使用される装置の論理ブロックアドレス(LBA; Logical Block Address)をホストによって使用されるホストLBAに変更するように動作する、ことを特徴とする請求項2又は7に記載のシステム。
- イレイジャーコーディングロジックを有する前記PCIeスイッチは、ネイティブイレイジャーコーディングロジック(native Erasure Coding Logic)を含まない、前記NVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをイネーブル(enable)させるように動作する、ことを特徴とする請求項7に記載のシステム。
- イレイジャーコーディングロジックを有する前記PCIeスイッチは、ネイティブイレイジャーコーディングロジック(native Erasure Coding Logic)を含む前記NVMe SSDに少なくとも部分的に基づいて、前記イレイジャーコーディングロジックをディセーブル(disable)させるように動作する、ことを特徴とする請求項7に記載のシステム。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862745261P | 2018-10-12 | 2018-10-12 | |
US62/745261 | 2018-10-12 | ||
US16/207,080 US10635609B2 (en) | 2018-03-02 | 2018-11-30 | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
US16/207080 | 2018-11-30 | ||
US16/226,629 US10838885B2 (en) | 2018-03-02 | 2018-12-19 | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
US16/226629 | 2018-12-19 | ||
US16/260087 | 2019-01-28 | ||
US16/260,087 US11860672B2 (en) | 2018-03-02 | 2019-01-28 | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020061149A true JP2020061149A (ja) | 2020-04-16 |
JP2020061149A5 JP2020061149A5 (ja) | 2022-10-19 |
JP7370801B2 JP7370801B2 (ja) | 2023-10-30 |
Family
ID=70219044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019188052A Active JP7370801B2 (ja) | 2018-10-12 | 2019-10-11 | FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7370801B2 (ja) |
KR (1) | KR20200041815A (ja) |
CN (1) | CN111045597A (ja) |
TW (1) | TWI791880B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102225577B1 (ko) * | 2020-08-21 | 2021-03-09 | (주)테온 | 하이브리드 스토리지를 이용한 데이터 분산 저장 방법 및 장치 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148227B (zh) * | 2020-09-25 | 2023-03-24 | 中国科学院空天信息创新研究院 | 一种存储设备及信息处理方法 |
CN112732477B (zh) * | 2021-04-01 | 2021-06-29 | 四川华鲲振宇智能科技有限责任公司 | 一种带外自检故障隔离的方法 |
JP2023001494A (ja) * | 2021-06-21 | 2023-01-06 | キオクシア株式会社 | メモリシステムおよび制御方法 |
TWI784804B (zh) * | 2021-11-19 | 2022-11-21 | 群聯電子股份有限公司 | 時脈重整電路模組、訊號傳輸系統及訊號傳輸方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063497A (ja) * | 2012-09-21 | 2014-04-10 | Plx Technology Inc | 論理装置の機能を有するpciエクスプレススイッチ |
US20140337540A1 (en) * | 2013-05-08 | 2014-11-13 | Lsi Corporation | METHOD AND SYSTEM FOR I/O FLOW MANAGEMENT FOR PCIe DEVICES |
US9336173B1 (en) * | 2013-12-20 | 2016-05-10 | Microsemi Storage Solutions (U.S.), Inc. | Method and switch for transferring transactions between switch domains |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572320B1 (en) * | 2009-01-23 | 2013-10-29 | Cypress Semiconductor Corporation | Memory devices and systems including cache devices for memory modules |
CN102819517A (zh) * | 2011-06-08 | 2012-12-12 | 鸿富锦精密工业(深圳)有限公司 | Pcie接口卡 |
US20130232293A1 (en) * | 2012-03-05 | 2013-09-05 | Nguyen P. Nguyen | High performance storage technology with off the shelf storage components |
US9111621B2 (en) * | 2012-06-20 | 2015-08-18 | Pfg Ip Llc | Solid state drive memory device comprising secure erase function |
US8954657B1 (en) * | 2013-09-27 | 2015-02-10 | Avalanche Technology, Inc. | Storage processor managing solid state disk array |
US9940036B2 (en) * | 2014-09-23 | 2018-04-10 | Western Digital Technologies, Inc. | System and method for controlling various aspects of PCIe direct attached nonvolatile memory storage subsystems |
US20160259754A1 (en) * | 2015-03-02 | 2016-09-08 | Samsung Electronics Co., Ltd. | Hard disk drive form factor solid state drive multi-card adapter |
US10007443B1 (en) * | 2016-03-31 | 2018-06-26 | EMC IP Holding Company LLC | Host to device I/O flow |
CN108073833A (zh) * | 2016-11-10 | 2018-05-25 | 苏州韦科韬信息技术有限公司 | 基于pcie接口的固态硬盘保密系统及方法 |
TW201823916A (zh) * | 2016-12-27 | 2018-07-01 | 英業達股份有限公司 | 伺服器系統 |
US10255134B2 (en) * | 2017-01-20 | 2019-04-09 | Samsung Electronics Co., Ltd. | Control plane method and apparatus for providing erasure code protection across multiple storage devices |
-
2019
- 2019-08-16 TW TW108129186A patent/TWI791880B/zh active
- 2019-10-08 CN CN201910951173.4A patent/CN111045597A/zh active Pending
- 2019-10-11 KR KR1020190126503A patent/KR20200041815A/ko active Search and Examination
- 2019-10-11 JP JP2019188052A patent/JP7370801B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063497A (ja) * | 2012-09-21 | 2014-04-10 | Plx Technology Inc | 論理装置の機能を有するpciエクスプレススイッチ |
US20140337540A1 (en) * | 2013-05-08 | 2014-11-13 | Lsi Corporation | METHOD AND SYSTEM FOR I/O FLOW MANAGEMENT FOR PCIe DEVICES |
US9336173B1 (en) * | 2013-12-20 | 2016-05-10 | Microsemi Storage Solutions (U.S.), Inc. | Method and switch for transferring transactions between switch domains |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102225577B1 (ko) * | 2020-08-21 | 2021-03-09 | (주)테온 | 하이브리드 스토리지를 이용한 데이터 분산 저장 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP7370801B2 (ja) | 2023-10-30 |
CN111045597A (zh) | 2020-04-21 |
KR20200041815A (ko) | 2020-04-22 |
TW202020675A (zh) | 2020-06-01 |
TWI791880B (zh) | 2023-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860672B2 (en) | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD | |
JP7370801B2 (ja) | FPGA+SSD内部のエンベデッドPCIeスイッチによるイレイジャーコードデータ保護機能をサポートするシステム | |
TWI591512B (zh) | 儲存系統及儲存保護之方法 | |
US8074017B2 (en) | On-disk caching for raid systems | |
US9047220B2 (en) | Storage system and data management method | |
US20100049919A1 (en) | Serial attached scsi (sas) grid storage system and method of operating thereof | |
TWI451257B (zh) | 保護在直接附加儲存(das)系統中快取資料的完整性之裝置及方法 | |
US8595397B2 (en) | Storage array assist architecture | |
JP2015532985A (ja) | 大規模なデータ記憶および受け渡しシステム | |
US11461303B2 (en) | IO metadata management for directly connected host | |
US11392306B2 (en) | Using storage system memory as host memory | |
US20170220249A1 (en) | Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks | |
US11782634B2 (en) | Dynamic use of non-volatile ram as memory and storage on a storage system | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US20210271393A1 (en) | Method and apparatus for performing data access management of all flash array server | |
JP2007524932A (ja) | パリティデータを生成するための方法、システム、及びプログラム | |
US20210157487A1 (en) | Storage System Having Storage Engines and Disk Arrays Interconnected by Redundant Fabrics | |
US11315028B2 (en) | Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system | |
US20240095196A1 (en) | Method for supporting erasure code data protection with embedded pcie switch inside fpga+ssd | |
JP5856665B2 (ja) | ストレージシステム及びストレージシステムのデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221007 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221007 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230901 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7370801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |