TWI745353B - 提供高效能無鎖可分級目標之方法與系統 - Google Patents

提供高效能無鎖可分級目標之方法與系統 Download PDF

Info

Publication number
TWI745353B
TWI745353B TW106106752A TW106106752A TWI745353B TW I745353 B TWI745353 B TW I745353B TW 106106752 A TW106106752 A TW 106106752A TW 106106752 A TW106106752 A TW 106106752A TW I745353 B TWI745353 B TW I745353B
Authority
TW
Taiwan
Prior art keywords
queue
thread
path
input
command
Prior art date
Application number
TW106106752A
Other languages
English (en)
Chinese (zh)
Other versions
TW201740279A (zh
Inventor
文卡塔 巴努 普拉卡什 葛拉普迪
維傑亞 雅庫拉
Original Assignee
南韓商三星電子股份有限公司
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 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201740279A publication Critical patent/TW201740279A/zh
Application granted granted Critical
Publication of TWI745353B publication Critical patent/TWI745353B/zh

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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)
TW106106752A 2016-04-13 2017-03-02 提供高效能無鎖可分級目標之方法與系統 TWI745353B (zh)

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 (2)

Publication Number Publication Date
TW201740279A TW201740279A (zh) 2017-11-16
TWI745353B true TWI745353B (zh) 2021-11-11

Family

ID=60038161

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106106752A TWI745353B (zh) 2016-04-13 2017-03-02 提供高效能無鎖可分級目標之方法與系統

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 北京天融信网络安全技术有限公司 一种分布式存储方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US20050273190A1 (en) * 2004-02-28 2005-12-08 Duffin David C Methods and apparatus for material control system interface
US20080120489A1 (en) * 2006-11-16 2008-05-22 Shinri Inamori Scalable Multi-Threaded Sequencing/Synchronizing Processor Architecture
TWI537831B (zh) * 2010-08-23 2016-06-11 英派爾科技開發有限公司 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法

Family Cites Families (31)

* 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
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
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
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
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 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及び制御プログラム
CA2888684C (en) * 2012-10-19 2017-03-07 Argyle Data, Inc. 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US20050273190A1 (en) * 2004-02-28 2005-12-08 Duffin David C Methods and apparatus for material control system interface
US20080120489A1 (en) * 2006-11-16 2008-05-22 Shinri Inamori Scalable Multi-Threaded Sequencing/Synchronizing Processor Architecture
TWI537831B (zh) * 2010-08-23 2016-06-11 英派爾科技開發有限公司 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI745353B (zh) 提供高效能無鎖可分級目標之方法與系統
US7506009B2 (en) Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes
US7581033B2 (en) Intelligent network interface card (NIC) optimizations
US9563423B1 (en) System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US20090043886A1 (en) OPTIMIZING VIRTUAL INTERFACE ARCHITECTURE (VIA) ON MULTIPROCESSOR SERVERS AND PHYSICALLY INDEPENDENT CONSOLIDATED VICs
CN103106249B (zh) 一种基于Cassandra的数据并行处理系统
US10255230B2 (en) Lock-free processing of stateless protocols over RDMA
TW201843596A (zh) 聚集儲存方法、跨結構高速非揮發性記憶體固態硬碟用的容量聚集方法及聚集的乙太網路固態硬碟群組
US9647905B1 (en) System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US20120224482A1 (en) Credit feedback system for parallel data flow control
JP2017191599A (ja) ゼロ競合並列データスタックを提供するデータ格納システムのデータ格納方法
US9407601B1 (en) Reliable client transport over fibre channel using a block device access model
US8291092B2 (en) Managing IPMI sessions
US9767311B2 (en) Stack isolation by a storage network switch
US9237057B1 (en) Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
US9270786B1 (en) System and method for proxying TCP connections over a SCSI-based transport
CN119493661A (zh) Cxl系统中的遥测和负载均衡
WO2024174258A1 (zh) 基于非易失内存的深度神经网络checkpoint优化系统以及方法
US9396023B1 (en) Methods and systems for parallel distributed computation
CN104603738A (zh) 存储区域网络设备中的输入/输出端口轮换
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
TWI515576B (zh) 巨資系統的資料分派處理方法及其系統
Dalessandro et al. iSER storage target for object-based storage devices
US9454305B1 (en) Method and system for managing storage reservation