[go: up one dir, main page]

TW201738746A - 分析包裝後修復的紀錄與使用的方法及系統 - Google Patents

分析包裝後修復的紀錄與使用的方法及系統 Download PDF

Info

Publication number
TW201738746A
TW201738746A TW105118364A TW105118364A TW201738746A TW 201738746 A TW201738746 A TW 201738746A TW 105118364 A TW105118364 A TW 105118364A TW 105118364 A TW105118364 A TW 105118364A TW 201738746 A TW201738746 A TW 201738746A
Authority
TW
Taiwan
Prior art keywords
memory
server system
post
memory module
module
Prior art date
Application number
TW105118364A
Other languages
English (en)
Other versions
TWI626537B (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 TW201738746A publication Critical patent/TW201738746A/zh
Application granted granted Critical
Publication of TWI626537B publication Critical patent/TWI626537B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • G06F12/0661Configuration or reconfiguration with centralised address assignment and decentralised selection
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/835Masking faults in memories by using spares or by reconfiguring using programmable devices with roll call arrangements for redundant substitutions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本技術之各範例提供用以追蹤包裝後修復(PPR)在伺服器系統之雙行記憶體模組(DIMM)中的使用之系統和方法。伺服器系統的BIOS可在執行包裝後修復流程前檢查PPR的使用紀錄,並將DIMM的複數個記憶體庫群組之備用列的使用狀態送至伺服器系統的控制器(如:BMC),因此使用者或伺服器系統可檢查伺服器系統之每個DIMM的PPR狀態。可由伺服器系統自動判斷或由使用者手動判斷是否取代相對應的DIMM。

Description

分析包裝後修復的紀錄與使用的方法及系統
本發明技術主要係與電信網路中的伺服器系統相關。
包裝後修復(PPR)是第四代雙倍數據速率(DDR4)同步動態隨機存取記憶體(SDRAM)的特徵。PPR提供利用SDRAM之記憶體庫群組(bank group)中可用的備用列來修復記憶體缺陷之機制。然而,PPR為永久修復,且一旦修復後便無法逆轉。因此有需要增強DDR4 SDRAM中PPR功能。
根據本技術各種實施例之系統與方法,其藉由追蹤管理支援包裝後修復(PPR)的記憶體模組之複數個記憶體庫群組(如雙行記憶體模組dual in-line memory module,DIMM)以提供解決上述伺服器系統問題之技術方案。更具體的說,本技術各種實施例提供追蹤伺服器系統之各DIMM中PPR使用情況的方法。伺服器系統的BIOS可在執行PPR流前先檢查PPR使用情況的紀錄。響應於目標記憶體庫群組的所有備用列均被使用之判斷,BIOS可跳過無效的修復動作,因此節省了每次無效修復動作之開機自我檢測(power-on self-test,POST)的預定的時間,如2秒。BIOS亦可將目標記憶體庫的使用狀態送至伺服器系統的控制器(如BMC),因此使用者或伺服器系統可檢查伺服器系統之每個DIMM的PPR狀態。可由至伺服器系統自動或由使用者手動決定是否取代對應的DIMM之判斷。在一些實施方式中,使用者可用智慧平台管理介面(intelligent platform management interface,IPMI)指令(Commands,CMDs)來檢查每個DIMMS的PPR狀態。
在傳統的伺服器系統中,DDR4 SDRAM不提供任何註冊給使用者檢查SDRAM中複數個記憶體庫群組的狀態。使用者或伺服器系統並不知道多少個記憶體庫群組具有能夠用於PPR之額外容量。相反的,本技術之各種實施例提供了更快且更節省成本的方法來管理SDRAM的PPR使用狀態,且提供選擇使用者或伺服器系統來檢查雙行記憶體模組(DIMM)之PPR狀態並做出是否取代DIMM之判斷的選項。
在一些實施例中,DIMM之PPR狀態可儲存於特定儲存器中。舉例來說,PPR狀態可儲存在DDR4序列存在檢測(serial presence detect,SPD)模組中、BIOS變數模組或控制器(如基板管理控制器(baseboard management controller,BMC)或機架管理控制器(rack management controller,RMC))中。在一些實施中,DDR SPD模組可獨立於對應伺服器系統的BIOS或控制器操作,使得儲存於DDR SPD模組的PPR狀態也會獨立於BIOS或控制器。
在一些實施例中,DDR4 SPD模組的一個或多個「終端用戶可編程(End User Programmable)」區域可用來儲存PPR狀態。PPR狀態可包括在對應DIMM中之複數個記憶體庫群組的第一子集的狀態及複數個記憶體庫群組的第二子集的狀態。複數個記憶體庫群組之第一子集中的記憶體庫群組具有還未被使用之至少一備用列。複數個記憶體庫群組之第二子集中的記憶體庫群組不具有還未被使用之備用列。在一些實施例中,在執行任何PPR修復之前,伺服器系統的BIOS可從SPD模組檢索PPR狀態。PPR狀態包括第一子集記憶體庫群組和第二子集記憶體庫群組的訊息。響應於複數個記憶體庫群組的第一子集包括至少一個記憶體庫群組具有備用列之判斷,BIOS可運行PPR修復後並更新儲存在SPD模組中的PPR狀態。
響應於複數個記憶體庫群組的第一子集中沒有記憶體庫群組之判斷,BIOS可跳過PPR修復。在一些實施例中,響應於複數個記憶體庫群組中沒有備用列之判斷,BIOS可跳過PPR修復。當發生記憶體錯誤時,BIOS可記錄記憶體錯誤所在的實體位址於記憶體遮罩表(memory mask table)中。對應之位址之後在接下來的POST期間可被遮罩。
第1A圖繪示根據本發明技術實施例之網絡中之例示性伺服器機架100A之方塊示意圖。在本例中,伺服器機架100A包括:複數個節點(如伺服器系統101和102)及微控制器103(如RMC)。複數個節點中的每一個節點可包括:處理器(如1012或1022)、BIOS(如1016或1026)、BMC(如1118或1128)及記憶體(如1014或1024)。複數個節點可彼此獨立操作。在一些實施方式中,複數個節點可具有相似的計算能力及記憶體容量。在一些實施方式中,複數個節點可有各種不同大小、不同計算能力和不同記憶體容量。
在本例中,BIOS(如1016或1026)和BMC(如1118或1128)可經由處理器(如1012或1022)耦合至記憶體(如1014或1024)。BIOS或BMC可經由處理器的記憶體控制模組(如1013或1023)存取或管理記憶體。
在一些實施方式中,BIOS是儲存於唯讀記憶體(read-only memory,ROM)或其他儲存器之軟體。BIOS 104可提供抽象化層(abstraction layer)給硬體構件、應用程序及操作系統以與輸出/輸入裝置(如鍵盤、顯示裝置)互動。在一些實施例中,操作系統在載入後可略過BIOS提供的抽象層而直接存取對應節點或複數個節點的硬體構件。
在一些實施例中,記憶體(如1014或1024)為一個或多個DIMM(如包括SPD模組的SDRAM模組或DDR SDRAM)。SPD模組可獨立於對應節點的BIOS和BMC操作,並用於儲存對應DIMM之PPR的狀態。舉例來說,SPD的終端用戶可編程(End User Programmable)區域可用來儲存PPR狀態。
BIOS和BMC可追蹤儲存在對應SPD模組之DIMM的PPR的使用。響應於DIMM的複數個記憶體庫群組的目標記憶體庫沒有剩餘的備用列之判斷,BIOS和BCM可執行PPR修復並接著更新儲存在SPD模組之PPR的狀態。
響應於DIMM的複數個記憶體庫群組的目標記憶體庫沒有剩餘的備用列之判斷,BIOS和BCM跳過PPR的修復動作並接著送出DIMM目標記憶體庫的使用狀態。BCM可自動檢查對應節點之每個DIMM的PPR狀態。響應於DIMM沒有剩餘的備用列之判斷,BMC可送出通知給節點的使用者以更換此DIMM。
表1例示了根據本技術實施方式的例示性PPR狀態表。在此例中,128位元組係保留給DIMM的DDR4 SPD的「終端用戶可編程」區域。位元映像(bit map)格式可用來記錄DIMM的複數個記憶體庫群組的PPR狀態。在一些實施例中,可從DDR4 SPD的其他區域來擷取DIMM的資訊並用以判斷DIMM中若干個記憶體庫群組。響應於PPR修復從未被在DIMM被使用之判斷,BIOS或BMC可建立新的PPR狀態表並將狀態表寫入SPD。 表1:PPR 狀態表的範例
在此例中,PPR狀態表的表頭包括:用以識別之簽章(Signature)欄、用以描述狀態表的整體大小之長度(Length)欄、和用以確認數據是否正確之校驗和 (Checksum)欄。接於表頭後的是PPR狀態表,其包括描述DIMM中複數個記憶體庫群組中的每一個記憶體庫群組的PPR狀態的資訊。舉例來說,4位元可用以描述DIMM中從0至3記憶體庫群的PPR狀態。第1B圖繪示了根據本技術實施方式中儲存在SPD的PPR狀態表的一個範例。
第1C圖繪示根據本技術實施方式之例示性伺服器系統100C的示意方塊圖。在本例中,伺服器系統100C包括連接至高速緩衝記憶體(Cache)142、主記憶體184、及提供電源給伺服器系統100C的一個或多個PSU之至少一個微處理器或 CPU 140。主記憶體184可經由北橋(north bridge,NB)邏輯182耦合至CPU 140。記憶體控制模組(未示於圖中)可在記憶體操作期間用於藉由判斷必需的控制訊號來控制主記憶體184的操作。主記憶體184可包括:DRAM、SDRAM、DDR DRAM、靜態RAM (SRAM)或其他適用的記憶體種類,但不限定於此。
在一些實施方式中,CPU 140可為多核心處理器,各CPU 140可藉由連接至NB邏輯182的CPU匯流排而耦合在一起。在一些實施方式中,NB邏輯182可整合至CPU 140中。NB邏輯亦可連接至複數個快速周邊組件互連(peripheral component interconnect express,PCIe)埠160及可選擇性地連接至南橋(SB)邏輯144。複數個PCIe埠160可作為連接及匯流排,如PCI Express x1、USB 2.0、SMBus、SIM卡、未來其他PCIe lane的擴充、1.5伏和3.3伏電源及對伺服器機殼上診斷LED的接線。
在本例中,NB邏輯182藉由周邊組件互連(peripheral component interconnect,PCI)匯流排146連結南橋邏輯144。PCI匯流排可支持CPU 140上的功能,但在獨立於任一CPU的原本的匯流排外之較佳標準化格式中。PCI匯流排146可進一步連接至複數個PCI槽170(如PCI槽172)。連接至PCI匯流排146之裝置可出現在匯流排控制器(未顯示於圖式)以直接連接至CPU匯流排、分配在CPU的位址空間中的位址且被同步為單一匯流排時脈。可用於複數個PCI槽170的PCI卡包括:網路介面卡(network interface cards,NICs)、音效卡(sound card)、數據機(modem)、電視卡(TV tuner card)、磁碟控制器(disk controller)、視訊卡(video card)、小型電腦系統介面(small computer system interface,SCSI)連接器、個人電腦記憶卡國際協會(PCMCIA)卡,但不限於此。
SB邏輯144可將PCI匯流排146經由擴充匯流排耦合於複數個周邊IO裝置150(如TPM控制器152)。擴充匯流排可為用於SB邏輯144與周邊裝置間通信的匯流排,其可包括工業標準架構(industry standard architecture,ISA)匯流排、PC/104匯流排、少腳位(low pin count)匯流排、擴充型ISA(extended ISA,EISA)匯流排、通用串列匯流排(universal serial bus,USB)、整合驅動電子(IDE)匯流排或任何用於周邊裝置數據通信的其他適合之匯流排,但不限於此。
在本例中,SB邏輯144更進一步耦合於連接到一個或多個PSU 110的控制器112。一個或多個PSU 110係設置以提供電源至伺服器系統100C的各個構件,如:CPU 140、高速緩衝記憶體142、NB邏輯182、PCIe埠160、記憶體184、SB邏輯144、周邊IO裝置150、PCI槽170及控制器112。電源開啟後,伺服器系統100C被設置以從記憶體、電腦儲存裝置或外部儲存裝置載入軟體應用程式以執行各項操作。
在一些實施方式中,控制器112可以為基板管理控制器(baseboard management controller,BMC)、機架管理控制器(rack management controller,RMC)、鍵盤控制器或任何其他合適種類的系統控制器。在一些實施例中,控制器112可設置以控制伺服器系統100C的操作及/或與管理者經網路通信。
在一些實施方式中,控制器112可從內建於伺服器系統100C中之不同種類的感測器來收集參數(如溫度、冷卻風扇速度、電源狀態、記憶體及/或操作系統(operating system,OS)狀態)。在一些實施方式中,控制器112亦可設置以在必要時採取適當操作。舉例來說,當內建於伺服器系統100C中之不同種類的感測器的任何參數超過預設限制時,此可表示伺服器系統100C潛在的失效,控制器112可設置以響應於此潛在失效而執行適當的操作。適當的操作可包括但不限於經由網路送出警告給CPU 140、或系統管理員或採取一些校正動作如重置或冷開機(power cycling)節點使中止的OS再次運作。
雖然只有一些構件被顯示在第1C圖的伺服器系統100C和第1A圖的機架系統100A中,可處理和儲存數據或接受或傳輸訊號的各種類型的電子構件或計算構件亦可包括在第1C圖的伺服器系統100C和第1A圖的機架系統中。再者,在第1C圖的伺服器系統100C及第1A圖的機架系統100A中的電子構件或計算構件可設置以執行各種類型的應用程式且/或使用各種類型的操作系統。這些操作系統可包括但不限於:安卓(Android)、柏克萊軟體分配(Berkeley software distribution,BSD)、 蘋果行動設備作業系統(iOS)、Linux、OS X、類Unix即時操作系統(Unix-like Real-time Operating System)如QNX、微軟視窗(Microsoft Windows)、Window Phone及IBM z/OS。
取決於第1C圖的伺服器系統100C及第1A圖的機架系統100A期望的實施方式,可使用各種網路及通信協定,包括但不限於: TCP/IP、開放性系統互連(open systems interconnection,OSI)、檔案傳輸協定(file transfer protocol,FTP)、通用隨插即用(universal plug and play,UPnP)、網絡文件系統(network file system,NFS)、公用網際網路檔案系統(common internet file system,CIFS)、AppleTalk等。如所屬技術領域具通常知識者可知,第1C圖的伺服器系統100C和第1A圖的機架系統係為了解釋上之目的而使用。因此,網路系統可視情況地以各種變化來實施,而仍係提供根據本技術不同實施例之網路平台的配置。
在第1C圖及第1A圖的例示性配置中,第1C圖的伺服器系統100C及第1A圖的機架系統100A亦可包括可操作以與在特定無線通道的計算範圍內之一個或多個電子元件通信之一個或多個無線構件。無線通道可為用以使裝置無線通信的任何適合通道,如:藍芽(Bluetooth)、蜂巢式(cellular)、近場通信(NFC)或Wi-Fi通道。應瞭解如所屬技術領用已知的,裝置可有一個或多個傳統的有線通信連接。在各實施例的範疇內亦可存在各種其他元件及/或其組合。
第2A圖繪示根據本發明技術實施例之PPR修復的例示性方法200A。應瞭解的是例示性方法200A係僅為了說明的目的而呈現,因此根據本技術的其他方法可包括以相似或替代順序或同時執行增、減或替代步驟。
在步驟202,例示性方法200A開始於從伺服器系統的特定儲存器(如:DIMM的DDR4 SPD、BIOS可變模組或伺服器系統控制器)接收DIMM的PPR狀態。在一些實施例中,如第1A圖及第1C圖所繪示,伺服器系統的BIOS或控制器(如:BMC)可經由處理器的記憶體控制器從SPD接收PPR狀態。SPD可獨立於控制器操作。在一些實施方式中,SPD的「終端用戶可編程」區域可用來儲存PPR之PPR狀態。
PPR狀態可包括對應DIMM之複數個記憶體庫群組的狀態,其包括複數個記憶體庫群組中具有至少一備用列的第一子集的狀態及複數個記憶體庫群組中不具有備用列的第二子集的狀態。
在步驟204,BIOS可從特定儲存器中接收PPR變數。PPR變數包括之前記憶體錯誤的CPU、通道、DIMM、位階、裝置、記憶體庫群組、記憶體庫或列之地址位置訊息清單。BIOS可用PPR變數來測試目標記憶體位置並判定是否觸發PPR動作。
在步驟206,BIOS或控制器可判斷PPR清單是否是空的。在步驟208,響應於PPR清單是空的之判斷,BIOS或控制器可啟動伺服器系統的記憶體(如對應的DIMM)。
步驟210,響應於PPR清單不是空的而有記憶體錯誤要被修復之判斷,BIOS或控制器可至少根據DIMM的PPR狀態及複數個PPR變數來判斷是否在對應的DIMM的複數個記憶體庫群組存在有任何備用列。若複數個記憶體庫群組不具有剩餘之備用列,BIOS和控制器可對應於記憶體錯誤更新伺服器系統的記憶體遮罩表以及遮罩DIMM的實體位址。然後流程200A回到步驟206。
在步驟212,若在複數個記憶體庫群組中存在有記憶體錯誤且複數個記憶體庫群組有至少一個備用列,則 BIOS或控制器可以執行PPR並利用該至少一個備用列來修復記憶體錯誤。BIOS或控制器可進一步更新儲存於伺服器系統中之特定儲存器的PPR狀態。然後流程200A回到步驟206。
在步驟214,若在複數個記憶體庫群組中存在有記憶體錯誤而複數個記憶體庫群組中沒有備用列, 則BIOS或控制器可遮罩記憶體錯誤並更新記憶體遮罩表。
第2B圖繪示根據本發明技術實施例之管理伺服器系統中之PPR狀態表的例示性方法200B。在步驟222,例示性方法200B開始於開啟伺服器系統。接著在步驟224,伺服器系統的BIOS或控制器可檢查PPR表是否存在或是否有校驗和錯誤。第1B圖繪示PPR表的範例。
在步驟226,響應於PPR表存在或沒有校驗和錯誤之判斷,BIOS或控制器可進一步判斷是否對應DIMM的複數個記憶體庫群組有任何備用列。在步驟228,響應於複數個記憶體庫群組有至少一個備用列之判斷,BIOS或控制器可執行PPR流程以修復偵測到的記憶體錯誤,如第1A圖、第1B圖及第1C圖所繪示。在步驟230,BIOS或控制器可接著送出PPR狀態給伺服器系統的控制器(如:BMC),如第1A圖、第1B圖及第1C圖所繪示。舉例來說,PPR流程可包括根據PPR狀態表,以至少一個備用列來修復偵測到記憶體錯誤的記憶體位置。在步驟232,響應於複數個記憶體庫群組沒有備用列之判斷,BIOS或控制器可依據DIMM的記憶體遮罩表或伺服器系統的記憶體來遮罩被偵測到記憶體錯誤的記憶體位置。
在步驟234,響應於PPR表不存在或存在校驗和錯誤之判斷,BIOS或控制器可至少根據從DIMM的非-SPD區收集的DIMM的訊息或狀態來判斷複數個記憶體庫群組的計數。在步驟236,BIOS或控制器可接著至少根據DIMM中複數個記憶體庫群組的計數及PPR變數生成PPR 狀態表。在步驟238,BIOS或控制器可將PPR狀態表寫入DIMM的SPD模組。然後流程200B跳到步驟226。 專業術語
電腦網路為地理上分布之節點(node)集合,其藉由通信鏈結與通信段相互連接以傳輸數據於兩個端點間,如個人電腦及工作站之間。很多種類的網路可被使用,其類型範圍從區域網路(LAN)、廣域網路(WAN)到覆蓋網路和軟體定義的網路如虛擬可擴展區域網路(virtual extensible local area networks,VXLANs)。
LAN通常透過位於大致相同的物理位置,如建築物或校園之專屬私人通信鏈結來連接節點。另一方面,WAN通常透過長距離通信鏈結,如公共載體(common carrier)電話線、光學光路(optical lightpath)、同步光纖網路(synchronous optical networks,SONET)或同步數位架構(synchronous digital hierarchy,SDH)連結來連接地理上分散之節點。LAN和WAN可包括第二層(L2)及/或第三層(L3)網路和裝置。
網際網路為WAN的一個範例,其連接了遍布世界的不同的網路,提供了全球通信於各網路上節點之間。節點通常根據預定義的協定如傳輸控制協定/網際網路協定(TCP/IP)藉由交換訊框(frame)和封包(packet)數據經網路通信。 就此而論,協定可指一組定義節點彼此如何互動的規定。電腦網路可更進一步被中間網路節點如路由器所連接,以延伸每個網路的有效「大小」。
覆蓋網路(overlay network)通常使虛擬網路被建立並層疊於實體網路基礎結構之上。覆蓋網路協定,如虛擬可擴展區域網路(VXLAN)、使用同屬選路封裝(Generic Routing Encapsulation,NVGRE)的網路虛擬化(Network Virtualization)、網路虛擬化覆蓋(Network Virtualization Overlays,NVO3)和無狀態式傳輸層隧道(Stateless Transport Tunneling,STT),提供使網路流量經邏輯隧道進行跨越第二層和第三層的網路的流量封裝機制。此邏輯隧道可經虚拟隧道端点(virtual tunnel end points,VTEP)開始和結束。
再者,覆蓋網路可包括虛擬段如在VXLAN覆蓋網路中的VXLAN段,其可包括VM透過其通信的虛擬L2及/或L3覆蓋網路。虛擬段可利用虛擬網路識別器(virtual network identifier,VNI),如VXLAN網路識別器(VXLAN network identifier)來識別,其可具體識別相關的虛擬段或網域。
網路虛擬化讓硬體和軟體資源可在虛擬網路被結合。舉例來說,網路虛擬化可讓數個 VM經由 個別的虛擬LAN(VLAN)連接到實體網路。VM可根據其個別的VLAN分組並可與其他在網際網路或外部網路的VM及其他裝置通信。
網路段,如實體段或虛擬段、網路、裝置、埠、實體鏈結或邏輯鏈結及/或流量通常可被分組為橋接域(bridge domain)或流動域(flood domain)。橋接域或流動域可代表廣播域,如L2廣播域。橋接域或流動域可包括單一子網絡或亦可包括多個子網絡。再者,橋接域可與網路裝置上的橋接域介面如切換裝置連接。橋接域介面可為邏輯介面,其支援L2橋接網路和L3路由網路間的流量。此外,橋接域介面可支持網際網路協定(IP)終止、虛擬專屬網路終止、位址解析處理、MAC定址(MAC addressing)等。橋接域及橋接域介面可藉由相同的指標或識別碼來識別。
而且,终端组(EPG)可用於網路中以將應用程序映射至網路。特別是终端组(EPG)可使用在網路中分組之應用程序终端以施用連接與政策於該組應用程序。终端组(EPG)可作為應用程序或應用程序構件桶或集合或的容器及將實施轉發及政策邏輯分層。EPG亦藉由替代使用邏輯應用程序邊界使網路政策、安全性、轉發從定址分離。
雲端運算亦可設於一個或多個網路中以提供使用分享資源的計算服務。雲端運算通常可包括基於網際網路的計算,其中計算資源從可用資源集合中經由網路(如「雲端」)動態性供給及分配給有需求的用戶端、使用者電腦或其他裝置。舉例來說,雲端運算資源可包括任何類型的資源,如計算、儲存、網路裝置、虛擬主機(VM)等。例如,資源可包括服務裝置(防火牆、深度封包檢測器、流量監控器、負載平衡器等)、計算/處理裝置(伺服器、CPU、記憶體、強力處理能力(brute force processing cappability))、儲存裝置(如附接儲存器的網路、儲存區域網路裝置)等。此外,這些資源可用來支持虛擬網路、虛擬主機(VM)、數據庫、應用程序(Apps)等。
雲端運算資源可包括私有雲(private cloud)、公用雲(public cloud)及/或混合雲(hybrid cloud)。混合雲可為由一個或多個雲交互作用或技術聯合而組成的雲基礎架構。本質上,混合雲為一種私有雲與公用雲之間的互動,其中私有雲加入公用雲並在 安全和可擴展的方式下使用公用雲的資源。雲端運算資源亦可經由覆蓋網路中的虛擬網路,如VXLAN提供。
在網路交換系統中,可維護查找數據庫(lookup database)以保持連接至交換系統之多個端點間的路徑。然而,端點可有多種組態且與多個租戶(tenants)連接。這些端點可有各種類型的識別碼,如IPv4、IPv6或第二層。查找數據庫必須以多種模式設置以處理各種不同類型的端點識別碼。查找數據庫的一些容量被分割出來用以處理傳入封包之不同位址種類。再者,在網路交換系統上之查找數據庫通常受1K虛擬路由及轉傳(virtual routing and forwarding,VRFs)限制。因此,需要改善之查找演算法以處理各種類型的端點識別碼。所揭露的技術解決了現有技術在電信網路中位址查找的需求。所揭露者為藉由映射端點識別碼到一致空間及讓不同型態的查找可以一致性的處理,以一致化各種類型的端點識別碼之系統、方法和電腦可讀取儲存媒體。本文揭露系統與網路的範例之簡短介紹性說明,如第3圖及第4圖所繪示。這些變化應描述於本文中作為所闡述之各種例子。現在轉至討論第3圖的技術。
第3圖繪示適合用以實施本技術的計算裝置300的範例。計算裝置300包括主中央處理單元(CPU)362、介面368及匯流排315(如:PCI匯流排)。當於適當的軟體或韌體的控制下動作時,CPU 362負責執行封包管理、錯誤偵測及/或路由功能,例如纜線錯誤連接偵測功能。優選地,CPU 362在軟體的控制下完成所有這些功能,其中軟體包括操作系統及任何適合的應用軟體。CPU 362可包括一個或多個處理器363,如微處理器的Motorola家族或微處理器的MIPS家族的處理器。在替代例中,處理器363係為了控制計算裝置300的操作而特別設計的硬體。在具體範例中,記憶體361(如非揮發性RAM及/或ROM)亦形成為CPU 362之一部分。然而,存在有很多不同的方法可將記憶體耦合至系統。
介面368通常以介面卡(有時被稱作為線路卡(line card))提供。一般而言,其透過網路控制數據封包的送出或接收並有時支持與計算裝置300一起使用的其他周邊裝置。可提供的介面有:乙太網路(Ethernet)介面、訊框中繼(frame relay)介面、纜線介面、數位用戶線路(DSL)介面、符記環形(token ring)介面及類似介面。此外,可以提供各種非常高速的介面,例如快速符記環形(fast token ring)介面、無線介面、乙太網路介面、十億位元乙太網路(Gigabit Ethernet)介面、非ATM介面、HSSI介面、POS介面、FDDI介面及類似介面。一般來說,這些介面可包括適於與合適媒體通信的埠。在一些範例中,其亦可包括獨立處理器及在有些情況中,包括揮發性RAM。獨立處理器可控制通信密集的任務例如:封包交換、媒體控制及管理。藉由設置獨立的處理器給通信密集的任務,這些介面讓主微處理器362有效率地執行路由計算、網路診斷、保全機能等任務。
雖然在第3圖顯示的系統是本技術的一個具體的計算裝置,但並非本專利申請可以於其上實施的唯一網路裝置架構。舉例來說,也常使用具有處理通信及路由計算等之單一處理器的架構。再者,其他種類的介面與媒體亦可與路由器一起使用。
不考慮網路裝置的配置,其可採設置以儲存用於通用網路操作及本文所述之漫遊、最佳化路由及路由功能機制之程序指令的一個或多個記憶體或記憶體模組(包括記憶體361)。程序指令可控制,例如操作系統及/或一個或多個應用程序的操作。一個或多個記憶體亦可設置以儲存表格,如移動連結(mobility binding)表、註冊表、關聯表等。
第4圖及第5圖繪示根據本技術各態樣之可能的系統的範例。當實施本技術時,更合適的範例對所屬技術領域具通常知識者來說將是顯而易見的。所屬技術領域具通常知識者也會輕易地理解到其他系統的範例也是可行的。
第4圖繪示傳統計算系統架構400,其中系統中的構件係利用匯流排405相互電子通信。範例系統400包括處理單元(CPU或處理器)410及系統匯流排405,系統匯流排405將包括系統記憶體415,如唯讀記憶體(ROM)420及隨機存取記憶體(RAM)425之各系統構件,耦合至處理器410。系統400可包括高速記憶體的高速緩衝記憶體,其直接緊密地連接於系統,或直接整合成處理器410的一部分。系統400可從記憶體415及/或儲存裝置430將數據複製至高速緩衝記憶體412以使處理器410可快速存取。用這種方法,高速緩衝記憶體因可避免處理器410等待數據的延遲而可提供效能提升。這些和其他模組可控制或設置以控制處理器410以執行各種動作。亦可使用其他系統記憶體415。記憶體415可包括具有不同效能特性的不同類型的數個記憶體。處理器410可包括任何通用處理器及硬體模組或軟體模組,如在儲存於儲存裝置430中的模組432、模組434及模組436,其設置以用於控制處理器410或特殊目的的處理器,其軟體指令被整合進實體處理器的設計中。處理器410可實質上為完全獨立的計算系統,其包含多核心處理器、匯流排、記憶體控制器、高速緩衝記憶體等。其中多核心處理器可為對稱亦或非對稱的。
為使使用者與計算裝置400互動,輸入裝置445可代表任何數目的輸入機制,如用以說話的麥可風、用以手勢或圖形輸入的觸敏型螢幕(touch-sensitive screen)、鍵盤、滑鼠、動作輸入(motion input)、語音等等。輸出裝置435亦可為所屬領域具通常知識者所知的一個或多個輸出機制。在一些情況中,多模式(multimodal)系統可讓使用者提供多種類的輸入以與計算裝置400通信。通信介面440可主要地支配管理使用者的輸入與系統的輸出。對任何特定硬體上配置之操作無所限制,因此隨其發展,此處的基本特徵可輕易地被改良後的硬體或韌體配置所取代。在本專利申請的任何範例中的任何特徵或步驟可與任何其他範例中之其他任何特徵或步驟混合。
儲存裝置430為非揮發記憶體,可為硬碟或可儲存可被電腦存取的數據之其他種類之電腦可讀媒體,如:卡式磁帶(magnetic cassette)、快閃記憶卡(flash memory card)、固態記憶體(solid state memory)裝置、數位通用碟片(digital versatile disk)、儲存匣(cartridge)、隨機存取記憶425、唯讀記憶體420及其混合媒體。
儲存裝置430可包括軟體模組432、434、436以控制處理器410。其他硬體或軟體模組亦為可預期的。儲存裝置430可連接至系統匯流排405。在一個態樣中,用以執行特定功能的硬體模組可包括軟體構件,其儲存於與必要硬體構件如處理器410、匯流排405、輸出裝置435(如顯示裝置)等等相連接之電腦可取讀媒體中以實現其特定功能。
第5圖繪示具有晶片組架構之電腦系統500,其可用來執行所述方法並產生及顯示圖形化使用者介面(graphical user interface,GUI)。電腦系統500為可用來實施所揭露的技術之電腦硬體、軟體及韌體的範例。系統500可包括處理器555,代表性的任何數目實體及/或邏輯不同的資源,其可執行設置以實施所識別的計算之軟體、韌體及硬體。處理器555可與可以控制處理器555的輸出與輸入之晶片組560通信。在本例中,晶片組560輸出訊息至輸出裝置565,如顯示裝置,並可讀寫訊息至儲存裝置570,其可包括例如磁性媒體及固態媒體。晶片組560亦可從RAM 575讀取及寫入數據。用以與各種使用者介面構件585聯繫的橋(bridge)580可被設置以與晶片組560聯繫。此種使用者介面構件585可包括鍵盤、麥克風、接觸偵測與處理電路、指標裝置如滑鼠等等。一般來說,系統500的輸入可來自任何各式各樣機器生成及/或人類生成的來源。
晶片組560亦可與具有不同實體介面的一個或多個通信介面590聯繫。此種通信介面可包括用於有線及無線區域網路的介面、用於寬頻無線網路的介面及個人區域網路(personal area network)的介面。用以產生、顯示及使用揭露於此之GUI之此方法的有些應用程序,可包括透過實體介面接收所要求的數據集或由分析儲存在儲存裝置570或RAM 575數據之機器處理器555自己機械性地產生。再者,機器可經由使用者介面構件585接收來自使用者的輸入並執行相稱的功能,如藉由處理器555解讀這些輸入以執行瀏覽(browsing)功能。
可理解的是範例系統400及500可具有多於一個處理器410,或者可為一群或一串網路連接在一起的計算裝置的一部分以提供更大的處理能力。
為了解釋上的清楚,在某些情況中本技術可以包括有個別的功能性區塊來呈現,其包括的功能性區塊有裝置、裝置構件、以軟體實現之方法中的步驟或程序或硬體與軟體的結合。
在某些範例中,電腦可讀取儲存裝置、媒體和記憶體可包括的電纜或無線訊號,其包含位元流或類似物。然而當提及的是非暫時性電腦可讀取儲存媒介時,則明確排除如能量、載波訊號、電磁波及訊號本身的媒介。
根據上述範例的方法可使用被儲存或其他可從電腦可讀媒體獲得的電腦可執行的指令來實施。舉例來說,這些指令可包括指令及數據,其導致或設定成使通用電腦、特殊目的電腦或特殊目的處理裝置執行特定的功能或功能群。可透過網路存取所用電腦資源的部分。電腦可執行指令舉例來說可以為二進位(binary)、中間格式的指令,如組合語言(assembly language)、韌體或原始碼(source code)。可用來儲存根據所述範例之方法期間之指令、所用的訊息及/或所製造的訊息的電腦可讀取媒體的範例包括:磁性或光學碟片、快閃記憶體、提供非揮發記憶體的USB裝置、網路儲存裝置等。
實施根據本揭露之方法的裝置可包括:硬體、韌體及/或軟體,並可採取各種尺寸規格中之任一。此種尺寸規格典型範例包括筆記型電腦、智慧型手機、小尺寸規格(form factor)個人電腦、個人數位助理等。這裡所述的功能性亦可實施於周邊裝置或外接卡。在進一步的範例中,此功能性亦可實施在不同晶片間或在單一裝置執行不同程序間的電路板上。
指令、用以傳送這些指令的媒體、執行這些指令的計算資源及用以支持這些的計算資源的其他結構為提供本揭露所述功能的手段。
本技術各種態樣提供了用以管理伺服器系統中的記憶體模組之系統和方法。以上所引用的具體範例中呈現了在不同的指令中如何使用可選的操作,但在其他範例可將可選的操作併入不同的指令。為了解釋上的清楚,在某些情況中本技術以包括有個別的功能性區塊來呈現,其包括的功能性區塊有裝置、裝置構件、以軟體實現之方法中的步驟或程序或硬體與軟體的結合。
各種範例可進一步在多種操作環境下實施,其中一些範例中可包括一個或多個伺服器電腦、使用者電腦或計算裝置,其可用來執行多個應用程序中的任一應用程序。使用者或客戶端裝置可包括多個通用個人電腦中之任一,如運行標準操作系統的桌上電腦或筆記型電腦及運行行動軟體並能支援多個網路及訊息協定(messaging protocol)的蜂巢式、無線及手持裝置。這樣的系統亦可包括運行各種商用操作系統及其他已知的用於開發和數據庫管理為目的的應用程序的多個工作站。這些裝置亦可包括其他電子元件,如虛擬終端(dummy terminal)、精簡型終端機(thin-clients)、遊戲系統(gaming system)及可透過網路通信的其他裝置。
在實施於硬體之範圍或其部分的情形下,本專利申請可以下技術之任一或其組合一起實施:具有邏輯閘極的離散的邏輯電路,其用以根據數據訊號實現邏輯功能、具有適當組合邏輯閘的特殊應用積體電路(application specific integrated circuit,ASIC)、可編程硬體,如可編程閘陣列(programmable gate array,PGA)、現場可編程閘陣列(field programmable gate array,FPGA)等。
大部分範例中使用至少一個網路,其為所屬技術領域具通常知識者所熟習之用以支持使用如TCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk等之各種商用協定中之任一之通信之網路。舉例來說,網路可以為區域網路、廣域網路、虛擬私人網路、網際網路、內部網路、外部網路、公用交換電話網路、紅外網路、無線網路及其任何組合。
根據上述範例的方法可使用被儲存或其他可從電腦可讀媒體獲得的電腦可執行的指令來實施。舉例來說,這些指令可包括指令及數據,其導致或設定成使通用電腦、特殊目的電腦或特殊目的處理裝置執行特定的功能或功能群。可透過網路存取所用電腦資源的部分。電腦可執行指令舉例來說可以為二進位、中間格式的指令,如組合語言、韌體或原始碼。可用來儲存根據所述範例之方法期間之指令、所用的訊息及/或所製造的訊息的電腦可讀取媒體的範例包括:磁性或光學碟片、快閃記憶體、提供非揮發記憶體的USB裝置、網路儲存裝置等。
實施根據這些技術之方法的裝置可包括:硬體、韌體及/或軟體,並可採取各種尺寸規格中之任一。此種尺寸規格典型範例包括伺服器電腦、筆記型電腦、智慧型手機、小尺寸規格個人電腦、個人數位助理等。這裡所述的功能性亦可實施於周邊裝置或外接卡。在進一步的範例中,此功能性亦可實施在不同晶片間或在單一裝置執行不同程序間的電路板上。
在使用網站伺服器(Web sever)的範例中,網站伺服器可運行各式伺服器中之任一或中間層應用程序(mid-tier application),其包括HTTP伺服器、FTP伺服器、CGI伺服器、數據伺服器(data server)、Java伺服器及商業應用伺服器(business application server)。伺服器因應使用者裝置的請求亦可執行程序或腳本(scripts),如藉由執行可以一個或多個腳本或程序實現之一個或多個網站應用程序,其中一個或多個腳本或程序係由任何程式語言,如Java®、C、C#、或C++ 或任何腳本語言如Perl、Python、TCL或其組合所寫成。伺服器亦可包括數據庫伺服器,其包括但不限於開放市場中的商用伺服器。
伺服器場可包括如上討論之各式數據儲存器及其他記憶體和儲存媒體。其可放置於各種位置,如置於(且/或置放進)一個或多個電腦的儲存媒體上或通過網路而遠離任何或所有電腦。在特定的範例組中,如所屬技術領域具通常知識者所熟知,訊息存在於儲存區域網路(storage-area network,SAN)。相似地,用以執行屬於電腦、伺服器或其他網路裝置之功能的必要檔案可視情況儲存於近端或遠端。當系統包括電腦化裝置時,此種裝置中的每一個可包括可經由匯流排電耦合的硬體元件,舉例來說,元件可包括至少一個中央處理器(CPU)、至少一個輸入裝置(如:滑鼠、鍵盤、控制器、觸敏式顯示裝置元件或小鍵盤(keypad)及至少一個輸出裝置(如:顯示裝置、印表裝置或揚聲器)。此種系統亦可包括一個或多個儲存裝置,如碟機(disk drive)、光學儲存裝置和固態儲存裝置如隨機存取記憶體(RAM)、唯讀記憶體(ROM)以及可移除媒體裝置、記憶體卡(memory card)、快閃記憶卡(flash card)等。
如上所述,此種裝置亦可包括電腦可讀取媒體的讀取器、通信裝置(如數據機(modem)、網路卡(無線或有線)、紅外計算裝置(infrared computing device))及工作記憶體。電腦可讀取儲存媒體的讀取器可連接於或配置以接收電腦可讀取儲存媒體,其表示遠端、近端、固定、及/或可移除儲存裝置或儲存媒體係用以暫時的及/或更長時間的包含、儲存、傳輸和擷取電腦可讀取訊息。系統和各個裝置一般也會包括多個軟體應用程序、模組、服務(service)或其他元件,其位於至少一個工作記憶體裝置中,包括操作系統和應用程序,如用戶端應用程序或網站瀏覽器。將理解的是替代性的範例可具有以上述例的多種變化例。舉例來說,亦可使用客製化硬體及/或可以硬體、軟體或其兩者實施特定元件,其中軟體包括可攜式軟體(portable software),如小型應用程式(applet)。再者,亦可利用連接至其他計算裝置,如網路輸入/輸出裝置。
用以容納字碼(code)或字碼的一部分的儲存媒體及電腦可讀媒體可包括任何所屬技術領域已知或已用的適當的媒體,包括儲存媒體和計算媒體,例如但不限於揮發及非揮發、可移除和不可移除媒體,其係以儲存及/或傳輸訊息,如電腦可讀指令、數據結構、程序模組或其他數據之任何方法和技術實施,包括RAM、 ROM、 EPROM、 EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、多功能數位碟片(digital versatile disk,DVD)或其他光學儲存器、卡式磁帶、磁帶、磁碟儲存器或其他磁性儲存裝置或任何其他可用來儲存所需訊息且可被系統裝置存取的媒體。基於本文所提供之技術及教示,所屬技術領域具通常知識者將領會實現本技術之各態樣之其他方式及/或方法。
因此,發明說明和圖式係被視為例示性而非限制性。然而,顯而易見的是,可對其進行各種修改和改變而不背離闡述於申請專利範圍之本專利申請案較寬廣的精神與範疇。
100A‧‧‧機架系統
100C、101、102‧‧‧伺服器系統
1012、1022、363、410、555‧‧‧處理器
1013、1023‧‧‧記憶體控制模組
1014、1024、361、184‧‧‧記憶體
1016、1026‧‧‧BIOS
103‧‧‧微控制器
110‧‧‧PSU
1118、1128‧‧‧BMC
112‧‧‧控制器
140、362‧‧‧CPU
142、412‧‧‧高速緩衝記憶體
144‧‧‧南橋(SB)邏輯
146‧‧‧周邊組件互連(PCI)匯流排
150‧‧‧周邊IO裝置
152‧‧‧TPM控制器
160‧‧‧PCIe埠
170、172‧‧‧PCI槽
182‧‧‧北橋(NB)邏輯
200A、200B‧‧‧例示性方法
202、204、206、208、210、212、214、224、226、228、230、232、234、236、238‧‧‧步驟
300‧‧‧計算裝置
315、405‧‧‧匯流排
368‧‧‧介面
400、500‧‧‧系統
415‧‧‧系統記憶體
420‧‧‧唯讀記憶體
425‧‧‧隨機存取記憶體
430、570‧‧‧儲存裝置
432、434、436‧‧‧模組
435、565‧‧‧輸出裝置
440、590‧‧‧通信介面
445‧‧‧輸入裝置
560‧‧‧晶片組
575‧‧‧RAM
580‧‧‧橋
585‧‧‧使用者介面構件
為了說明可得到前面述及的本揭露的特徵與其他優點之方式,將對前面簡短描述的原理參照繪示於所附圖式的具體例提供更詳細的說明。將理解圖式僅繪示出本發明之例示樣態,因此不被視為係本發明範疇之限制,本發明原理將利用所附圖式具體詳細的作說明及解釋,其中:
第1A圖繪示根據本發明技術實施例之網絡中例示性伺服器機架之方塊示意圖;
第1B圖繪示根據本發明技術實施例之DIMM之SPD模組中例示性PRR狀態表的方塊示意圖;
第1C圖繪示根據本發明技術實施例之例示性伺服器系統的方塊示意圖;
第2A圖繪示根據本發明技術實施例之PPR修復的例示性方法;
第2B圖繪示根據本發明技術實施例之管理伺服器系統PPR狀態表的例示性方法;
第3圖繪示根據本技術各實施方式之例示性計算裝置;
第4圖及第5圖繪示根據本技術各實施例之例示性系統。
100A‧‧‧伺服器機架
101、102‧‧‧伺服器系統
1012、1022‧‧‧處理器
1013、1023‧‧‧記憶體控制模組
1014、1024‧‧‧記憶體
1016、1026‧‧‧BIOS
103‧‧‧微控制器
1118、1128‧‧‧BMC

Claims (10)

  1. 一種在伺服器系統中包裝後修復(PPR)的電腦實施方法,其包括: 從一伺服器系統之一特定儲存器接收該伺服器系統之一記憶體模組的一包裝後修復狀態,該記憶體模組支持該包裝後修復; 從該特定儲存器接收複數個包裝後修復變數; 判斷在該記憶體模組中是否具有待修正的一記憶體錯誤; 至少根據該記憶體模組的該包裝後修復狀態和該複數個包裝後修復變數,判斷該記憶體模組的複數個記憶體庫群組具有至少一備用列; 使用該複數個記憶體庫群組的該至少一備用列修復該記憶體錯誤;以及 更新在該伺服器系統的該特定儲存器中的該包裝後修復狀態。
  2. 如申請專利範圍第1項之電腦實施方法,其中該記憶體模組為一雙行記憶體模組(DIMM)。
  3. 如申請專利範圍第2項之電腦實施方法,其更進一步包括: 至少根據該雙行記憶體模組的該包裝後修復狀態和該複數個包裝後修復變數,判斷該雙行記憶體模組的該複數個記憶體庫群組具有至少一備用列; 使用該至少一備用列修復該記憶體錯誤; 更新在該特定儲存器中的該包裝後修復狀態。
  4. 如申請專利範圍第2項之電腦實施方法,其中該雙行記憶體模組為第四代雙倍數據率(DDR4)同步動態隨機存取記憶體(SDRAM)模組。
  5. 如申請專利範圍第2項之電腦實施方法,其中該特定儲存器為該伺服器系統之第四代雙倍數據率序列存在檢測(SPD)模組、BIOS可變模組或一控制器,該特定儲存器可獨立於該伺服器系統之BIOS或該控制器操作。
  6. 如申請專利範圍第2項之電腦實施方法,其中該包裝後修復狀態包括該複數個記憶體庫群組之一第一子集及該複數個記憶體庫群組之一第二子集的一狀態,該複數個記憶體庫群組的該第一子集中的任一記憶體庫群組具有至少一備用列,該複數個記憶體庫群組之該第二子集沒有記憶體庫群組具有備用列。
  7. 一種伺服器系統,其包括: 一處理器;以及 一電腦可讀取媒體,其儲存有一指令,當該指令被該處理器執行時,造成該伺服器系統執行以下操作,其包括: 從該伺服器系統之一特定儲存器接收該伺服器系統之一記憶體模組的一包裝後修復狀態,該記憶體模組支持該包裝後修復; 從該特定儲存器接收複數個包裝後修復變數; 判斷在該記憶體模組中是否具有待修正的一記憶體錯誤; 至少根據該記憶體模組的該包裝後修復狀態和該複數個包裝後修復變數,判斷該記憶體模組的複數個記憶體庫群組具有至少有一備用列; 使用該複數個記憶體庫群組的該至少一備用列修復該記憶體錯誤;以及 更新在該伺服器系統的該特定儲存器中的該包裝後修復狀態。
  8. 如申請專利範圍第7項之伺服器系統,其中該記憶體模組為一雙行記憶體模組(DIMM)。
  9. 如申請專利範圍第7項之伺服器系統,其中當該指令被該處理器執行時,造成該伺服器系統執行以下操作,其包括: 至少根據該雙行記憶體模組的該包裝後修復狀態和該複數個包裝後修復變數,判斷該雙行記憶體模組的該複數個記憶體庫群組具有至少一備用列; 使用該至少一備用列修復該記憶體錯誤;及 更新在該特定儲存器中的該包裝後修復狀態。
  10. 如申請專利範圍第8項之伺服器系統,其中該雙行記憶體模組為第四代雙倍數據率(DDR)同步動態隨機存取記憶體(SDRAM)模組。
TW105118364A 2016-04-26 2016-06-13 分析包裝後修復的紀錄與使用的方法及系統 TWI626537B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/138,865 US20170308447A1 (en) 2016-04-26 2016-04-26 Methods and systems for analyzing record and usage in post package repair
US15/138,865 2016-04-26

Publications (2)

Publication Number Publication Date
TW201738746A true TW201738746A (zh) 2017-11-01
TWI626537B TWI626537B (zh) 2018-06-11

Family

ID=58692289

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105118364A TWI626537B (zh) 2016-04-26 2016-06-13 分析包裝後修復的紀錄與使用的方法及系統

Country Status (5)

Country Link
US (1) US20170308447A1 (zh)
EP (1) EP3239984B1 (zh)
JP (1) JP2017199367A (zh)
CN (1) CN107315690A (zh)
TW (1) TWI626537B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI845166B (zh) * 2023-02-16 2024-06-11 神雲科技股份有限公司 記憶體模組錯誤之顯示方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992885B (zh) * 2017-03-28 2020-07-24 联想(北京)有限公司 一种服务器系统中识别设备的方法及服务器系统
US10854242B2 (en) * 2018-08-03 2020-12-01 Dell Products L.P. Intelligent dual inline memory module thermal controls for maximum uptime
JP2020057257A (ja) * 2018-10-03 2020-04-09 富士通株式会社 情報処理装置及び修復管理プログラム
CN111507483A (zh) * 2019-01-30 2020-08-07 鸿富锦精密电子(天津)有限公司 返修板检测装置、方法及计算机可读存储介质
US11206243B2 (en) * 2019-03-04 2021-12-21 Cyxtera Cybersecurity, Inc. Multiple gateway controllers to establish network access
US11373726B2 (en) 2019-04-03 2022-06-28 Texas Instruments Incorporated Management of multiple memory in-field self-repair options
US10770164B1 (en) 2019-05-02 2020-09-08 International Business Machines Corporation Soft post package repair function validation
CN110795267B (zh) * 2019-10-29 2023-07-07 Oppo(重庆)智能科技有限公司 分层自动恢复方法及相关设备
US11107549B2 (en) 2019-12-16 2021-08-31 Microsoft Technology Licensing, Llc At-risk memory location identification and management
US11307785B2 (en) * 2020-02-26 2022-04-19 Dell Products L.P. System and method for determining available post-package repair resources
CN113821364B (zh) 2020-06-20 2025-07-04 华为技术有限公司 内存故障的处理方法、装置、设备及存储介质
US11106529B1 (en) * 2020-07-22 2021-08-31 Dell Products L.P. Post package repair failure memory location reporting system
CN113064773B (zh) * 2021-03-08 2023-03-24 山东英信计算机技术有限公司 一种内存ppr测试与修复方法、系统及存储介质
US11829635B2 (en) * 2021-10-21 2023-11-28 Dell Products L.P. Memory repair at an information handling system
CN114816939B (zh) * 2022-05-31 2024-06-28 苏州浪潮智能科技有限公司 一种内存通信方法、系统、设备及介质
KR20240069474A (ko) 2022-11-11 2024-05-20 삼성전자주식회사 메모리 장치 및 사용 기록 관리 방법
US12512180B2 (en) * 2023-03-31 2025-12-30 Samsung Electronics Co., Ltd. Method and system for repairing a dynamic random access memory (dram) of memory device
US20250123847A1 (en) * 2023-10-17 2025-04-17 Dell Products L.P. Bios code storage subsystem modification system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05258560A (ja) * 1992-02-10 1993-10-08 Tsuoi Chii Ie 透過性メモリ体の欠陥マスク装置
US7835207B2 (en) * 2008-10-07 2010-11-16 Micron Technology, Inc. Stacked device remapping and repair
US8902638B2 (en) * 2011-09-16 2014-12-02 Inphi Corporation Replacement of a faulty memory cell with a spare cell for a memory circuit
US9165679B2 (en) * 2012-09-18 2015-10-20 Samsung Electronics Co., Ltd. Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit
TWI492049B (zh) * 2013-02-06 2015-07-11 Ibm 記憶體模組狀態指示方法及裝置
US10686880B2 (en) * 2013-08-29 2020-06-16 Pure Storage, Inc. Dispersed storage based on range availability and methods for use therewith
US9202595B2 (en) * 2013-11-12 2015-12-01 Micron Technology, Inc. Post package repair of memory devices
US9213491B2 (en) * 2014-03-31 2015-12-15 Intel Corporation Disabling a command associated with a memory device
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices
JP2015207329A (ja) * 2014-04-21 2015-11-19 マイクロン テクノロジー, インク. 半導体装置およびその制御方法
WO2015199700A1 (en) * 2014-06-26 2015-12-30 Hewlett-Packard Development Company, L.P. Post package repair (ppr) data in non-volatile memory
US9043638B1 (en) * 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI845166B (zh) * 2023-02-16 2024-06-11 神雲科技股份有限公司 記憶體模組錯誤之顯示方法

Also Published As

Publication number Publication date
US20170308447A1 (en) 2017-10-26
CN107315690A (zh) 2017-11-03
EP3239984B1 (en) 2020-01-01
JP2017199367A (ja) 2017-11-02
EP3239984A1 (en) 2017-11-01
TWI626537B (zh) 2018-06-11

Similar Documents

Publication Publication Date Title
TWI626537B (zh) 分析包裝後修復的紀錄與使用的方法及系統
US10402205B2 (en) System and method for dynamically optimizing hardware frequency for booting
US10541868B2 (en) System and method for automatically updating bios setup options
US10806057B2 (en) Multi-node system-fan-control switch
US10331434B2 (en) System and method for remotely updating firmware
US10127055B2 (en) iSCSI based bare metal OS image deployment and diskless boot
CN107346292B (zh) 服务器系统及其计算机实现的方法
TWI638260B (zh) 當電源供應單元的待機電源故障時可操作之系統及其電腦實現方法、非暫態電腦可讀取儲存媒體
US9043638B1 (en) Method for enhancing memory fault tolerance
US10191121B2 (en) System and method for voltage regulator self-burn-in test
TWI598822B (zh) 用以關閉系統之複數個主動元件的電源之電腦可實現方法及伺服器系統
TWI637611B (zh) 使用wol的系統復原

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees