JP7237782B2 - ストレージシステム及びその制御方法 - Google Patents
ストレージシステム及びその制御方法 Download PDFInfo
- Publication number
- JP7237782B2 JP7237782B2 JP2019167669A JP2019167669A JP7237782B2 JP 7237782 B2 JP7237782 B2 JP 7237782B2 JP 2019167669 A JP2019167669 A JP 2019167669A JP 2019167669 A JP2019167669 A JP 2019167669A JP 7237782 B2 JP7237782 B2 JP 7237782B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- processor
- search
- circuit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- 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
- 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/0656—Data buffering 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/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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本実施形態に係るストレージシステムは、プロセッサと、メモリと、少なくとも1つのストレージデバイスとを備える。
図1は、第1の実施形態に係るストレージシステム1の一例を示すブロック図である。
なお、メモリ4と内部メモリ12とは、1つのメモリに統合されてもよい。
第2の実施形態は、上記第1の実施形態の変形例である。
第3の実施形態においては、上記第1の実施形態に係るストレージシステム1に適用される性能と、その性能によって得られる効果の例を説明する。
第4の実施形態においては、上記第2の実施形態に係るストレージシステム1Aに適用される性能と、その性能によって得られる効果の例を説明する。
Claims (10)
- プロセッサと、
前記プロセッサから受信した検索キーに基づいて、前記検索キーに対応するバリューを検索するストレージデバイスと、
前記バリューを含むデータの位置情報を検索するために用いられる検索情報を記憶する第1のメモリと、
を具備し、
前記ストレージデバイスは、
前記データを記憶する不揮発性メモリと、
前記不揮発性メモリを制御するコントロール回路と、
前記コントロール回路により前記不揮発性メモリより高速にアクセス可能な第2のメモリと、
を具備し、
前記プロセッサは、前記検索キーと前記検索情報とに基づいて、前記位置情報を検索し、前記位置情報と前記検索キーとを前記コントロール回路へ送信し、
前記コントロール回路は、前記位置情報と前記検索キーとに基づいて、前記不揮発性メモリから前記データの少なくとも一部をリードし、前記データの少なくとも一部を前記第2のメモリに記憶させ、前記データの少なくとも一部の中から前記検索キーに対応する前記バリューを検索し、前記バリューを前記プロセッサへ送信する、
ストレージシステム。 - 前記不揮発性メモリは、ルートノードと、前記ルートノードより下層の複数のブランチノードと、前記複数のブランチノードより下層の複数のリーフノードとを含む木構造を持つデータを記憶し、
前記ルートノードは、キーとブランチノードの位置情報とのペアを複数含み、
前記複数のブランチノードのそれぞれは、キーとリーフノードの位置情報とのペアを複数含み、
前記複数のリーフノードのそれぞれは、キーとバリューとのペアを複数含み、
前記検索情報は、前記ルートノードと前記複数のブランチノードの少なくとも一部とを含み、前記リーフノードを含まない、
請求項1のストレージシステム。 - 前記コントロール回路は、前記検索キーに対応する前記バリュー、又は、前記データのうち前記バリューを含む部分に対して、エラー訂正と伸長とのうちの少なくとも一方を実行する、
請求項1又は請求項2のストレージシステム。 - 前記データは、前記データに含まれている複数のキーを分解して得られる複数の要素に基づいて木構造を形成し、前記複数の要素に対して前記データに含まれている複数のバリューを関係付けたデータ構造を持ち、
前記コントロール回路は、前記検索キーに基づいて、前記データの少なくとも一部を探索し、前記検索キーに対応する前記バリューを検索する、
請求項1乃至請求項3のいずれか1項のストレージシステム。 - 前記プロセッサと前記コントロール回路との間のデータ転送に用いられるデータ転送バスと、
前記コントロール回路と前記不揮発性メモリとの間のデータ転送に用いられる伝送路と、
をさらに具備し、
前記データ転送バスにおける前記データ転送で使用される帯域幅は、前記伝送路における前記データ転送で使用される帯域幅より狭い、
請求項1乃至請求項4のいずれか1項のストレージシステム。 - 前記コントロール回路は、前記データの一部である第1の部分データを、前記不揮発性メモリから受信し、前記第1の部分データに前記検索キーが含まれていない場合に、前記データの一部であり前記第1の部分データとは異なる第2の部分データを受信する、請求項1乃至請求項5のいずれか1項のストレージシステム。
- 前記コントロール回路は、前記第1の部分データに基づいて、前記データ内のどの位置にどのキーが配置されているかを推測可能であり、
前記コントロール回路は、前記第1の部分データに前記検索キーが含まれていない場合に、前記第1の部分データに基づいて、前記第2の部分データを求める、
請求項6のストレージシステム。 - 前記コントロール回路は、前記データの一部である部分データを前記不揮発性メモリからリードする場合に、部分データリードコマンドを、前記不揮発性メモリに送信し、
前記不揮発性メモリは、前記部分データリードコマンドを受信した場合に、前記不揮発性メモリに備えられているメモリチップからリードされた前記データのうちの前記部分データを、前記コントロール回路へ送信する、
請求項6又は請求項7のストレージシステム。 - 前記不揮発性メモリは、ルートノードと、前記ルートノードより下層の複数のブランチノードと、前記複数のブランチノードより下層の複数のリーフノードとを含む木構造を持つデータを記憶し、
前記ルートノードは、キーとブランチノードの位置情報とのペアを複数含み、
前記複数のブランチノードのそれぞれは、キーとリーフノードの位置情報とのペアを複数含み、
前記複数のリーフノードのそれぞれは、キーとバリューとのペアを複数含み、
前記プロセッサは、前記ストレージシステムの起動時に、前記ルートノードと前記複数のブランチノードとをリードするためのリードリクエストを前記ストレージデバイスへ送信し、
前記ストレージデバイスは、前記リードリクエストに対して、前記不揮発性メモリに記憶されている前記ルートノードと前記複数のブランチノードとをリードし、前記リードしたルートノードと前記リードした複数のブランチノードとを前記プロセッサへ送信し、
前記プロセッサは、前記ストレージデバイスから送信された前記ルートノードと前記複数のブランチノードとを前記検索情報として前記第1のメモリに記憶させる、
請求項1のストレージシステム。 - プロセッサと、第1のメモリと、不揮発性メモリ及び第2のメモリを備えるストレージデバイスと、を具備するストレージシステムの制御方法であって、
前記プロセッサにより検索キーを指定するリードリクエストを受信し、
前記プロセッサにより前記受信したリードリクエストで指定された前記検索キーと、前記第1のメモリに記憶されている検索情報とに基づいて、前記検索キーとバリューとのペアを含む第1のデータの前記不揮発性メモリにおける位置情報を検索し、
前記プロセッサにより前記位置情報と前記検索キーとを前記ストレージデバイスへ送信し、
前記ストレージデバイスにより前記位置情報と前記検索キーとに基づいて、前記不揮発性メモリから前記第1のデータの少なくとも一部である第2データをリードし、前記第2のデータを前記第2のメモリに記憶し、
前記ストレージデバイスにより前記第2のメモリに記憶された前記第2のデータから前記検索キーに対応する前記バリューを検索し、
前記ストレージデバイスにより前記検索されたバリューを前記プロセッサへ送信し、
前記プロセッサにより前記検索されたバリューを前記受信したリードリクエストに対する応答として送信する、
制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167669A JP7237782B2 (ja) | 2019-09-13 | 2019-09-13 | ストレージシステム及びその制御方法 |
US16/805,939 US11664979B2 (en) | 2019-09-13 | 2020-03-02 | Storage system of key-value store which executes retrieval in processor and control circuit, and control method of the same |
US18/305,101 US20230254128A1 (en) | 2019-09-13 | 2023-04-21 | Storage system of key-value store which executes retrieval in processor and control circuit, and control method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167669A JP7237782B2 (ja) | 2019-09-13 | 2019-09-13 | ストレージシステム及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021043911A JP2021043911A (ja) | 2021-03-18 |
JP7237782B2 true JP7237782B2 (ja) | 2023-03-13 |
Family
ID=74862437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019167669A Active JP7237782B2 (ja) | 2019-09-13 | 2019-09-13 | ストレージシステム及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11664979B2 (ja) |
JP (1) | JP7237782B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240028228A1 (en) * | 2022-07-19 | 2024-01-25 | Vmware, Inc. | Tiered memory data structures and algorithms for static searching via binary search |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130250686A1 (en) | 2012-03-26 | 2013-09-26 | Kabushiki Kaisha Toshiba | Semiconductor memory device, information processing system and control method |
JP2018055504A (ja) | 2016-09-29 | 2018-04-05 | 株式会社日本総合研究所 | 情報処理装置 |
US20190108267A1 (en) | 2017-10-05 | 2019-04-11 | Zadara Storage, Inc. | Maintaining shards in kv store with dynamic key range |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185585A (ja) * | 1997-09-12 | 1999-03-30 | N T T Data:Kk | 完全メモリ常駐型インデックス方法および装置 |
JP5165662B2 (ja) * | 2009-10-27 | 2013-03-21 | 株式会社高速屋 | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
US10114908B2 (en) | 2012-11-13 | 2018-10-30 | International Business Machines Corporation | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data |
JP2014130492A (ja) | 2012-12-28 | 2014-07-10 | Hitachi Ltd | インデックスの生成方法及び計算機システム |
KR101549220B1 (ko) | 2013-10-15 | 2015-09-03 | 네이버 주식회사 | 데이터베이스 관리 방법, 시스템 및 데이터베이스 트리 구조 |
US9690652B2 (en) * | 2015-01-16 | 2017-06-27 | Kabushiki Kaisha Toshiba | Search device and search method searching data based on key |
JP6542152B2 (ja) * | 2016-03-29 | 2019-07-10 | 東芝メモリ株式会社 | オブジェクトストレージ、コントローラおよびプログラム |
US10922239B2 (en) * | 2017-12-29 | 2021-02-16 | Samsung Electronics Co., Ltd. | Device for performing iterator operation in database |
US11093471B2 (en) * | 2018-06-05 | 2021-08-17 | Vmware, Inc. | Large range lookups for Bϵ-tree |
JP2020119618A (ja) | 2019-01-21 | 2020-08-06 | キオクシア株式会社 | メモリシステム |
JP2020144668A (ja) | 2019-03-07 | 2020-09-10 | キオクシア株式会社 | メモリシステム |
-
2019
- 2019-09-13 JP JP2019167669A patent/JP7237782B2/ja active Active
-
2020
- 2020-03-02 US US16/805,939 patent/US11664979B2/en active Active
-
2023
- 2023-04-21 US US18/305,101 patent/US20230254128A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130250686A1 (en) | 2012-03-26 | 2013-09-26 | Kabushiki Kaisha Toshiba | Semiconductor memory device, information processing system and control method |
JP2013200839A (ja) | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置、情報処理システムおよび制御方法 |
JP2018055504A (ja) | 2016-09-29 | 2018-04-05 | 株式会社日本総合研究所 | 情報処理装置 |
US20190108267A1 (en) | 2017-10-05 | 2019-04-11 | Zadara Storage, Inc. | Maintaining shards in kv store with dynamic key range |
Non-Patent Citations (1)
Title |
---|
増永 良文 他,リレーショナルデータベース入門,第3版,日本,株式会社サイエンス社,2017年02月25日,pp.207-226,ISBN 978-4-7819-1390-2 |
Also Published As
Publication number | Publication date |
---|---|
US11664979B2 (en) | 2023-05-30 |
US20210083861A1 (en) | 2021-03-18 |
US20230254128A1 (en) | 2023-08-10 |
JP2021043911A (ja) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150837B2 (en) | Method, device and system for processing sequential groups of buffered write data | |
CN106448737B (zh) | 读取闪存数据的方法、装置以及固态驱动器 | |
CN109101434B (zh) | 存储装置、存储系统及所述存储装置的操作方法 | |
KR20190087217A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11301393B2 (en) | Data storage device, operation method thereof, and storage system including the same | |
US20160196216A1 (en) | Mapping table managing method and associated storage system | |
US10120606B2 (en) | Data storage devices including storage controller circuits to select data streams based on application tags and computing systems including the same | |
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
JP5631938B2 (ja) | 半導体記憶装置 | |
US10067873B2 (en) | Data storage device and operating method thereof | |
CN108027764B (zh) | 可转换的叶的存储器映射 | |
US11204797B2 (en) | Computing systems and methods of operating computing systems | |
US10990536B2 (en) | Memory controller, operating method of the memory controller, and storage device including the memory controller | |
US11422930B2 (en) | Controller, memory system and data processing system | |
KR20160024546A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200086143A (ko) | 저장 장치 및 그것의 데이터 처리 방법 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20230254128A1 (en) | Storage system of key-value store which executes retrieval in processor and control circuit, and control method of the same | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
US20240070062A1 (en) | Nonvolatile memory, memory system, and control method of nonvolatile memory | |
CN114764396A (zh) | 数据存储装置及其操作方法 | |
US10977170B2 (en) | Memory controller for performing unmap operation and memory system having the same | |
US11681706B2 (en) | System and method for accelerated data search of database storage system | |
CN115641887A (zh) | 闪存管理方法及闪存设备 | |
CN113778322A (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230118 |
|
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: 20230131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230301 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7237782 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |