JP6564375B2 - 高スループットのキーバリューストアの実現のためのメモリ構成 - Google Patents
高スループットのキーバリューストアの実現のためのメモリ構成 Download PDFInfo
- Publication number
- JP6564375B2 JP6564375B2 JP2016537498A JP2016537498A JP6564375B2 JP 6564375 B2 JP6564375 B2 JP 6564375B2 JP 2016537498 A JP2016537498 A JP 2016537498A JP 2016537498 A JP2016537498 A JP 2016537498A JP 6564375 B2 JP6564375 B2 JP 6564375B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- key
- value
- store
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Dram (AREA)
Description
1つ以上の実現化例は一般に集積回路に関し、より特定的にはデータを処理するための回路およびデータを処理する方法に関する。
集積回路は、データを処理するための装置において実現されてもよい。また、データは、データ伝送規格に準拠する公的プロトコルまたは専用プロトコルであり得る異なるプロトコルに従って処理されてもよい。しかしながら、所与のプロトコルに依存して、異なるハードウェア要素が必要とされる場合がある。さまざまなハードウェア要素の実現は、たとえばスループット、待ち時間および消費電力といった装置の性能に影響を与える場合がある。これらの性能基準の各々は、装置の評価において引き続き有意である。すなわち、回路開発者らは、装置によって消費される電力を減少させつつ、装置の速度を改良し続けている。
データを処理するための回路が説明される。回路は、キーバリューストアデータトランザクションを実現するための要求を受信するための入力部と、キーバリューストアに関連付けられた複数のメモリ装置へのアクセスを可能にする異なるメモリタイプに関連付けられた複数のメモリインターフェイスと、データ転送基準に基づいて、複数のメモリインターフェイスを介したデータのルーティングを制御するメモリ管理回路とを含む。
キーバリューストア(KVS)は、大抵のデータセンターにおいて根本的に重要なミドルウェア層である。キーバリューストアの機能は、通信インターフェイスまたはネットワークインターフェイスを通して(アドレスでインデックス化されるのではなく)キーに関連付けられた値を格納し、検索することである。近年、キーバリューストアは、最も頻繁にアクセスされたオブジェクトをキャッシュすることを介して、それらのウェブでの存在感の性能を加速するために、データセンターにおいて広範に導入されている。KVSサーバは典型的には大規模データベースの内容をキャッシュするために使用されるため、そのようなKVSサーバの重要な局面はその記憶密度であり、キャッシュが大きいほど、KVSはより効果的になる。さらに、KVSサーバのスループットおよび待ち時間は、ウェブサイトが組立てられ得る速度を本質的に決定するため、重要な特性である。最後に、サーバの(そのエネルギー消費によって支配される)運営経費がその資本化経費よりも高くなり始めるにつれて、消費電力はますます重要になる。
Claims (14)
- データを処理するための回路であって、前記回路は、
キーに関連付けられたストアへのアクセスを可能にするキーバリューストアデータトランザクションを実現するための要求を受信するための入力部と、
キーバリューストアに関連付けられた複数のメモリ装置へのアクセスを可能にする異なるメモリタイプに関連付けられた複数のメモリインターフェイスと、
前記キーバリューストアデータトランザクションに関連付けられたストアの値の第1の部分を格納する第1のタイプの第1のメモリ装置と、
前記キーバリューストアデータトランザクションに関連付けられた前記ストアの前記値の第2の部分を格納する第2のタイプの第2のメモリ装置と、
データ転送基準に基づいて、前記複数のメモリインターフェイスを介したデータのルーティングを制御するメモリ管理回路とを含み、
前記メモリ管理回路は、前記キーバリューストアデータトランザクションに関連付けられた前記ストアの前記値の前記第1の部分、および前記キーバリューストアデータトランザクションに関連付けられた前記ストアの前記値の前記第2の部分にアクセスすることを可能にする、回路。 - 前記メモリ管理回路は、データブロックの、第1のデータ部分および第2のデータ部分へのルーティングを制御する、請求項1に記載の回路。
- 前記メモリ管理回路は、第1のメモリインターフェイスを介してデータブロックの第1のデータ部分をルーティングすること、および第2のメモリインターフェイスを介して前記データブロックの第2のデータ部分をルーティングすることを可能にする、請求項1または請求項2に記載の回路。
- 前記メモリ管理回路は、アクセス基準に基づいて、前記データブロックの前記第1のデータ部分および前記第2のデータ部分の各々を選択されたメモリタイプにルーティングする、請求項3に記載の回路。
- 前記アクセス基準は、データブロックのデータのサイズに基づく、請求項4に記載の回路。
- 前記アクセス基準は、データブロックのデータのアクセス頻度に基づく、請求項4に記載の回路。
- 前記複数のメモリインターフェイスのうちのあるメモリインターフェイスは、データをDRAMメモリにルーティングすることを可能にし、第2のメモリインターフェイスは、データをSSDメモリにルーティングすることを可能にする、請求項1〜6のいずれか1項に記載の回路。
- 第2のメモリインターフェイスを介してルーティングされたデータは、複数のメモリ装置に格納される、請求項1〜7のいずれか1項に記載の回路。
- データを処理する方法であって、前記方法は、
キーに関連付けられたストアへのアクセスを可能にするキーバリューストアに関連付けられたデータトランザクションを実現するための要求を受信するステップと、
データ転送基準に基づいて、複数のメモリインターフェイスを介したデータのルーティングを制御するステップとを含み、第1のタイプのメモリの第1のメモリ装置が、前記データトランザクションに関連付けられたストアの値の第1の部分を格納し、第2のタイプのメモリの第2のメモリ装置が、前記データトランザクションに関連付けられた前記ストアの前記値の第2の部分を格納し、前記方法はさらに、
第1のメモリインターフェイスを介して前記キーバリューストアに関連付けられた前記第1のメモリ装置のメモリ位置にアクセスすることを可能にするステップと、
第2のメモリインターフェイスを介して前記キーバリューストアに関連付けられた前記第2のメモリ装置のメモリ位置にアクセスすることを可能にするステップとを含み、
メモリ管理回路が、前記データトランザクションに関連付けられた前記ストアの前記値の前記第1の部分、および前記データトランザクションに関連付けられた前記ストアの前記値の前記第2の部分にアクセスすることを可能にする、方法。 - データ転送基準に基づいて、前記複数のメモリインターフェイスを介したデータのルーティングを制御するステップは、前記第1のメモリインターフェイスを介してデータブロックの第1の部分をルーティングし、前記第2のメモリインターフェイスを介して前記データブロックの第2の部分をルーティングするステップを含む、請求項9に記載の方法。
- データ転送基準に基づいて、前記複数のメモリインターフェイスを介したデータのルーティングを制御するステップは、データブロックのサイズに基づいて、前記第1のメモリインターフェイスまたは前記第2のメモリインターフェイスのいずれかを介してデータをルーティングするステップを含む、請求項9または請求項10に記載の方法。
- データ転送基準に基づいて、前記複数のメモリインターフェイスを介したデータのルーティングを制御するステップは、データブロックのアクセス頻度に基づいて、前記第1のメモリインターフェイスまたは前記第2のメモリインターフェイスのいずれかを介してデータをルーティングするステップを含む、請求項9〜11のいずれか1項に記載の方法。
- 第1のメモリインターフェイスを介して前記キーバリューストアに関連付けられた前記第1のメモリ装置のメモリ位置にアクセスすることを可能にするステップは、データをSSDメモリにルーティングするステップを含む、請求項9〜12のいずれか1項に記載の方法。
- 第2のメモリインターフェイスを介して前記キーバリューストアに関連付けられた前記第2のメモリ装置のメモリ位置にアクセスすることを可能にするステップは、データをDRAMにルーティングするステップを含む、請求項13に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/100,250 | 2013-12-09 | ||
US14/100,250 US9323457B2 (en) | 2013-12-09 | 2013-12-09 | Memory arrangement for implementation of high-throughput key-value stores |
PCT/US2014/068228 WO2015088837A1 (en) | 2013-12-09 | 2014-12-02 | Memory arrangement for implementation of high-throughput key-value stores |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017502402A JP2017502402A (ja) | 2017-01-19 |
JP2017502402A5 JP2017502402A5 (ja) | 2017-11-24 |
JP6564375B2 true JP6564375B2 (ja) | 2019-08-21 |
Family
ID=52134422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016537498A Active JP6564375B2 (ja) | 2013-12-09 | 2014-12-02 | 高スループットのキーバリューストアの実現のためのメモリ構成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9323457B2 (ja) |
EP (1) | EP3080719B1 (ja) |
JP (1) | JP6564375B2 (ja) |
KR (1) | KR102261805B1 (ja) |
CN (1) | CN105814560B (ja) |
WO (1) | WO2015088837A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2972888B1 (en) * | 2013-03-14 | 2019-02-06 | Micron Technology, INC. | Memory systems and methods including training,data organizing,and/or shadowing |
US11132328B2 (en) | 2013-12-20 | 2021-09-28 | Rambus, Inc. | High level instructions with lower-level assembly code style primitives within a memory appliance for accessing memory |
WO2015097774A1 (ja) * | 2013-12-25 | 2015-07-02 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
US10831731B2 (en) * | 2014-03-12 | 2020-11-10 | Dell Products L.P. | Method for storing and accessing data into an indexed key/value pair for offline access |
US10248329B2 (en) * | 2014-04-08 | 2019-04-02 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method of improving access to a main memory of a computer system, a corresponding computer system and a computer program product |
US9772939B2 (en) * | 2015-01-05 | 2017-09-26 | International Business Machines Corporation | Heat-based key-value slot organization for flash-optimized data placement in multi-tiered storage systems |
US9727416B2 (en) * | 2015-07-01 | 2017-08-08 | Xilinx, Inc. | Variable code rate solid-state drive |
KR102416004B1 (ko) * | 2015-09-02 | 2022-07-04 | 삼성전자주식회사 | 인터페이스 회로들, 메모리 모듈들 및 인터페이스 회로들과 메모리 모듈들을 연결하는 스위치 회로를 포함하는 서버 장치 |
WO2017214862A1 (zh) * | 2016-06-14 | 2017-12-21 | 华为技术有限公司 | 数据访问方法和相关装置及*** |
US10257122B1 (en) * | 2016-10-12 | 2019-04-09 | Barefoot Networks, Inc. | Distributing key-value pairs to forwarding elements for caching |
CN106557571A (zh) * | 2016-11-23 | 2017-04-05 | 福建亿榕信息技术有限公司 | 一种基于k‑v存储引擎的数据去重方法及装置 |
US10404408B1 (en) | 2016-12-13 | 2019-09-03 | Xilinx, Inc. | Pam multi-level error distribution signature capture |
US10482129B1 (en) | 2017-04-11 | 2019-11-19 | Xilinx, Inc. | Pipelined database processing circuit and method |
US10649969B2 (en) * | 2017-06-13 | 2020-05-12 | Western Digital Technologies, Inc. | Memory efficient persistent key-value store for non-volatile memories |
US10033523B1 (en) | 2017-08-14 | 2018-07-24 | Xilinx, Inc. | Circuit for and method of measuring latency in an integrated circuit |
US10839286B2 (en) * | 2017-09-14 | 2020-11-17 | Xilinx, Inc. | System and method for implementing neural networks in integrated circuits |
CN110377535B (zh) * | 2018-04-13 | 2020-11-06 | 北京忆芯科技有限公司 | 分布式kv存储*** |
US20220035737A1 (en) * | 2018-09-27 | 2022-02-03 | Sony Corporation | Storage apparatus, high dimensional gaussian filtering circuit, stereo depth calculation circuit, and information processing apparatus |
US11321244B2 (en) | 2019-12-16 | 2022-05-03 | Samsung Electronics Co., Ltd. | Block interface emulation for key value device |
US11747996B2 (en) * | 2020-08-05 | 2023-09-05 | Dropbox, Inc. | System and methods for implementing a key-value data store |
KR20220023605A (ko) * | 2020-08-21 | 2022-03-02 | 삼성전자주식회사 | 인터페이스 회로 및 이를 포함하는 시스템 |
US12019548B2 (en) | 2022-04-18 | 2024-06-25 | Samsung Electronics Co., Ltd. | Systems and methods for a cross-layer key-value store architecture with a computational storage device |
CN117435121A (zh) * | 2022-07-15 | 2024-01-23 | 中兴通讯股份有限公司 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000040061A (ja) * | 1998-05-20 | 2000-02-08 | Oki Data Corp | バス使用権調停システム |
US6446141B1 (en) | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
JP2001067881A (ja) * | 1999-08-30 | 2001-03-16 | Toshiba Corp | 連想記憶装置及び記憶媒体 |
GB2357602A (en) | 1999-12-22 | 2001-06-27 | Nokia Mobile Phones Ltd | Memory controller for a memory array comprising different memory types |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
US20100019509A1 (en) * | 2008-07-24 | 2010-01-28 | Chad Allen Perrott | Fastener |
KR20100085564A (ko) * | 2009-01-21 | 2010-07-29 | 삼성전자주식회사 | 데이터 처리 시스템과 데이터 처리 방법 |
US8397051B2 (en) | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
KR101626117B1 (ko) | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
US20110276744A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
US9355109B2 (en) | 2010-06-11 | 2016-05-31 | The Research Foundation For The State University Of New York | Multi-tier caching |
US10558705B2 (en) * | 2010-10-20 | 2020-02-11 | Microsoft Technology Licensing, Llc | Low RAM space, high-throughput persistent key-value store using secondary memory |
JP2013030254A (ja) * | 2011-07-29 | 2013-02-07 | Toshiba Corp | 半導体記憶装置、情報処理装置 |
US8700683B2 (en) * | 2011-10-24 | 2014-04-15 | Nokia Corporation | Method and apparatus for providing a key-value based storage interface |
US9009392B2 (en) * | 2012-04-25 | 2015-04-14 | International Business Machines Corporation | Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage |
US8919846B2 (en) * | 2012-05-04 | 2014-12-30 | Srg Global, Inc. | Daylight opening system for vehicle |
-
2013
- 2013-12-09 US US14/100,250 patent/US9323457B2/en active Active
-
2014
- 2014-12-02 CN CN201480067463.8A patent/CN105814560B/zh active Active
- 2014-12-02 JP JP2016537498A patent/JP6564375B2/ja active Active
- 2014-12-02 KR KR1020167018476A patent/KR102261805B1/ko active IP Right Grant
- 2014-12-02 WO PCT/US2014/068228 patent/WO2015088837A1/en active Application Filing
- 2014-12-02 EP EP14816045.0A patent/EP3080719B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR102261805B1 (ko) | 2021-06-04 |
EP3080719B1 (en) | 2020-08-05 |
US9323457B2 (en) | 2016-04-26 |
KR20160096173A (ko) | 2016-08-12 |
CN105814560A (zh) | 2016-07-27 |
JP2017502402A (ja) | 2017-01-19 |
CN105814560B (zh) | 2019-06-18 |
US20150160862A1 (en) | 2015-06-11 |
EP3080719A1 (en) | 2016-10-19 |
WO2015088837A1 (en) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6564375B2 (ja) | 高スループットのキーバリューストアの実現のためのメモリ構成 | |
JP6530815B2 (ja) | ハイブリッドメモリシステムの動作を制御するための回路および方法 | |
EP2965429B1 (en) | Integrated circuit devices having memory and methods of implementing memory in an integrated circuit device | |
JP3853736B2 (ja) | ユーザによる構成可能なオンチップメモリシステム | |
US9519486B1 (en) | Method of and device for processing data using a pipeline of processing blocks | |
US11809343B2 (en) | Transporting request types with different latencies | |
TWI528322B (zh) | 折疊先進先出記憶體產生器 | |
WO2023022906A1 (en) | Tile-based result buffering in memory-compute systems | |
US20240086324A1 (en) | High bandwidth gather cache | |
US9478272B1 (en) | Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry | |
US11829758B2 (en) | Packing conditional branch operations | |
US20240028390A1 (en) | Methods and systems for communications between hardware components | |
US20230058668A1 (en) | Selective cache line memory encryption | |
US11488643B2 (en) | Method for configuring multiple input-output channels | |
CN118136078A (zh) | 选择性供电的嵌入式存储器***和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190109 |
|
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: 20190702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6564375 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |