TWI708145B - 多控制器儲存系統及儲存裝置 - Google Patents

多控制器儲存系統及儲存裝置 Download PDF

Info

Publication number
TWI708145B
TWI708145B TW108115034A TW108115034A TWI708145B TW I708145 B TWI708145 B TW I708145B TW 108115034 A TW108115034 A TW 108115034A TW 108115034 A TW108115034 A TW 108115034A TW I708145 B TWI708145 B TW I708145B
Authority
TW
Taiwan
Prior art keywords
controller
processor
connector
remote
memory
Prior art date
Application number
TW108115034A
Other languages
English (en)
Other versions
TW202042072A (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 威聯通科技股份有限公司
Priority to TW108115034A priority Critical patent/TWI708145B/zh
Priority to US16/860,167 priority patent/US11436184B2/en
Application granted granted Critical
Publication of TWI708145B publication Critical patent/TWI708145B/zh
Publication of TW202042072A publication Critical patent/TW202042072A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)

Abstract

一種多控制器儲存系統及儲存裝置,其使用多個控制器控制對一個非揮發性記憶體所進行的資料存取操作,且在主機端發出指令至第一控制器而第一控制器分配由第二控制器處理此指令的時候,第一控制器使用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定將資料由主機端經由第一控制器直接寫入到第二控制器。

Description

多控制器儲存系統及儲存裝置
本發明是有關於一種採用遠端直接記憶體存取協定(Remote Direct Memory Access Protocol,RDMA Protocol)的多控制器儲存系統及儲存裝置,特別是有關於一種符合快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)傳輸控制標準並採用遠端直接記憶體存取協定的多控制器儲存系統及儲存裝置。
在使用像雲端資料儲存技術這一類的集中式資料管理機制的時候,由於一台資料儲存裝置經常必須同時處理許多個寫入要求,所以一台資料儲存裝置可能會安排許多個控制器來分散處理這些寫入要求。一般來說,在這些控制器中會有一個主要控制器以及一個以上的次要控制器,而所有的寫入要求都會先被集中到這一個主要控制器中,然後由這一個主要控制器負責將這些寫入要求安排分散到各次要控制器中進行處理。在這樣的過程中,與每一個寫入要求相對應的資料會先被儲存在主要控制器的暫存記憶體裡面,並且在一個寫入要求被安排給某一個次要控制器處理的時候,再一併將與此寫入要求相對應的資料複製並暫存到負責處理此寫入要求的次要控制器中,最後才由負責處理的次要控制器將暫存於其中的資料寫入到資料儲存裝置的儲存區塊中。
然而,在這樣的架構中,資料需要經過多次的暫存與搬移之後才能真正寫入到資料儲存裝置裡面。每一次的資料暫存與搬移都需要花費一定的處理時間,而且越多次的資料暫存與搬移將會增加資料出現錯誤的機率。因此,現有的使用多控制器的資料儲存技術仍存在不少改良的空間。
有鑑於此,本說明提供一種採用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的多控制器儲存系統及儲存裝置,其利用遠端直接記憶體存取協定來盡可能減少資料暫存與搬移的次數,藉此提高資料儲存的效率並降低資料出錯的機率。
從一個方面來看,本說明提供一種採用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的多控制器儲存系統,此多控制器儲存系統包括一個主機裝置以及一個儲存裝置。主機裝置包括用以儲存資料的主記憶體,並使用遠端直接記憶體存取協定來傳遞主記憶體所儲存的資料。儲存裝置包括第一控制器、第二控制器以及非揮發性記憶體,其中,第一控制器包括第一處理器、第一記憶體、第一遠端連接器以及第一近端連接器,第一處理器電性連接至第一記憶體、第一遠端連接器及第一近端連接器,且第一遠端連接器與主機裝置之間使用遠端直接記憶體存取協定以傳輸資料;第二控制器包括第二處理器、第二記憶體以及第二近端連接器,第二處理器電性連接至第二記憶體以及第二近端連接器,且第一近端連接器電性連接至第二近端連接器;非揮發性記憶體電性連接至第一控制器與第二控制器以允許由第一處理器及第二處理器存取此非揮發性記憶體。在此多控制器儲存 系統中,第二處理器提供一個暫存標識資訊,此暫存標識資訊用以表示第二記憶體中的一個暫存區塊的位置,且第二處理器經過第二近端連接器及第一近端連接器而將暫存標識資訊傳遞至第一控制器;當主機裝置傳遞資料寫入命令至第一處理器而第一處理器決定以第二處理器處理此資料寫入命令時,第一處理器將暫存標示資訊傳遞至第一遠端連接器,並控制第一遠端連接器使用遠端直接記憶體存取協定而將對應的寫入資料從主機依序經由第一遠端連接器、第一近端連接器及第二近端連接器而寫入至由暫存標識資訊所表示的暫存區塊的位置中。
從另一個方面來看,本說明提供一種採用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的儲存裝置,其適於從主機裝置接收資料並包括第一控制器、第二控制器以及非揮發性記憶體,其中,第一控制器包括第一處理器、第一記憶體、第一遠端連接器以及第一近端連接器,第一處理器電性連接至第一記憶體、第一遠端連接器及第一近端連接器,且第一遠端連接器與主機裝置之間使用遠端直接記憶體存取協定以傳輸資料;第二控制器包括第二處理器、第二記憶體以及第二近端連接器,第二處理器電性連接至第二記憶體以及第二近端連接器,且第一近端連接器電性連接至第二近端連接器;非揮發性記憶體電性連接至第一控制器與第二控制器以允許由第一處理器及第二處理器存取此非揮發性記憶體。再者,第二處理器提供一個暫存標識資訊,此暫存標識資訊用以表示第二記憶體中的一個暫存區塊的位置,且第二處理器經過第二近端連接器及第一近端連接器而將暫存標識資訊傳遞至第一控制器;當主機裝置傳遞資料寫入命令至第一處理器而第一處理器決定以第二處理器處理此資料寫入命令時,第一處理 器將暫存標示資訊傳遞至第一遠端連接器,並控制第一遠端連接器使用遠端直接記憶體存取協定而將對應的寫入資料從主機依序經由第一遠端連接器、第一近端連接器及第二近端連接器而寫入至由暫存標識資訊所表示的暫存區塊的位置中。
在一個實施例中,上述的第一處理器與第二處理器為符合快速非揮發性記憶體傳輸控制標準的電子元件。
在一個實施例中,上述的第一處理器、第二處理器、第一近端連接器以及第二近端連接器為符合高速周邊裝置連接標準的電子元件。
在一個實施例中,上述的第二控制器更包括一個第二遠端連接器,此第二遠端連接器電性連接至第二處理器且與主機裝置之間使用遠端直接記憶體存取協定以傳輸資料。
根據上述,本說明所提供的技術適用於具有至少兩個控制器並使用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定來進行資料傳遞的儲存系統或儲存裝置中。藉由將各控制器所使用的暫存區塊紀錄在一起,可以在將存取要求分配由某一個控制器處理的時候,利用遠端直接記憶體存取協定將資料從資料來源處直接提供至負責處理此存取要求的控制器中。所以,本說明所提供的技術能盡量減少資料暫存與搬移的次數,藉此提高資料儲存的效率並降低資料出錯的機率。
10:多控制器儲存系統
15:網路
100:主機裝置
102:主記憶體
120:儲存裝置
122:第一控制器
124:第二控制器
126:非揮發性記憶體
1220:第一處理器
1222:第一記憶體
1224:第一遠端連接器
1226:第一近端連接器
1240:第二處理器
1242:第二記憶體
1244:第二遠端連接器
1246:第二近端連接器
1260:第一儲存區塊
1262:第二儲存區塊
S200~S222:本發明一實施例的施行步驟
圖1為根據本發明一實施例的多控制器儲存系統的電路方塊圖。
圖2為根據本發明一實施例的多控制器儲存系統在傳遞數據時的時間-步驟狀態圖。
圖3為根據本發明一實施例的多控制器儲存裝置的電路方塊圖。
首先請參照圖1,其為根據本發明一實施例的多控制器儲存系統的電路方塊圖。在本實施例中,多控制器儲存系統10包括一個主機裝置100以及一個儲存裝置120,而且主機裝置100與儲存裝置120之間可以透過網路15來傳遞資料。其中,上述的主機裝置100泛指所有資料來源,例如電腦或檔案伺服器等,而且主機裝置100包括用以儲存資料的主記憶體102,並且主機裝置100可以使用基於遠端直接記憶體存取(Remote Direct Memory Access,RDMA)機制的快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)傳輸協定(NVMe over RDMA)來傳遞儲存在主記憶體100的資料。
如圖所示,儲存裝置120包括第一控制器122、第二控制器124以及非揮發性記憶體126。其中,第一控制器122進一步包括第一處理器1220、第一記憶體1222、第一遠端連接器1224以及第一近端連接器1226,第一處理器1220電性連接至第一記憶體1222、第一遠端連接器1224及第一近端連接器1226,且第一遠端連接器1224與主機裝置100之間能夠使用遠端直接記憶體存取協定以傳輸資料;第二控制器124包括第二處理器1240、第二記憶體1242以及第二近端連接器1246,且第二處理器1240電性連接至第二記憶體1242以及第二近端連接器1246;非揮發性記憶體126電性連接至第一控制器122與第二控制器124以允許由第一處理器1220及第二處理器1240存取非揮發性記憶體126。除此之外,第一近端連接器1226還電性連接至第二近端連接器1246,以在第一控制器122與第二控制器124之間建立可以傳遞資料的通道。
接下來請參照圖2,其為根據本發明一實施例的多控制器儲存系統在傳遞數據時的時間-步驟狀態圖。在圖2中,各項操作的主要發起與執行者,例如圖1所示的主機裝置100、第一控制器122以及第二控制器124,以橫向排列;而縱向則代表時間進度。
在本實施例中,為了使第一控制器122能夠順利執行後續的分配控制指令的操作,所有的控制器(包括第一控制器122與第二控制器124)都會將本身可以存取的記憶體中的某些部分的位置保留下來,並將這些位置紀錄到第一控制器122之中以待後續使用(步驟S200與步驟S202)。在主機裝置100所發出的控制指令傳送到第一控制器122的時候(步驟S210),第一控制器122可以根據許多預先設定的規則來決定是要在哪一個控制器中執行這一個控制指令(步驟S212)。在本實施例中假設最後決定是要以第二控制器124來執行這一個控制指令,於是第一控制器122使用遠端直接記憶體存取協定,並利用這一次的遠端直接記憶體存取操作而從主機裝置100取得需要傳遞的資料,並根據先前由第二控制器124提供到第一控制器122的記憶體中的某些部分的位置而將資料寫入到第二控制器124的記憶體中(步驟S214)。在資料寫入完畢之後,第一控制器122會將先前收到的控制指令以及資料寫入的位置等資訊傳遞至第二控制器124(步驟S216),於是第二控制器124就可以根據這些資訊以及在步驟S214中所寫入的資料來進行對應的操作(步驟S218)。在執行完必須的操作之後,第二控制器124會以預先設定的格式將與此次處理的資料相關的內容傳遞至第一控制器122,並且再次將可以保留下來以待後續使用的記憶體的位置紀錄到第一控制器122之中(步驟S220)。在這之後,第一控制器122才會通知主機裝置100以表示在步驟S210中所發出的控制指令已經執行完畢(步驟S222)。
為了使本領域的技術人員能更清楚地理解本說明所提供的技術細節,以下將同時參照圖1與圖2來進行詳細的解釋。
首先,圖1中的第一控制器122與第二控制器124是兩個分開存在的實體電路,其中的第一記憶體1222是第一控制器122可以直接存取的記憶體,而第二記憶體1242則是第二控制器124可以直接存取的記憶體。從另一個角度來看,第一記憶體1222所儲存的資料可以被第一控制器122中的第一處理器1220直接存取,但是第一處理器1220無法直接存取第二記憶體1242;第二記憶體1242可以被第二控制器124中的第二處理器1240直接存取,但是第二處理器1240無法直接存取第一記憶體1222。
為了使第一控制器122能夠擔任分配任務的角色,第一控制器122必須掌握與第二控制器124相關的一些資訊。由於第一控制器122無法任意存取第二記憶體1242,因此需要由第二控制器124將所需要的相關資訊提供給第一控制器122並紀錄在第一控制器122中以便後續使用。由於大部分從主機裝置100傳來的控制指令都會牽涉到資料的讀取或寫入,因此各控制器所能使用的記憶體空間會是一個需要被監控的對象。據此,前述需要提供給第一控制器122的相關資訊一般會包含與第二記憶體1242相關的資訊,例如:第二記憶體1242中能夠保留下來以供寫入資料的記憶體區塊的位置(後稱暫存標識資訊)。這個暫存標識資訊會被紀錄在第一控制器122之中,而其內容則可以包括第二記憶體1242中的一個以上的暫存區塊的起始位址與容量大小等資訊。在本實施例中,這些由被紀錄在第一控制器122之中的暫存標識資訊所指定的暫存區塊會被第二控制器124保留下來並且不主動加以使用,以免在後續處理資料時造成資料覆蓋的問題。
在本實施例中,由於是以第一控制器122作為主控制器來分配各控制器所要處理的控制指令,所以作為次要控制器的第二控制器124一般要在儲存裝置120開始運作之初就進行上述提供暫存標識資訊的操作(圖2所示的步驟S202)。而第一控制器122作為主控制器,在這個時候也建議可以保留一部份的記憶體空間作為後續操作之用(步驟S200),這可以使各控制器的設計邏輯一致,減少程式或硬體設計人員的負擔。當然,既然第一控制器122可以直接存取其中的第一記憶體1222,當然也就可以防止資料在第一記憶體1222中被錯誤覆蓋的問題,因此在其它實施例中也可以不執行步驟S200。
接下來,當主機裝置100與儲存裝置120透過網路15而彼此連接之後,主機裝置100就可以發出控制指令到儲存裝置120(步驟S210)。由於本實施例中的儲存裝置120是以第一控制器122為主控制器,因此這一個控制指令會被傳遞到第一控制器122,並由第一控制器122來決定究竟是要由第一控制器122來執行這一個控制指令,或者是要由第二控制器124來執行這一個控制指令(步驟S212)。其中,決定由哪一個控制器來執行控制指令的機制可以由軟體、韌體或硬體來完成,而在決定的過程中所用到演算法在現有技術中已經有多元的發展(例如:考量運作負載平衡的演算法或考量機械壽命的演算法等等)而且不會影響本說明提供的技術的運作,所以在此處不多加說明。
當第一控制器122決定要由自己來處理這一個控制指令的時候,第一控制器122就可以直接進行控制指令的處理。假若在控制指令中指定要使用主機裝置100儲存在主記憶體102中某個區塊的資料,那麼,第一控制器122就可以控制第一遠端連接器1224使用遠端直接記憶體存取協定而從主機裝置100取得指定的資料並直接儲存到第一記憶體 1222中。由於使用了遠端直接記憶體存取協定,所以資料儲存到第一記憶體1222的邏輯操作就不需要第一處理器1220的參與。然而,資料儲存過程中是否需要經過第一處理器1220的相關電路,則仍應視各電路的實際設計而定。這並非本說明所提供的技術的重點,也不會影響本說明所提供的技術的正常運作,所以在此不多做討論。
相對的,當第一控制器122決定要由第二控制器124來處理這一個控制指令的時候,第一控制器122會從先前紀錄的暫存標識資訊中獲取第二記憶體1242中可以寫入資料的區塊的相關資訊,然後利用符合基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的網路封包(capsule)攜帶所獲得的相關資訊,經由第一遠端連接器1224使用遠端直接記憶體存取操作,將原本儲存在主記憶體102的資料經過網路15、第一遠端連接器1224、第一近端連接器1226以及第二近端連接器1246,直接寫入到第二記憶體1242裡與前述相關資訊相對應的區塊中(步驟S214)。類似的,由於使用了遠端直接記憶體存取協定,所以資料儲存到第二記憶體1242的邏輯操作就不需要第一處理器1220與第二處理器1240的參與。
藉由上述操作,主機裝置100中所儲存的資料就可以直接被寫入到次要控制器(本實施例中為第二控制器124)的記憶體中,而不需要先寫到主要控制器之後再搬移到次要控制器裡。因此,本說明所揭露的技術可以減少資料搬移的次數,進而加快資料處理的速度並降低資料出錯的機率。
在上述操作之後,第一控制器122會將第二記憶體1242中用來寫入這一次資料的區塊的相關資訊(例如先前紀錄的暫存標識資訊中的對應內容)傳遞至第二控制器124(步驟S216),於是第二控制器124 就可以根據這些資訊以及在步驟S214中所寫入的資料來進行對應的操作,例如:將所接收到的資料寫入到非揮發性記憶體126之中(步驟S218)。
在執行完操作之後,第一控制器122與第二控制器124可以利用適當的機制進行回報以使主機裝置100得知此次操作已經完成。此處所能使用的回報機制中的一種包括圖2所示的步驟S220與步驟S222,但是並不以此為限。
值得一提的是,為了簡化處理流程,可以在主機裝置100與儲存裝置120初始化連接的時候,就利用適當的通訊協定彼此溝通並定下不允許存在指令內攜帶資料(Inline Data)的規則,如此就不需要以額外的操作來費心處理這些指令內攜帶資料,而只需要以前述的機制來進行資料操作即可。當然,本說明所提供的技術仍然可以適用於在控制指令內同時存在指令內攜帶資料的狀況,但這時候必須以適合的方法來進行對應的處理,例如,可以將指令內攜帶資料的內容暫存在第一記憶體1222之中,再將所暫存的內容搬移到第二記憶體1242中的特定位置(例如由暫存標識資訊所指定的多個暫存區塊的其中之一),並且在步驟S216中也將這些指令內攜帶資料搬移後的位置一併通知第二控制器124。藉此,本說明所提供的技術也仍能正常地進行運作。
為了能夠執行遠端直接記憶體存取操作,本實施例中的第一遠端連接器1224可以選用具有遠端直接記憶體存取能力的網路卡。除此之外,第一控制器122與第二控制器124可以採用符合高速周邊裝置連接(Peripheral Component Interconnect Express,PCIe)標準的電子元件來完成。或者,從另一個角度來看,第一處理器1220、第二處理器1240、第一近端連接器1226、第二近端連接器1246以及第一遠端連接器1224 都是符合高速周邊裝置連接標準的電子元件,而且其間的連接都是利用高速周邊裝置連接介面來完成。
再者,上述的第一控制器122與第二控制器124可以利用快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)傳輸控制標準來存取非揮發性記憶體126,例如:以非揮發性記憶體126中的第一儲存區塊1260作為第一控制器122可以存取的命名空間(NameSpace),並以非揮發性記憶體126中的第二儲存區塊1262作為第二控制器124可以存取的命名空間;或者將第一儲存區塊1260或第二儲存區塊1262作為第一控制器122與第二控制器124都可以存取的命名空間。更具體來說,由於實際上是由第一處理器1220與第二處理器1240來負責執行指令,因此也可以說,在這樣的實施方式中,第一處理器1220與第二處理器1240必須要能執行使用了快速非揮發性記憶體傳輸控制標準協議的程式。
當然,此領域的技術人員可以基於上述揭露的技術內容而開發出許多的變形,但是這些變形都應被包含在本說明所請的保護範圍之內。舉例來說,請參照圖3,其為根據本發明一實施例的多控制器儲存裝置的電路方塊圖。在這個實施例中,與圖1類似的元件都以相同的標號進行標示而且不再重複進行說明。如圖所示,在本實施例中,第二控制器124更包括了一個第二遠端連接器1244。第二遠端連接器1244在第二控制器124中的電性連接關係與第一遠端連接器1224在第一控制器122中的電性連接關係相當,而第二遠端連接器1244在第二控制器124中所扮演的角色也與第一遠端連接器1224在第一控制器122中所扮演的角色相當。因此,對於第二遠端連接器1244的說明可以參照上述與第一遠端連接器1224的對應內容,在此不再重述。值得一提的是, 藉由在第二控制器124中增加第二遠端連接器1244,在使用時就可以選擇第二控制器124取代第一控制器122而成為主要控制器。如此一來,即使原本作為主要控制器的第一控制器122出現問題而無法運作,整個多控制器儲存系統或者多控制器儲存裝置也可以繼續運作而不會因此出現問題。
根據上述,本說明所提供的技術藉由將各控制器所使用的暫存區塊紀錄在一起,可以在將存取要求分配由某一個控制器處理的時候,利用遠端直接記憶體存取協定將資料從資料來源處直接提供至負責處理此存取要求的控制器中。所以,本說明所提供的技術能盡量減少資料暫存與搬移的次數,藉此提高資料儲存的效率並降低資料出錯的機率。
10:多控制器儲存系統
15:網路
100:主機裝置
102:主記憶體
120:儲存裝置
122:第一控制器
124:第二控制器
126:非揮發性記憶體
1220:第一處理器
1222:第一記憶體
1224:第一遠端連接器
1226:第一近端連接器
1240:第二處理器
1242:第二記憶體
1246:第二近端連接器
1260:第一儲存區塊
1262:第二儲存區塊

Claims (10)

  1. 一種採用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的多控制器儲存系統,其特徵在於包括: 一主機裝置,包括用以儲存資料的一主記憶體,該主機裝置使用一遠端直接記憶體存取協定來傳遞該主記憶體所儲存的資料;以及 一儲存裝置,包括: 一第一控制器,包括一第一處理器、一第一記憶體、一第一遠端連接器以及一第一近端連接器,該第一處理器電性連接至該第一記憶體、該第一遠端連接器及該第一近端連接器,該第一遠端連接器與該主機裝置之間使用該遠端直接記憶體存取協定以傳輸資料; 一第二控制器,包括一第二處理器、一第二記憶體以及一第二近端連接器,該第二處理器電性連接至該第二記憶體以及該第二近端連接器;以及 一非揮發性記憶體,該非揮發性記憶體電性連接至該第一控制器與該第二控制器以允許由該第一處理器及該第二處理器存取該非揮發性記憶體; 其中,該第一近端連接器電性連接至該第二近端連接器;該第二處理器提供用以表示該第二記憶體之一暫存區塊的位置的一暫存標識資訊,並經過該第二近端連接器及該第一近端連接器而將該暫存標識資訊傳遞至該第一控制器;當該主機裝置傳遞一資料寫入命令至該第一處理器而該第一處理器決定以該第二處理器處理該資料寫入命令時,該第一處理器將該暫存標識資訊傳遞至該第一遠端連接器,並控制該第一遠端連接器使用該遠端直接記憶體存取協定而將一寫入資料從該主機裝置依序經由該第一遠端連接器、該第一近端連接器及該第二近端連接器而寫入至該暫存區塊的位置。
  2. 如申請專利範圍第1項所述的多控制器儲存系統,其中,該第一處理器與該第二處理器能執行使用了快速非揮發性記憶體傳輸控制標準協議的程式。
  3. 如申請專利範圍第1項所述的多控制器儲存系統,其中,該第一處理器、該第二處理器、該第一遠端連接器、該第一近端連接器以及該第二近端連接器為符合高速周邊裝置連接標準的電子元件。
  4. 如申請專利範圍第1項所述的多控制器儲存系統,其中,該第二控制器更包括一第二遠端連接器,該第二遠端連接器電性連接至該第二處理器且與該主機裝置之間使用該遠端直接記憶體存取協定以傳輸資料。
  5. 如申請專利範圍第4項所述的多控制器儲存系統,其中,該第二遠端連接器為符合高速周邊裝置連接標準的電子元件。
  6. 一種採用基於遠端直接記憶體存取的快速非揮發性記憶體傳輸協定的儲存裝置,該儲存裝置適於從一主機裝置接收資料,且其特徵在於包括: 一第一控制器,包括一第一處理器、一第一記憶體、一第一遠端連接器以及一第一近端連接器,該第一處理器電性連接至該第一記憶體、該第一遠端連接器及該第一近端連接器,該第一遠端連接器與該主機裝置之間使用一遠端直接記憶體存取協定以傳輸資料; 一第二控制器,包括一第二處理器、一第二記憶體以及一第二近端連接器,該第二處理器電性連接至該第二記憶體以及該第二近端連接器;以及 一非揮發性記憶體,電性連接至該第一控制器與該第二控制器以允許由該第一處理器及該第二處理器存取該非揮發性記憶體; 其中,該第一近端連接器電性連接至該第二近端連接器;該第二處理器提供用以表示該第二記憶體之一暫存區塊的位置的一暫存標識資訊,並經過該第二近端連接器及該第一近端連接器而將該暫存標識資訊傳遞至該第一控制器;當該主機裝置傳遞一資料寫入命令至該第一處理器而該第一處理器決定以該第二處理器處理該資料寫入命令時,該第一處理器將該暫存標識資訊傳遞至該第一遠端連接器,並控制該第一遠端連接器使用該遠端直接記憶體存取協定而將一寫入資料從該主機裝置依序經由該第一遠端連接器、該第一近端連接器及該第二近端連接器而寫入至該暫存區塊的位置。
  7. 如申請專利範圍第6項所述的儲存裝置,其中,該第一處理器與該第二處理器能執行使用了快速非揮發性記憶體傳輸控制標準協議的程式。
  8. 如申請專利範圍第6項所述的儲存裝置,其中,該第一處理器、該第二處理器、該第一遠端連接器、該第一近端連接器以及該第二近端連接器為符合高速周邊裝置連接標準的電子元件。
  9. 如申請專利範圍第6項所述的儲存裝置,其中,該第二控制器更包括一第二遠端連接器,該第二遠端連接器電性連接至該第二處理器且與該主機裝置之間使用該遠端直接記憶體存取協定以傳輸資料。
  10. 如申請專利範圍第9項所述的儲存裝置,其中,該第二遠端連接器為符合高速周邊裝置連接標準的電子元件。
TW108115034A 2019-04-30 2019-04-30 多控制器儲存系統及儲存裝置 TWI708145B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108115034A TWI708145B (zh) 2019-04-30 2019-04-30 多控制器儲存系統及儲存裝置
US16/860,167 US11436184B2 (en) 2019-04-30 2020-04-28 Multi-controller storage system and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108115034A TWI708145B (zh) 2019-04-30 2019-04-30 多控制器儲存系統及儲存裝置

Publications (2)

Publication Number Publication Date
TWI708145B true TWI708145B (zh) 2020-10-21
TW202042072A TW202042072A (zh) 2020-11-16

Family

ID=73016229

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108115034A TWI708145B (zh) 2019-04-30 2019-04-30 多控制器儲存系統及儲存裝置

Country Status (2)

Country Link
US (1) US11436184B2 (zh)
TW (1) TWI708145B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739220A (zh) * 2009-02-25 2010-06-16 浪潮电子信息产业股份有限公司 一种多控制器存储阵列的设计方法
CN103049220A (zh) * 2012-12-19 2013-04-17 华为技术有限公司 存储控制方法、存储控制装置和固态存储系统
CN104461777A (zh) * 2014-11-26 2015-03-25 华为技术有限公司 一种存储阵列中数据镜像方法及存储阵列
CN104536702A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种存储阵列系统及数据写请求处理方法
CN105068760A (zh) * 2013-10-18 2015-11-18 华为技术有限公司 数据存储方法、数据存储装置和存储设备
US20150363109A1 (en) * 2014-06-13 2015-12-17 Seagate Technology Llc Controller interface for operation of multiple storage drives
TWI556171B (zh) * 2015-05-29 2016-11-01 神雲科技股份有限公司 主機板及開機的方法
CN107526542A (zh) * 2016-06-15 2017-12-29 三星电子株式会社 对象存储装置及其操作方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275171B2 (en) * 2014-09-16 2019-04-30 Kove Ip, Llc Paging of external memory
US10613974B2 (en) * 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739220A (zh) * 2009-02-25 2010-06-16 浪潮电子信息产业股份有限公司 一种多控制器存储阵列的设计方法
CN103049220A (zh) * 2012-12-19 2013-04-17 华为技术有限公司 存储控制方法、存储控制装置和固态存储系统
CN105068760A (zh) * 2013-10-18 2015-11-18 华为技术有限公司 数据存储方法、数据存储装置和存储设备
US20150363109A1 (en) * 2014-06-13 2015-12-17 Seagate Technology Llc Controller interface for operation of multiple storage drives
CN104461777A (zh) * 2014-11-26 2015-03-25 华为技术有限公司 一种存储阵列中数据镜像方法及存储阵列
CN104536702A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种存储阵列系统及数据写请求处理方法
TWI556171B (zh) * 2015-05-29 2016-11-01 神雲科技股份有限公司 主機板及開機的方法
CN107526542A (zh) * 2016-06-15 2017-12-29 三星电子株式会社 对象存储装置及其操作方法

