JP6822887B2 - 高性能なロックレススケーラブルターゲットを提供するシステム及び方法 - Google Patents

高性能なロックレススケーラブルターゲットを提供するシステム及び方法 Download PDF

Info

Publication number
JP6822887B2
JP6822887B2 JP2017076841A JP2017076841A JP6822887B2 JP 6822887 B2 JP6822887 B2 JP 6822887B2 JP 2017076841 A JP2017076841 A JP 2017076841A JP 2017076841 A JP2017076841 A JP 2017076841A JP 6822887 B2 JP6822887 B2 JP 6822887B2
Authority
JP
Japan
Prior art keywords
queue
command
thread
path
data
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
JP2017076841A
Other languages
English (en)
Japanese (ja)
Other versions
JP2017191603A5 (enExample
JP2017191603A (ja
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017191603A publication Critical patent/JP2017191603A/ja
Publication of JP2017191603A5 publication Critical patent/JP2017191603A5/ja
Application granted granted Critical
Publication of JP6822887B2 publication Critical patent/JP6822887B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Computer And Data Communications (AREA)
JP2017076841A 2016-04-13 2017-04-07 高性能なロックレススケーラブルターゲットを提供するシステム及び方法 Active JP6822887B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662322035P 2016-04-13 2016-04-13
US62/322,035 2016-04-13
US15/209,566 2016-07-13
US15/209,566 US10146439B2 (en) 2016-04-13 2016-07-13 System and method for high performance lockless scalable target

Publications (3)

Publication Number Publication Date
JP2017191603A JP2017191603A (ja) 2017-10-19
JP2017191603A5 JP2017191603A5 (enExample) 2020-05-14
JP6822887B2 true JP6822887B2 (ja) 2021-01-27

Family

ID=60038161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017076841A Active JP6822887B2 (ja) 2016-04-13 2017-04-07 高性能なロックレススケーラブルターゲットを提供するシステム及び方法

Country Status (5)

Country Link
US (1) US10146439B2 (enExample)
JP (1) JP6822887B2 (enExample)
KR (1) KR102799275B1 (enExample)
CN (1) CN107391270B (enExample)
TW (1) TWI745353B (enExample)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020937A (zh) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置及系统
US10101963B2 (en) * 2016-08-16 2018-10-16 Hewlett Packard Enterprise Development Lp Sending and receiving data between processing units
US10635485B2 (en) * 2018-03-23 2020-04-28 Intel Corporation Devices, systems, and methods for lockless distributed object input/output
US10776289B2 (en) 2018-09-21 2020-09-15 Microsoft Technology Licensing, Llc I/O completion polling for low latency storage device
US10740258B2 (en) * 2018-10-23 2020-08-11 Microsoft Technology Licensing, Llc Timer-based I/O completion polling for low latency storage device
JP6920001B2 (ja) * 2018-12-04 2021-08-18 株式会社日立製作所 マルチノードストレージシステム、及びマルチノードストレージシステムのキュー制御方法
US11960933B2 (en) 2020-04-30 2024-04-16 Red Hat, Inc. Versioned progressive chunked queue for a scalable multi-producer and multi-consumer queue
CN114003342B (zh) * 2021-11-01 2024-12-13 北京天融信网络安全技术有限公司 一种分布式存储方法、装置、电子设备及存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421014A (en) * 1990-07-13 1995-05-30 I-Tech Corporation Method for controlling multi-thread operations issued by an initiator-type device to one or more target-type peripheral devices
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US7353305B2 (en) 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
US20040049603A1 (en) * 2002-09-05 2004-03-11 International Business Machines Corporation iSCSI driver to adapter interface protocol
TWI316044B (en) * 2004-02-28 2009-10-21 Applied Materials Inc Methods and apparatus for material control system interface
US7941645B1 (en) * 2004-07-28 2011-05-10 Nvidia Corporation Isochronous pipelined processor with deterministic control
US7529886B2 (en) * 2004-11-03 2009-05-05 International Business Machines Corporation Method, system and storage medium for lockless InfiniBand™ poll for I/O completion
US8149854B2 (en) * 2005-06-30 2012-04-03 Intel Corporation Multi-threaded transmit transport engine for storage devices
US7616563B1 (en) 2005-08-31 2009-11-10 Chelsio Communications, Inc. Method to implement an L4-L7 switch using split connections and an offloading NIC
US20070156974A1 (en) 2006-01-03 2007-07-05 Haynes John E Jr Managing internet small computer systems interface communications
US7797514B2 (en) * 2006-11-16 2010-09-14 Texas Instruments Incorporated Scalable multi-threaded sequencing/synchronizing processor architecture
US7953878B1 (en) 2007-10-09 2011-05-31 Netapp, Inc. Multi-threaded internet small computer system interface (iSCSI) socket layer
US7720064B1 (en) 2007-12-21 2010-05-18 Qlogic, Corporation Method and system for processing network and storage data
US8566833B1 (en) 2008-03-11 2013-10-22 Netapp, Inc. Combined network and application processing in a multiprocessing environment
US8196147B1 (en) * 2008-10-31 2012-06-05 Netapp, Inc. Multiple-processor core optimization for producer-consumer communication
KR20100085564A (ko) * 2009-01-21 2010-07-29 삼성전자주식회사 데이터 처리 시스템과 데이터 처리 방법
US8180973B1 (en) 2009-12-23 2012-05-15 Emc Corporation Servicing interrupts and scheduling code thread execution in a multi-CPU network file server
US9235354B2 (en) 2010-04-13 2016-01-12 Hitachi, Ltd. Storage network system and its control method
US9658877B2 (en) * 2010-08-23 2017-05-23 Empire Technology Development Llc Context switching using a context controller and on-chip context cache
US8938598B2 (en) * 2011-07-06 2015-01-20 Nvidia Corporation Facilitating simultaneous submission to a multi-producer queue by multiple threads with inner and outer pointers
US9292359B2 (en) * 2012-07-27 2016-03-22 Intel Corporation System and method for memory management
US9207749B2 (en) * 2012-08-28 2015-12-08 Intel Corporation Mechanism for facilitating efficient operations paths for storage devices in computing systems
JP5920114B2 (ja) * 2012-08-29 2016-05-18 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及び制御プログラム
WO2014063067A1 (en) * 2012-10-19 2014-04-24 uCIRRUS Multi-threaded, lockless data parallelization
US9298652B2 (en) * 2013-03-15 2016-03-29 Microsoft Technology Licensing, Llc Moderated completion signaling
US9164697B2 (en) * 2013-06-24 2015-10-20 Samsung Electronics Co., Ltd. Method and architecture for highly scalable data storage
JP5902137B2 (ja) * 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
US9792162B2 (en) * 2013-11-13 2017-10-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Network system, network node and communication method
US10133489B2 (en) * 2014-09-16 2018-11-20 Oracle International Corporation System and method for supporting a low contention queue in a distributed data grid
US20160321010A1 (en) * 2015-04-28 2016-11-03 Kabushiki Kaisha Toshiba Storage system having a host directly manage physical data locations of storage device
KR102403489B1 (ko) * 2015-07-10 2022-05-27 삼성전자주식회사 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법
KR20170032502A (ko) * 2015-09-14 2017-03-23 삼성전자주식회사 스토리지 장치 및 그것의 인터럽트 발생 방법
US10031786B2 (en) * 2016-01-13 2018-07-24 International Business Machines Corporation Lockless multithreaded completion queue access
US10101939B2 (en) * 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US10222995B2 (en) * 2016-04-13 2019-03-05 Samsung Electronics Co., Ltd. System and method for providing a zero contention parallel data stack

Also Published As

Publication number Publication date
CN107391270A (zh) 2017-11-24
TW201740279A (zh) 2017-11-16
KR102799275B1 (ko) 2025-04-23
US10146439B2 (en) 2018-12-04
KR20170117310A (ko) 2017-10-23
TWI745353B (zh) 2021-11-11
US20170300228A1 (en) 2017-10-19
CN107391270B (zh) 2022-11-08
JP2017191603A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
JP6822887B2 (ja) 高性能なロックレススケーラブルターゲットを提供するシステム及び方法
CN108776576B (zh) 用于聚合的网上NVMe装置的聚合存储方法
US7506009B2 (en) Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes
JP4986844B2 (ja) Hpcノード障害の検出及び管理を行うシステム及び方法
US9563423B1 (en) System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
JP4833965B2 (ja) Hpcアーキテクチャに基づいたクラスタ管理のシステム及び方法
US8972615B2 (en) Communication with input/output system devices
US9256377B2 (en) Consistent distributed storage communication protocol semantics in a clustered storage system
US20070201434A1 (en) Storage system having a channel control function using a plurality of processors
WO2017158799A1 (ja) ストレージ装置および情報処理方法
CN103257941A (zh) 多协议存储控制器和系统
CN101617297B (zh) 多处理器存储区域网络中的虚拟化支持
US9407601B1 (en) Reliable client transport over fibre channel using a block device access model
US20060156055A1 (en) Storage network that includes an arbiter for managing access to storage resources
US9270786B1 (en) System and method for proxying TCP connections over a SCSI-based transport
US9237057B1 (en) Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
CN104603738B (zh) 用于指派输入/输出端口的方法、存储介质和系统
WO2024174258A1 (zh) 基于非易失内存的深度神经网络checkpoint优化系统以及方法
US9396023B1 (en) Methods and systems for parallel distributed computation
US9531765B1 (en) System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9473591B1 (en) Reliable server transport over fibre channel using a block device access model
US9514151B1 (en) System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9146694B2 (en) Distribution processing unit of shared storage
US9454305B1 (en) Method and system for managing storage reservation
US9423980B1 (en) Methods and systems for automatically adding intelligent storage adapters to a cluster

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200330

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200330

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210107

R150 Certificate of patent or registration of utility model

Ref document number: 6822887

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