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 US10146439B2 (en) 2016-04-13 2016-07-13 System and method for high performance lockless scalable target
US15/209,566 2016-07-13

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 (cg-RX-API-DMAC7.html)
JP (1) JP6822887B2 (cg-RX-API-DMAC7.html)
KR (1) KR102799275B1 (cg-RX-API-DMAC7.html)
CN (1) CN107391270B (cg-RX-API-DMAC7.html)
TW (1) TWI745353B (cg-RX-API-DMAC7.html)

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
JP5592493B2 (ja) 2010-04-13 2014-09-17 株式会社日立製作所 ストレージネットワークシステム及びその制御方法
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 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及び制御プログラム
US9378059B2 (en) * 2012-10-19 2016-06-28 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
US20170300228A1 (en) 2017-10-19
KR20170117310A (ko) 2017-10-23
TW201740279A (zh) 2017-11-16
KR102799275B1 (ko) 2025-04-23
JP2017191603A (ja) 2017-10-19
CN107391270B (zh) 2022-11-08
US10146439B2 (en) 2018-12-04
CN107391270A (zh) 2017-11-24
JP6822887B2 (ja) 2021-01-27

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
CN103106249B (zh) 一种基于Cassandra的数据并行处理系统
US10255230B2 (en) Lock-free processing of stateless protocols over RDMA
TW201843596A (zh) 聚集儲存方法、跨結構高速非揮發性記憶體固態硬碟用的容量聚集方法及聚集的乙太網路固態硬碟群組
US20080275989A1 (en) Optimizing virtual interface architecture (via) on multiprocessor servers and physically independent consolidated nics
US9591099B1 (en) Server connection establishment over fibre channel using a block device access model
US20120224482A1 (en) Credit feedback system for parallel data flow control
CN104392377A (zh) 一种云交易系统
JP2017191599A (ja) ゼロ競合並列データスタックを提供するデータ格納システムのデータ格納方法
US9407601B1 (en) Reliable client transport over fibre channel using a block device access model
CN117631974A (zh) 跨越基于存储器的通信队列的多信道接口的存取请求重新排序
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系统中的遥测和负载均衡
Hu et al. DPDPU: data processing with dpus
CN104603738B (zh) 用于指派输入/输出端口的方法、存储介质和系统
Ren et al. Design, implementation, and evaluation of a NUMA-aware cache for iSCSI storage servers
WO2024174258A1 (zh) 基于非易失内存的深度神经网络checkpoint优化系统以及方法
US9514151B1 (en) System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
TWI515576B (zh) 巨資系統的資料分派處理方法及其系統
US9454305B1 (en) Method and system for managing storage reservation