Also Published As

Publication number Publication date
US20200349105A1 (en) 2020-11-05
TW202042072A (zh) 2020-11-16
US11436184B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
US11138143B2 (en) Techniques for command validation for access to a storage device by a remote client
EP0405926A2 (en) Method and apparatus for managing a shadow set of storage media
US10620841B2 (en) Transfer of object memory references in a data storage device
CN112106032B (zh) I/o主设备和cpu之间优化数据共享的有序写存储的高性能流
JP2015518203A (ja) マルチキャストdmaおよび統合されたアドレス空間を有するストレージシステム
US8924606B2 (en) Storage system and data transfer control method
US11507307B2 (en) Storage system including a memory controller that enables each storage controller of a plurality of storage controllers to exclusively read and write control information of the memory
US20160140060A1 (en) Managing buffered communication between sockets
JP4629413B2 (ja) 優先順位を割り当てるための方法、システム、およびプログラム
TWI708145B (zh) 多控制器儲存系統及儲存裝置
US20190332271A1 (en) Sub-LUN Ownership Alignment
US10191690B2 (en) Storage system, control device, memory device, data access method, and program recording medium
JP2005316762A (ja) ディスク記憶装置及びraid構築方法
US20060277326A1 (en) Data transfer system and method
JP2019159437A (ja) 情報処理装置、転送制御方法および転送制御プログラム
CN111338998B (zh) 基于amp系统的flash访问处理方法及装置
US20170083235A1 (en) Device capable of using external volatile memory and device capable of releasing internal volatile memory
JP4979206B2 (ja) 情報処理方法および情報処理装置
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
JP2017130002A (ja) ストレージ制御装置および制御プログラム
US20060047934A1 (en) Integrated circuit capable of memory access control
JP2020177501A (ja) ストレージシステム、そのドライブ筐体、およびパリティ演算方法。
US11880570B1 (en) Storage system, data transmission method, and network interface
JP6704127B2 (ja) 情報処理装置
US11194493B2 (en) Data storage system capable of using high speed channel to access data, and using low speed channel to manage data exchanging, copying, and moving