TWI529738B - Flash -backed dram module with state of health and or status information available through a configuration data bus - Google Patents

Flash -backed dram module with state of health and or status information available through a configuration data bus Download PDF

Info

Publication number
TWI529738B
TWI529738B TW102147779A TW102147779A TWI529738B TW I529738 B TWI529738 B TW I529738B TW 102147779 A TW102147779 A TW 102147779A TW 102147779 A TW102147779 A TW 102147779A TW I529738 B TWI529738 B TW I529738B
Authority
TW
Taiwan
Prior art keywords
volatile memory
memory
controller
power
power source
Prior art date
Application number
TW102147779A
Other languages
Chinese (zh)
Other versions
TW201419300A (en
Inventor
莫夏亞帝馬克
芬可道格拉斯
Original Assignee
Stec股份有限公司
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
Priority claimed from US12/369,052 external-priority patent/US8566639B2/en
Priority claimed from US12/369,076 external-priority patent/US7983107B2/en
Priority claimed from US12/369,040 external-priority patent/US7990797B2/en
Priority claimed from US12/369,027 external-priority patent/US7830732B2/en
Priority claimed from PCT/US2009/033755 external-priority patent/WO2010093356A1/en
Priority claimed from US12/369,032 external-priority patent/US20100205349A1/en
Priority claimed from US12/369,079 external-priority patent/US8169839B2/en
Priority claimed from US12/369,046 external-priority patent/US8977831B2/en
Application filed by Stec股份有限公司 filed Critical Stec股份有限公司
Publication of TW201419300A publication Critical patent/TW201419300A/en
Application granted granted Critical
Publication of TWI529738B publication Critical patent/TWI529738B/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Description

具有經由組態資料匯流排可用之健康狀態及/或狀態資 訊的快閃回存DRAM模組 Have a health status and/or status available via the configuration data bus Flash Flash Memory DRAM Module

本申請案主張2009年2月11日申請之美國專利申請案第12/369,027號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,032號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,040號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,046號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,052號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,076號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,079號之優先權;及主張2009年2月11日申請之PCT專利申請案第PCT/US09/33755號之優先權。 The present application claims priority to U.S. Patent Application Serial No. 12/369,027, filed on Feb. 11, 2009. Priority of U.S. Patent Application Serial No. 12/369,040, filed on Feb. 11; priority to U.S. Patent Application Serial No. 12/369,046, filed on Feb. 11, 2009; US Patent Application Serial No. 12/369,052; priority to U.S. Patent Application Serial No. 12/369,076, filed on Feb. 11, 2009; Priority to PCT Patent Application No. PCT/US09/33755, filed on Feb. 11, 2009.

所揭示之標的物係關於一種階段備用快閃回存雙行記憶體模組(DIMM)模組。 The disclosed subject matter relates to a phased flash flashback dual-line memory module (DIMM) module.

諸如RAID系統之數位處理裝置有時使用(例如)記憶體快取(memory cache)來改良讀寫操作之效能。通常使用揮發性記憶體來實施快取。然而,若揮發性記憶體之功率源失效,則儲存於該揮發性記憶體中之資料可能丟失。此外,諸如DRAM記憶體模組之揮發性記憶體裝置通常需要描述DRAM裝置之性質之某些參數,該等DRAM裝置組成待置放在位於記憶體模組上之一單獨非揮發性記憶體中之模組。其一實例為序列存在檢測(SPD)。然而,此資訊之儲存可能僅為達成此目的而需要將整個非揮發性記憶體添加至該揮發性記憶體。 Digital processing devices such as RAID systems sometimes use, for example, a memory cache to improve the performance of read and write operations. Volatile memory is typically used to implement the cache. However, if the power source of the volatile memory fails, the data stored in the volatile memory may be lost. In addition, volatile memory devices such as DRAM memory modules typically require certain parameters describing the nature of the DRAM device that is to be placed in a separate non-volatile memory located on the memory module. The module. An example of this is Sequence Presence Detection (SPD). However, the storage of this information may only require the addition of the entire non-volatile memory to the volatile memory for this purpose.

本揭示案係關於一種快閃回存雙行記憶體模組(DIMM)模組,該模組包括一非揮發性記憶體、一揮發性記憶體及一控制器。在正常操作期間,DIMM由一主功率源供電。當該主功率源被中斷時,一備用功率源供應足夠之臨時功率予該DIMM以便控制器在來自備用功率源之功率被耗盡之前可將資料自揮發性記憶體傳送至非揮發性記憶體中。當該主功率源再次變得可用時,該控制器將儲存於非揮發性記憶體中之資料傳回至揮發性記憶體中。當控制器將資料自揮發性記憶體移動至非揮發性記憶體時,控制器將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。 The present disclosure relates to a flash memory dual-line memory module (DIMM) module that includes a non-volatile memory, a volatile memory, and a controller. During normal operation, the DIMM is powered by a primary power source. When the primary power source is interrupted, an alternate power source supplies sufficient temporary power to the DIMM to allow the controller to transfer data from the volatile memory to the non-volatile memory before the power from the alternate power source is exhausted. in. When the primary power source becomes available again, the controller transmits the data stored in the non-volatile memory back to the volatile memory. When the controller moves the data from the volatile memory to the non-volatile memory, the controller places the memory portion of the data to be moved into a normal operation state, and the memory portion of the data is not moved. Placed in a low power state.

在一態樣中,一種與一主功率源一起使用之記憶體裝置包括:揮發性記憶體,其包括複數個記憶體部分,該複 數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,且每次至少一個記憶體部分回應於將資料自揮發性記憶體移動至非揮發性記憶體,且當將資料自揮發性記憶體移動至非揮發性記憶體時,將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。 In one aspect, a memory device for use with a primary power source includes: a volatile memory including a plurality of memory portions, the complex Each of the plurality of memory portions has a normal operating state and a low power state; an interface for connecting to a standby power source configured to power at one of the primary power sources Temporarily supplying power to the volatile memory after the loss occurs; a non-volatile memory; and a controller communicating with the volatile memory and the non-volatile memory and being programmed to detect the primary power source One of the power losses, and each time at least one of the memory portions is responsive to moving the data from the volatile memory to the non-volatile memory, and when moving the data from the volatile memory to the non-volatile memory, it will be positive The portion of the memory from which the mobile data is placed is placed in a normal operating state, and the portion of the memory from which the data is not being moved is placed in a low power state.

在另一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障,該揮發性記憶體包含複數個記憶體部分,該複數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;及回應於偵測該電原故障且當該揮發性記憶體由一備用功率源供電時:每次至少一個記憶體部分將儲存於揮發性記憶體中之資料移動至非揮發性記憶體;且當將資料自揮發性記憶體移動至非揮發性記憶體時,將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。 In another aspect, a method includes detecting a power failure of a primary power source of a volatile memory, the volatile memory including a plurality of memory portions, each of the plurality of memory portions Having a normal operating state and a low power state; and in response to detecting the power failure and when the volatile memory is powered by a backup power source: at least one memory portion is stored in the volatile memory each time The data in the middle moves to the non-volatile memory; and when the data is moved from the volatile memory to the non-volatile memory, the memory portion from which the data is being moved is placed in a normal operating state, and will not be positive The mobile data is placed in a low power state from the memory portion.

在又一態樣中,一種與一主功率源一起使用之記憶體裝置包括:揮發性記憶體,其包括複數個記憶體區段,該複數個記憶體區段由至少一個起始位址及一相應至少一個結束位址定義;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨 時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,且基於該至少一個起始位址及該至少一個結束位址而回應於將資料自揮發性記憶體移動至非揮發性記憶體。在一些態樣中,僅存在一至少一個起始位址且僅存在一至少一個結束位址,且將資料自揮發性記憶體移動至非揮發性記憶體包括僅移動儲存於一起始位址與一結束位址之間的位址處之該揮發性記憶體中之資料。 In another aspect, a memory device for use with a primary power source includes: a volatile memory including a plurality of memory segments, the plurality of memory segments being at least one start address and a corresponding at least one end address definition; an interface for connecting to an alternate power source configured to be present after a power loss from one of the primary power sources occurs Powering the volatile memory; a non-volatile memory; and a controller communicating with the volatile memory and the non-volatile memory and being programmed to detect a power loss of the primary power source And responsive to moving the data from the volatile memory to the non-volatile memory based on the at least one start address and the at least one end address. In some aspects, there is only one at least one start address and only one at least one end address exists, and moving data from the volatile memory to the non-volatile memory includes moving only at a start address and The data in the volatile memory at the address between the end addresses.

在另一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障,該揮發性記憶體包括複數個記憶體區段,該複數個記憶體區段由至少一個起始位址及一相應至少一個結束位址定義;及回應於偵測該電源故障且當用一備用功率源供電該揮發性記憶體時:基於至少一個起始位址及至少一個結束位址將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體。在一些態樣中,僅存在一至少一個起始位址且僅存在一至少一個結束位址,且將資料自揮發性記憶體移動至非揮發性記憶體包括僅移動儲存於一起始位址與一結束位址之間的位址處之該揮發性記憶體中之資料。 In another aspect, a method includes: detecting a power failure of one of a primary power source of a volatile memory, the volatile memory comprising a plurality of memory segments, the plurality of memory segments being at least a start address and a corresponding at least one end address definition; and in response to detecting the power failure and when the volatile memory is powered by a standby power source: based on at least one start address and at least one end bit The address moves the data stored in the volatile memory to a non-volatile memory. In some aspects, there is only one at least one start address and only one at least one end address exists, and moving data from the volatile memory to the non-volatile memory includes moving only at a start address and The data in the volatile memory at the address between the end addresses.

在又一態樣中,一種裝置包括:非揮發性記憶體;一控制器,其與該非揮發性記憶體通訊,其中該控制器經程式化以在一揮發性記憶體之一主功率源之一功率損失發生後即將資料自該揮發性記憶體移動至該非揮發性記憶體;及一備用電源,其在該主功率源之該功率損失發生後即提供臨時功率予該控制器及該揮發性記憶體,該備用電源包括:一具 有一輸出端子之電容器組;一至一電壓源之連接,該電壓源將該電容器組充電至一正常操作電壓;及一健康狀態監控器,其經程式化以基於該電容器組之該輸出端子處之一電壓產生一故障訊號。 In another aspect, a device includes: a non-volatile memory; a controller in communication with the non-volatile memory, wherein the controller is programmed to be a primary power source of a volatile memory Moving a data from the volatile memory to the non-volatile memory after a power loss occurs; and a backup power source providing temporary power to the controller and the volatility after the power loss of the primary power source occurs Memory, the backup power source includes: one a capacitor bank having an output terminal; a voltage source connected to the voltage source to charge the capacitor bank to a normal operating voltage; and a health state monitor programmed to be based on the output terminal of the capacitor bank A voltage produces a fault signal.

在另一態樣中,一種方法包括:中斷由一電壓源對一電容器組之充電,該電容器組經配置以提供臨時功率予一控制器,該控制器經程式化以在一揮發性記憶體之一主功率源之一功率損失發生後即將資料自該揮發性記憶體移動至一非揮發性記憶體,及在一主功率源之該功率損失發生後即提供功率予一揮發性記憶體;當充電被中斷時,對所有該電容器組之輸出端子施加一預定電阻達一預定時段;在該預定時段期間監控該電容器組之該輸出端子以判定是否該輸出端子處之電壓降至一預定臨限電壓之下;且若該輸出端子處之電壓在該預定時段之內降至該預定臨限電壓之下,則產生一故障訊號。 In another aspect, a method includes interrupting charging of a capacitor bank by a voltage source configured to provide temporary power to a controller, the controller being programmed to be in a volatile memory One of the main power sources generates power loss from the volatile memory to a non-volatile memory, and provides power to a volatile memory after the power loss occurs in a main power source; When charging is interrupted, applying a predetermined resistance to an output terminal of all of the capacitor banks for a predetermined period of time; monitoring the output terminal of the capacitor bank during the predetermined period to determine whether the voltage at the output terminal falls to a predetermined period Below the voltage limit; and if the voltage at the output terminal falls below the predetermined threshold voltage within the predetermined time period, a fault signal is generated.

在另一態樣中,一種裝置包括揮發性記憶體;一或多個非揮發性記憶體晶片,其每一者係用於儲存自該揮發性記憶體移動之資料;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自一主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一控制器,其與揮發性記憶體及非揮發性記憶體通訊,其中:該控制器經程式化以在該揮發性記憶體之該主功率源之一功率損失發生後即將資料自揮發性記憶體移動至非揮發性記憶體晶片;及將描述該揮發性記憶體之參數儲存於非揮發性記憶體晶片中至少一者 中,該等非揮發性記憶體晶片儲存自該揮發性記憶體移動之資料。在一些態樣中,該等參數包括序列存在檢測資訊。 In another aspect, a device includes volatile memory; one or more non-volatile memory wafers, each of which is used to store data moved from the volatile memory; an interface for Connected to an alternate power source configured to temporarily supply power to the volatile memory after a power loss from one of the primary power sources occurs; a controller associated with the volatile memory and non-volatile Memory communication, wherein: the controller is programmed to move data from the volatile memory to the non-volatile memory wafer after a power loss of the primary power source of the volatile memory occurs; and the description will be The parameters of the volatile memory are stored in at least one of the non-volatile memory chips The non-volatile memory chips are stored from the volatile memory. In some aspects, the parameters include sequence presence detection information.

在另一態樣中,一種方法包括在揮發性記憶體之一主功率源之一功率損失發生後即,當揮發性記憶體由一備用功率源臨時供電時,基於描述揮發性記憶體之儲存於非揮發性記憶體晶片中至少一者中的參數,該等非揮發性記憶體晶片儲存自該揮發性記憶體移動之資料,將資料自揮發性記憶體移動至非揮發性記憶體晶片,該等非揮發性記憶體晶片中之每一者係用於儲存自該揮發性記憶體移動之資料。在一些態樣中,該等參數包括序列存在檢測資訊。 In another aspect, a method includes describing a volatile memory based storage after a power loss of one of the primary power sources of the volatile memory occurs, that is, when the volatile memory is temporarily powered by an alternate power source. In a parameter of at least one of the non-volatile memory chips, the non-volatile memory chips store data transferred from the volatile memory to move the data from the volatile memory to the non-volatile memory chip. Each of the non-volatile memory chips is used to store data transferred from the volatile memory. In some aspects, the parameters include sequence presence detection information.

在一些態樣中,一種記憶體裝置包括:揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在一主功率源之一功率損失發生後即供電至該揮發性記憶體;非揮發性記憶體;一第一組態資料匯流排,其用於存取描述該揮發性記憶體之實質上永久特性的參數;一第二組態資料匯流排,其用於存取備用功率源之健康狀態資訊及記憶體裝置之狀態資訊中至少一者,其中該第一組態資料匯流排及該第二組態資料匯流排實施一相同匯流排協定;一控制器,其與該第一組態資料匯流排、該第二組態資料匯流排、該揮發性記憶體及該非揮發性記憶體通訊,該控制器經程式化以偵測該主功率源之一功率損失且回應於將資料自揮發性記憶體移動至非揮發性記憶體,其中該控制器之第一組態資訊為經由該第一組態資料匯流排可讀及可寫資訊中至少一者;且其中該健康狀態資訊及該狀態資訊中至少一者為經由 該第二組態資料匯流排可讀及可寫資訊中至少一者。 In some aspects, a memory device includes: a volatile memory; an interface for connecting to a backup power source configured to supply power after a power loss of one of the primary power sources occurs To the volatile memory; non-volatile memory; a first configuration data bus for accessing parameters describing the substantially permanent characteristics of the volatile memory; a second configuration data bus, The at least one of the health status information of the standby power source and the status information of the memory device, wherein the first configuration data bus and the second configuration data bus implement a same bus bar protocol; a controller, which is in communication with the first configuration data bus, the second configuration data bus, the volatile memory, and the non-volatile memory, the controller is programmed to detect the main power source a power loss and in response to moving the data from the volatile memory to the non-volatile memory, wherein the first configuration information of the controller is at least readable and writable by the first configuration data bus Persons; and wherein the state of health information and the status information via at least one of At least one of the second configuration data bus readable and writable information.

在另一態樣中,一種與一主功率源及一備用功率源一起使用之記憶體裝置包括:揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;複數個埠,其每一者係用於接收一不同之相應非揮發性記憶體晶片;複數個介面,其每一者係用於經由該複數個埠中之一不同之相應埠與連接至彼埠之任何非揮發性記憶體通訊;一控制器,其經程式化以根據哪些埠將接收非揮發性記憶體晶片來啟動該複數個介面之一可選集合,其中該控制器亦經程式化以藉由經由該等選定介面將資料自揮發性記憶體移動至連接至介面之該可選集合的任何非揮發性記憶體而對來自該主功率源之一功率損失作出反應。 In another aspect, a memory device for use with a primary power source and a backup power source includes: a volatile memory; an interface for connecting to an alternate power source, the alternate power source configured Temporarily supplying power to the volatile memory after power loss from one of the primary power sources occurs; each of the plurality of turns is for receiving a different corresponding non-volatile memory chip; a plurality of interfaces, Each of them is for communicating with any non-volatile memory connected to one another via a respective one of the plurality of turns; a controller programmed to receive non-volatile according to which ones A memory chip to initiate an optional set of the plurality of interfaces, wherein the controller is also programmed to move data from the volatile memory to any of the selectable sets connected to the interface by the selected interface Non-volatile memory reacts to power loss from one of the primary power sources.

在另一態樣中,一種方法包括偵測一揮發性記憶體之一主功率源之一電源故障;及回應於偵測該電源故障且當用一備用功率源供電該揮發性記憶體時:將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體,該非揮發性記憶體包含一可選數目之非揮發性記憶體晶片,其中該移動係基於該可選數目之非揮發性記憶體晶片。 In another aspect, a method includes detecting a power failure of one of a primary power source of a volatile memory; and in response to detecting the power failure and when powering the volatile memory with a backup power source: Moving the data stored in the volatile memory to a non-volatile memory, the non-volatile memory comprising an optional number of non-volatile memory wafers, wherein the movement is based on the optional number of non-volatiles Memory chip.

在另一態樣中,一種與一主機處理器及一主功率源一起使用之記憶體裝置包括:非揮發性記憶體;揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;隔離邏輯,其用於控制該主機處理器對該 揮發性記憶體之存取,該隔離邏輯具有一第一模式及一第二模式,該隔離邏輯在該第一模式期間為該主機處理器提供對用於儲存或讀取資料之該揮發性記憶體的存取,且該隔離邏輯在該第二模式期間使該揮發性記憶體與該主機處理器之存取隔離;及一控制器,其控制該隔離邏輯,該控制器經程式化以當該揮發性記憶體正由該主功率源供電時將該隔離邏輯置於該第一模式中,及當自該主功率源至該揮發性記憶體之功率被中斷時,將該隔離邏輯置於該第二模式中且將資料自該揮發性記憶體傳送至該非揮發性記憶體。 In another aspect, a memory device for use with a host processor and a main power source includes: non-volatile memory; volatile memory; an interface for connecting to a backup power source, The alternate power source is configured to temporarily supply power to the volatile memory after a power loss from one of the primary power sources occurs; isolation logic for controlling the host processor to An access to the volatile memory, the isolation logic having a first mode and a second mode, the isolation logic providing the host processor with the volatile memory for storing or reading data during the first mode Access, and the isolation logic isolates the volatile memory from access by the host processor during the second mode; and a controller that controls the isolation logic, the controller being programmed to The isolation logic is placed in the first mode when the volatile memory is being powered by the primary power source, and the isolation logic is placed when the power from the primary power source to the volatile memory is interrupted In the second mode, data is transferred from the volatile memory to the non-volatile memory.

在又一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障;及回應於偵測該電源故障且當該揮發性記憶體由一備用功率源供電時:將隔離邏輯之一模式自一第一模式改變至一第二模式,該第一模式在該揮發性記憶體正由該主功率源供電時為一主機處理器提供對用於儲存或讀取資料之該揮發性記憶體的存取,該第二模式使該揮發性記憶體與該主機處理器之存取隔離;及將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體。 In another aspect, a method includes: detecting a power failure of one of a primary power source of a volatile memory; and responding to detecting the power failure and when the volatile memory is powered by a backup power source Changing a mode of the isolation logic from a first mode to a second mode, the first mode providing a host processor for storing or reading while the volatile memory is being powered by the primary power source Accessing the volatile memory of the data, the second mode isolating the volatile memory from access by the host processor; and moving the data stored in the volatile memory to a non-volatile memory body.

100‧‧‧雙行記憶體模組(DIMM) 100‧‧‧Dual-line memory module (DIMM)

105‧‧‧介面 105‧‧‧ interface

110‧‧‧控制器 110‧‧‧ Controller

115‧‧‧FPGA可程式唯讀記憶體 115‧‧‧FPGA programmable read-only memory

120‧‧‧揮發性記憶體 120‧‧‧ volatile memory

121‧‧‧DRAM晶片 121‧‧‧DRAM chip

122‧‧‧DRAM晶片 122‧‧‧DRAM chip

130‧‧‧非揮發性記憶體 130‧‧‧Non-volatile memory

131‧‧‧快閃晶片/快閃裝置 131‧‧‧Flash Chip/Flash Device

132‧‧‧快閃裝置 132‧‧‧flash device

140‧‧‧隔離邏輯 140‧‧‧Isolation Logic

150‧‧‧訊號 150‧‧‧ Signal

161‧‧‧PLL 161‧‧‧PLL

162‧‧‧暫存器 162‧‧‧ 存存器

163‧‧‧FET匯流排開關/FET多工器 163‧‧‧FET bus switch / FET multiplexer

164‧‧‧FET開關/FET多工器 164‧‧‧FET Switch/FET Multiplexer

170‧‧‧介面線/訊號 170‧‧‧Interface line/signal

171‧‧‧VBACK 171‧‧‧VBACK

200‧‧‧備用電源/備用功率源/備用電源模組 200‧‧‧Reserved power supply/standby power source/backup power module

210‧‧‧EDL電容器 210‧‧‧EDL capacitor

220‧‧‧備用控制器/充電器及監控器 220‧‧‧ Standby controller/charger and monitor

300‧‧‧備用電源模組 300‧‧‧Replacement power module

310‧‧‧備用電池 310‧‧‧Backup battery

D1‧‧‧二極體 D1‧‧‧ diode

Q1‧‧‧電晶體 Q1‧‧‧Optoelectronics

Q3‧‧‧電晶體 Q3‧‧‧Optocrystal

Q4‧‧‧電晶體 Q4‧‧‧Optocrystal

U1‧‧‧電源調節器 U1‧‧‧Power Regulator

U11‧‧‧健康狀態監控器 U11‧‧‧Health Status Monitor

U2‧‧‧電源調節器 U2‧‧‧Power Regulator

U3‧‧‧電源調節器 U3‧‧‧Power conditioner

U4‧‧‧電源調節器 U4‧‧‧Power Regulator

U6‧‧‧充電器 U6‧‧‧Charger

第1圖為一雙行記憶體模組(DIMM)之方塊圖。 Figure 1 is a block diagram of a two-line memory module (DIMM).

第2圖為基於電容器之備用電源之方塊圖,該備用電源可用以在電源故障之情況下供電第1圖之組件。 Figure 2 is a block diagram of a capacitor-based backup power supply that can be used to power the components of Figure 1 in the event of a power failure.

第3圖為基於電池之備用電源之方塊圖,該備用電源可用以在電源故障之情況下供電第1圖之組件。 Figure 3 is a block diagram of a battery-based backup power supply that can be used to power the components of Figure 1 in the event of a power failure.

第4圖為圖示第1圖中所圖示之DIMM之實例狀態 及轉換的方塊圖。 Figure 4 is a diagram showing an example state of the DIMM illustrated in Figure 1. And the converted block diagram.

第5圖展示在第1圖中所圖示之DIMM之內部積體電路(I2C)介面的各種讀取操作時序圖。 Fig. 5 is a timing chart showing various read operations of the internal integrated circuit (I2C) interface of the DIMM illustrated in Fig. 1.

第6圖展示在第1圖中所圖示之DIMM之內部積體電路(I2C)介面的各種寫入操作時序圖。 Fig. 6 is a timing chart showing various write operations of the internal integrated circuit (I2C) interface of the DIMM illustrated in Fig. 1.

第7圖展示在第1圖中所圖示之DIMM之架構。 Figure 7 shows the architecture of the DIMM illustrated in Figure 1.

第8圖展示用以供電在第1圖中所圖示之DIMM之電源的架構。 Figure 8 shows the architecture for powering the DIMMs illustrated in Figure 1 .

第9圖為第2圖之備用電源之更詳細圖示。 Figure 9 is a more detailed illustration of the backup power supply of Figure 2.

參閱第1圖,本發明之所描述實施例為雙行記憶體模組(DIMM)100,其包括揮發性記憶體120、非揮發性記憶體130、隔離邏輯140及控制器110。DIMM 100連接至一主功率源(未圖示)以支援正常操作且亦連接至備用功率源200(參見第2圖)。當DIMM 100在由主功率源供應之功率下操作時,外部系統(例如,RAID系統)經由介面105將資料儲存於揮發性記憶體120中且自揮發性記憶體120讀取資料。然而,當來自主功率源200之功率被中斷時,備用功率源供應足夠之臨時功率予DIMM 100以便控制器110可引起隔離邏輯140使揮發性記憶體120與外部系統隔離,且然後在來自備用功率源200之功率被耗盡之前將資料自揮發性記憶體120傳送至非揮發性記憶體130中。當該主功率源再次變得可用時,控制器110將儲存於非揮發性記憶體130中之資料傳回至揮發性記憶體120中,且引起隔離邏輯140將揮 發性記憶體120再連接至該外部系統。 Referring to FIG. 1, the depicted embodiment of the present invention is a dual row memory module (DIMM) 100 that includes volatile memory 120, non-volatile memory 130, isolation logic 140, and controller 110. DIMM 100 is coupled to a primary power source (not shown) to support normal operation and is also coupled to alternate power source 200 (see Figure 2). When the DIMM 100 is operating at the power supplied by the primary power source, an external system (eg, a RAID system) stores the data in the volatile memory 120 via the interface 105 and reads the data from the volatile memory 120. However, when power from the primary power source 200 is interrupted, the alternate power source supplies sufficient temporary power to the DIMM 100 so that the controller 110 can cause the isolation logic 140 to isolate the volatile memory 120 from the external system, and then from the standby The data is transferred from the volatile memory 120 to the non-volatile memory 130 before the power of the power source 200 is exhausted. When the primary power source becomes available again, the controller 110 transmits the data stored in the non-volatile memory 130 back to the volatile memory 120, and causes the isolation logic 140 to wave The hair memory 120 is then connected to the external system.

揮發性記憶體120為一DRAM陣列,該DRAM陣列包括各種DRAM晶片,例如,DRAM晶片121及DRAM晶片122。非揮發性記憶體130包括各種快閃記憶體裝置,例如,快閃裝置131及快閃裝置132。歸因於DIMM 100之限制,無法一次將儲存於揮發性記憶體120中之所有資料移動至非揮發性記憶體130。此等限制中之一者在於無法如自揮發性記憶體120之DRAM裝置讀取一般快地寫入至非揮發性記憶體130之快閃裝置中。考慮到此差異,每次一個DRAM晶片將資料自揮發性記憶體120移動至非揮發性記憶體130。此外,在將資料自揮發性記憶體120傳送至非揮發性記憶體130期間,使未正主動傳送之DRAM晶片進入一低功率狀態,該低功率狀態保持儲存於其中之資料,但比正常操作狀態消耗更少功率。在揮發性記憶體120之DRAM晶片中,此低功率狀態為自我再新模式。藉由使未正主動傳送之DRAM晶片進入一低功率狀態,模組100在備用操作期間比原本情況需要更少功率。舉例而言,此舉允許使用一較小且更便宜之備用功率源。 Volatile memory 120 is a DRAM array that includes various DRAM wafers, such as DRAM wafer 121 and DRAM wafer 122. The non-volatile memory 130 includes various flash memory devices, such as a flash device 131 and a flash device 132. Due to the limitation of the DIMM 100, all of the data stored in the volatile memory 120 cannot be moved to the non-volatile memory 130 at one time. One of these limitations is that it cannot be written to the flash device of the non-volatile memory 130 as quickly as it is read from the DRAM device of the volatile memory 120. In view of this difference, each time a DRAM wafer moves data from the volatile memory 120 to the non-volatile memory 130. In addition, during the transfer of data from the volatile memory 120 to the non-volatile memory 130, the DRAM chip that is not actively being transferred enters a low power state, and the low power state maintains the data stored therein, but is operated normally. The state consumes less power. In a DRAM chip of volatile memory 120, this low power state is a self-renew mode. By having the DRAM die that is not actively transmitting enter a low power state, the module 100 requires less power during standby operation than would otherwise be the case. For example, this allows for the use of a smaller and cheaper alternative power source.

第2圖展示此功率源之一方塊圖。特定言之,第2圖展示電化學雙層(EDL)電容器備用電源模組200,其使用介面線(例如,功率、I/O等)170與DIMM 100相互作用(EDL電容器亦稱為超級電容器及超高電容器)。電容器210在DIMM 100之主功率源之電源故障時將備用功率供應予DIMM 100。充電器及監控器220將電容器210充電且執行電容器210 之健康狀態監控以便(例如)在電容器210失效而無法再提供備用功率之情況下向DIMM 100警報。在一些狀況下,可選擇電池來替代電容器。舉例而言,第3圖展示可替代模組200使用之電池備用電源模組300之方塊圖。 Figure 2 shows a block diagram of this power source. In particular, Figure 2 shows an electrochemical double layer (EDL) capacitor backup power module 200 that interacts with DIMM 100 using interface wires (eg, power, I/O, etc.) 170 (EDL capacitors are also known as supercapacitors) And ultra high capacitors). Capacitor 210 supplies backup power to DIMM 100 when the power to the main power source of DIMM 100 fails. Charger and monitor 220 charges capacitor 210 and performs capacitor 210 The health status is monitored to alert the DIMM 100, for example, if the capacitor 210 fails and the backup power is no longer available. In some cases, a battery can be selected to replace the capacitor. For example, FIG. 3 shows a block diagram of a battery backup power module 300 that can be used in place of the module 200.

非揮發性記憶體130嵌有用於揮發性記憶體120之序列存在檢測(SPD)資訊(例如,描述揮發性記憶體120中之DRAM晶片之大小及速度的資訊)。藉由使用非揮發性記憶體130來儲存揮發性記憶體120之SPD資訊,揮發性記憶體120避免需要具有用於儲存此資訊之單獨EEPROM模組。避免增加單獨EEPROM可節省成本、減小模組100之大小及減少所需組件之數目。 The non-volatile memory 130 embeds sequence presence detection (SPD) information for the volatile memory 120 (eg, information describing the size and speed of the DRAM chips in the volatile memory 120). By using the non-volatile memory 130 to store the SPD information of the volatile memory 120, the volatile memory 120 avoids the need to have a separate EEPROM module for storing this information. Avoiding the addition of a separate EEPROM can save cost, reduce the size of the module 100, and reduce the number of components required.

DIMM 100包括外部系統與控制器110之間的兩個I2C匯流排。當(例如)簡單性及低製造成本比速度更重要時,I2C匯流排通常用以將低速周邊裝置附著至各種裝置。第一I2C匯流排係用於存取序列存在檢測(SPD)EEPROM(「SPD I2C匯流排」)。其經由標準JEDEC規範定義。第二I2C匯流排係用於存取其他模組100之資訊,諸如對於控制器110、非揮發性記憶體130及備用功率源200之狀態資訊及健康狀態(SoH)資訊(「NVDIMM I2C匯流排」)。該狀態資訊可包括(例如)快閃記憶體之當前狀態(寫入、已抹除、正抹除、損壞等);被置換出之壞區塊之數目;剩餘之備用區塊之數目;完成之下載循環之總數;最後下載中之ECC錯誤之數目;最後復原中之ECC錯誤之數目;最後下載之狀態(進行中、無錯誤完成、有錯誤完成等);最後復原之狀態(進 行中、無錯誤完成、有錯誤完成等);快閃標頭資訊。該SoH資訊可包括(例如)備用功率源之當前狀態(已充電、放電、正充電等)、是否組成備用功率源之任何電容器已失效(且若已失效,則判定哪些電容器已失效)及備用功率源之類型(例如,電容器或電池)。 DIMM 100 includes two I2C busses between an external system and controller 110. I2C busbars are commonly used to attach low speed peripheral devices to various devices when, for example, simplicity and low manufacturing cost are more important than speed. The first I2C bus is used for access sequence presence detection (SPD) EEPROM ("SPD I2C Bus"). It is defined by the standard JEDEC specification. The second I2C bus is used to access information of other modules 100, such as status information and health status (SoH) information for the controller 110, the non-volatile memory 130, and the backup power source 200 ("NVDIMM I2C bus" "). The status information may include, for example, the current state of the flash memory (write, erased, erased, corrupted, etc.); the number of bad blocks that were replaced; the number of remaining spare blocks; completed The total number of download cycles; the number of ECC errors in the last download; the number of ECC errors in the last restore; the status of the last download (in progress, no error completion, error completion, etc.); In the line, no error completion, error completion, etc.); flash header information. The SoH information may include, for example, the current state of the alternate power source (charged, discharged, positively charged, etc.), whether any capacitors that make up the alternate power source have failed (and if failed, determine which capacitors have failed) and standby The type of power source (for example, a capacitor or battery).

方塊圖細節Block diagram detail

快閃記憶體130在DIMM上提供非揮發性儲存且藉由使用安全數位(SD)/多媒體卡+(MMC+)得以實施。控制器110可支援各種配置,例如,四個獨立SD/MMC+介面連接至四個SD大量儲存裝置,每一SD大量儲存裝置使用4-位元資料匯流排,用20百萬位元組/秒之頻寬操作,或介面連接至四個MMC+大量儲存裝置,每一MMC+大量儲存裝置使用8-位元資料匯流排,用40百萬位元組/秒之頻寬操作。使用SD/MMC技術之一優點係藉由使用一簡單、低引腳數目之介面使管理快閃記憶體之複雜性自控制器110隱藏。快閃記憶體可以一單一裝置(例如,SanDisk iNAND)來實施,或可在同一DIMM上使用具有單獨NAND記憶體裝置之離散SD控制器來建構。在任一狀況下,SD/MMC控制器根據所使用之NAND技術負責ECC及壞區塊管理。 Flash memory 130 provides non-volatile storage on DIMMs and is implemented using Secure Digital (SD)/Multimedia Card + (MMC+). The controller 110 can support various configurations, for example, four independent SD/MMC+ interfaces are connected to four SD mass storage devices, and each SD mass storage device uses a 4-bit data bus with 20 million bytes/second. The bandwidth operation, or interface is connected to four MMC+ mass storage devices, each MMC+ mass storage device uses an 8-bit data bus and operates with a bandwidth of 40 million bytes per second. One advantage of using SD/MMC technology is that the complexity of managing flash memory is hidden from controller 110 by using a simple, low pin count interface. The flash memory can be implemented as a single device (eg, SanDisk iNAND) or can be constructed on the same DIMM using a discrete SD controller with a separate NAND memory device. In either case, the SD/MMC controller is responsible for ECC and bad block management depending on the NAND technology used.

將序列存在檢測(SPD)資料儲存於第一256個位元組之快閃記憶體中,該快閃記憶體附著至第一SD/MMC+介面(亦即,快閃晶片131)。使用儲存於快閃組態空間之內的旗標來實施典型寫入保護機制。控制器110實施用於SPD資料之讀快取、寫入機制,其中SPD資訊可儲存於控制器110 上之快取記憶體中(除在快閃晶片131上之外)。在系統電力開啟期間,控制器110自快閃記憶體提取SPD資料。在SPD I2C介面上之讀取操作使用快取資料,同時將寫入操作立即寫入至快閃記憶體。在對該快閃記憶體之寫入操作期間,SPD I2C介面將忽略任何讀取或寫入請求。 The sequence presence detection (SPD) data is stored in a flash memory of the first 256 bytes, the flash memory being attached to the first SD/MMC+ interface (ie, the flash wafer 131). A typical write protection mechanism is implemented using flags stored within the flash configuration space. The controller 110 implements a read cache and write mechanism for the SPD data, wherein the SPD information can be stored in the controller 110. The cache is in the memory (except on the flash chip 131). During system power on, controller 110 extracts SPD data from flash memory. The read operation on the SPD I2C interface uses the cache data while writing the write operation to the flash memory immediately. The SPD I2C interface will ignore any read or write requests during write operations to this flash memory.

將狀態資訊資料儲存於第二256個位元組之快閃記憶體中,該快閃記憶體附著至第一SD/MMC+介面。此介面允許使用者監控及組態非揮發性功能之操作。該區域亦用以在最後電源循環期間追蹤系統狀態。控制器110實施用於組態資料之讀快取、寫快取機制,其中狀態資訊可儲存於控制器110上之快取記憶體中(除在快閃晶片131上之外)。在系統電力開啟期間,FPGA自快閃記憶體提取資料。在NVDIMM I2C介面上之讀寫操作使用快取資料。在斷電及功率損失(備用)事件期間,將快取資料寫回。 The status information is stored in the flash memory of the second 256th byte, and the flash memory is attached to the first SD/MMC+ interface. This interface allows the user to monitor and configure the operation of non-volatile functions. This area is also used to track system status during the last power cycle. The controller 110 implements a read cache and write cache mechanism for configuring data, wherein the status information can be stored in the cache memory on the controller 110 (except on the flash chip 131). During the power-on of the system, the FPGA extracts data from the flash memory. The read and write operations on the NVDIMM I2C interface use cache data. The cached data is written back during the power outage and power loss (standby) events.

控制器110為一進階嵌入式處理器,該處理器具有一定製133MHz DDR控制器、四個定製SD/MMC+主機介面、SPD I2C介面及NVDIMM I2C介面。微處理器可為(例如)一軟式32-位元Altera NIOS RISC處理器,其可在FPGA(可程式唯讀記憶體(PROM)115)中執行來自內部記憶體實例之韌體。處理器在DDR介面與SD/MMC+介面之間控制模組100資料移動之操作狀態,且控制在SPD介面及NVDIMM I2C介面上之通訊。定製DDR介面允許控制器110以每一位元組通道為基礎操作DRAM陣列。該介面具有對CKE訊號之個別控制,從而允許控制DRAM陣列中之每一裝置。控制器在陣 列中使用每一位元組通道中之前8個位元組以設定匯流排之內部相位對準。四個定製SD/MMC+介面經設計用於不需要諸如熱插拔等功能之嵌入式應用。該介面在高達50MHz之時脈速率下支援1-位元、4-位元及8-位元操作。該等介面亦可同時操作使四個SD/MMC+卡同步,從而允許高頻寬讀寫操作而無需大量之資料緩衝。對於需要移除SD/MMC+卡之應用,FPGA主機介面允許在未以正確次序安裝卡之情況下重排序該等卡。 The controller 110 is an advanced embedded processor having a custom 133 MHz DDR controller, four custom SD/MMC+ host interfaces, an SPD I2C interface, and an NVDIMM I2C interface. The microprocessor can be, for example, a soft 32-bit Altera NIOS RISC processor that can execute firmware from an internal memory instance in an FPGA (Programmable Read Only Memory (PROM) 115). The processor controls the operation state of the data movement of the module 100 between the DDR interface and the SD/MMC+ interface, and controls communication between the SPD interface and the NVDIMM I2C interface. The custom DDR interface allows the controller 110 to operate the DRAM array on a per-tuple channel basis. The interface has individual control of the CKE signal, allowing control of each device in the DRAM array. Controller in array The first 8 bytes in each tuple channel are used in the column to set the internal phase alignment of the bus. Four custom SD/MMC+ interfaces are designed for embedded applications that do not require features such as hot swap. The interface supports 1-bit, 4-bit, and 8-bit operations at clock rates up to 50MHz. These interfaces can also be operated simultaneously to synchronize four SD/MMC+ cards, allowing high frequency wide read and write operations without the need for extensive data buffering. For applications that need to remove the SD/MMC+ card, the FPGA host interface allows the cards to be reordered without the cards being installed in the correct order.

揮發性記憶體120為一DRAM陣列。在下表中展示各種實例組態,其包括用於每64位元之實際資料的8位元之糾錯碼(Error Correcting Code,ECC)。在具有兩個十億位元組之NVDIMM之實例中,可根據當前記憶體需求開啟或關閉一個排。當一個排不被需要時可關閉以節省電力。當將資料(實際資料及ECC)自揮發性記憶體120移動至非揮發性記憶體130時,非揮發性記憶體130儲存實際資料及ECC,而儲存於非揮發性記憶體130中之實際資料與ECC不存在區別。當將資料自非揮發性記憶體130移回至揮發性記憶體120時,控制器110將適合於正使用之特定DRAM裝置的實際資料及ECC復原回至揮發性記憶體120中。 Volatile memory 120 is a DRAM array. Various example configurations are shown in the table below, which include an 8-bit Error Correcting Code (ECC) for the actual data per 64 bits. In an example of an NVDIMM with two billion bytes, one row can be turned on or off based on current memory requirements. It can be turned off to save power when a row is not needed. When the data (actual data and ECC) is moved from the volatile memory 120 to the non-volatile memory 130, the non-volatile memory 130 stores the actual data and the ECC, and the actual data stored in the non-volatile memory 130. There is no difference from ECC. When the data is moved back from the non-volatile memory 130 to the volatile memory 120, the controller 110 restores the actual data and ECC suitable for the particular DRAM device being used back to the volatile memory 120.

PLL 161為一高效能、低時間偏斜、基於PLL、零延遲之緩衝區,該緩衝區將一差分輸入時脈訊號分散至DRAM陣列。將多工來自邊緣連接器之DDR時脈與來自控制器110之DDR2時脈以防止PLL 161進入其低功率狀態且防止PLL 161將其輸出變為三態。在此實例設計中,該選定PLL必須以所要系統速率以及較慢之DDR控制器速率操作。大體而言,PLL略過其自身且以最慢之時脈速率作為一小延遲緩衝區操作。 PLL 161 is a high performance, low time skew, PLL based, zero delay buffer that spreads a differential input clock signal to the DRAM array. The DDR clock from the edge connector is multiplexed with the DDR2 clock from controller 110 to prevent PLL 161 from entering its low power state and preventing PLL 161 from tri-state its output. In this example design, the selected PLL must operate at the desired system rate and the slower DDR controller rate. In general, the PLL skips itself and operates as a small delay buffer at the slowest clock rate.

經由暫存器162將控制及位址訊號重新驅動至以下上升時脈邊緣上之DRAM裝置(資料存取延遲了一個時脈)。控制器110使用三態來存取位址及控制訊號。當控制器110控制DRAM 120時,可使用FET匯流排開關163使暫存器與邊緣連接器隔離且控制器110可直接驅動暫存器輸入。當系統控制DRAM陣列時,FET匯流排開關163接通且FPGA將其輸出變為三態。將CKE訊號與其他控制訊號不同地處理。兩種操作模式之間的切換具有較少短時脈衝波形干擾(glitchless)以確保DRAM 120仍處於自我再新模式。對於此等訊號,FET開關163用以在邊緣連接器(通向系統)與控制器110之間多工。 The control and address signals are re-driven via the register 162 to the DRAM device on the rising clock edge (data access is delayed by one clock). Controller 110 uses three states to access the address and control signals. When the controller 110 controls the DRAM 120, the FET bus switch 163 can be used to isolate the register from the edge connector and the controller 110 can directly drive the register input. When the system controls the DRAM array, the FET bus switch 163 is turned "on" and the FPGA tri-states its output. The CKE signal is processed differently from other control signals. Switching between the two modes of operation has less glitchless to ensure that DRAM 120 is still in self-renew mode. For these signals, FET switch 163 is used to multiplex between the edge connector (to the system) and controller 110.

高頻寬FET多工器163及FET多工器164經設計用於支援高頻寬應用,諸如記憶體交錯、匯流排隔離及低失真訊號閘控。FET多工器163及FET多工器164在功率損失事件期間使模組100與系統匯流排隔離。FET多工器使用充電 泵來增加傳輸電晶體之閘極電壓、提供低而平坦的接通狀態電阻。該低而平坦的接通狀態電阻允許最小傳播延遲且支援資料輸入/輸出(I/O)埠上之軌至軌切換。FET多工器亦以低資料I/O電容為特徵,以將資料匯流排上之電容性負載及訊號失真減至最少。 The high frequency wide FET multiplexer 163 and the FET multiplexer 164 are designed to support high frequency wide applications such as memory interleaving, bus isolation, and low distortion signal gating. FET multiplexer 163 and FET multiplexer 164 isolate module 100 from the system bus during a power loss event. FET multiplexer uses charging The pump increases the gate voltage of the transfer transistor and provides a low, flat on-state resistance. This low, flat on-state resistance allows for minimum propagation delay and supports rail-to-rail switching on data input/output (I/O). FET multiplexers are also characterized by low data I/O capacitors to minimize capacitive loading and signal distortion on the data bus.

視模組100之組態而定,並非將儲存於揮發性記憶體120中之所有資料備用至非揮發性記憶體130。替代地,模組100可經組態以將儲存於揮發性記憶體120之選定部分中之資料備用(且稍後復原)。儲存於非揮發性記憶體中之資訊通常為用以判定檔案系統中之資訊(例如,檔案)之位置的關鍵/目錄資訊。關鍵/目錄資訊為基本上所有使用者將選擇備用之極重要資訊。然而,其他類型之資訊亦可儲存於揮發性記憶體120中。舉例而言,不改變之軟體程式資訊(例如,「.exe」檔案)可儲存於揮發性記憶體120中。控制器110包括允許使用者分段揮發性記憶體120之暫存器。將起始位址儲存於一暫存器中且將結束位址儲存於一第二暫存器中。儲存於此等兩個位址之間的所有資料將得以備用及復原。儲存於此等位址之外的資料將不會得以備用/復原。經由NVDIMM I2C匯流排控制此等暫存器之值。使用者可選擇(例如)指定起始位址及結束位址以使得僅關鍵/目錄資訊得以備用/復原。選擇僅復原關鍵/目錄資訊之一個原因在於藉由不浪費時間復原並不需要自非揮發性記憶體130復原之資訊而改良復原時間(例如「.exe」很可能並未改變且可在需要時自主機系統載入)。 模組100可經組態以支援各種數目之快閃晶片(例如,1-4個)且可根據選定數目程式化其韌體。所使用之快閃晶片之數目可基於(例如)需要被備用之揮發性記憶體之大小及該備用必須發生所用之時間(例如,備用功率可供應之時間量)或基於達到一所要復原速度(亦即,更多快閃裝置允許一更快之復原時間)。舉例而言,對於可支援高達四個快閃晶片之控制器,該控制器將具有四個匯流排。可根據選定數目之快閃晶片將該等匯流排中之每一者連接至(或不連接至)快閃晶片。將該選定數目之快閃晶片(例如,1、2或4個)連接至匯流排且焊接至印刷電路板(PCB)上。對於經設計用於容納多達四個快閃晶片之模組100,若僅安裝兩個快閃晶片,則用於未安裝之兩個快閃晶片之剩餘空間保持為空且控制器110經程式化以僅試圖與該兩個已安裝之快閃晶片通訊。對於一恒定備用時間或復原時間,快閃晶片之數目可與揮發性記憶體之大小成比例增加。或者,備用時間及復原時間可藉由增加快閃晶片之數目而減少。 Depending on the configuration of the module 100, not all of the data stored in the volatile memory 120 is reserved to the non-volatile memory 130. Alternatively, module 100 can be configured to reserve (and later restore) data stored in selected portions of volatile memory 120. The information stored in non-volatile memory is typically key/directory information used to determine the location of information (eg, files) in the file system. The key/directory information is an extremely important piece of information that will be selected by all users. However, other types of information may also be stored in the volatile memory 120. For example, software program information (eg, ".exe" files) that are not changed may be stored in the volatile memory 120. Controller 110 includes a register that allows a user to segment volatile memory 120. The start address is stored in a register and the end address is stored in a second register. All data stored between these two addresses will be backed up and restored. Data stored outside of these addresses will not be backed up/restored. The values of these registers are controlled via the NVDIMM I2C bus. The user can choose, for example, to specify a start address and an end address so that only critical/directory information can be backed up/restored. One reason for choosing to restore only critical/directory information is to improve recovery time by not wasting time recovering information that does not require recovery from non-volatile memory 130 (eg ".exe" is likely to have not changed and can be used when needed Loaded from the host system). Module 100 can be configured to support a variety of flash chips (e.g., 1-4) and can be programmed with firmware based on a selected number. The number of flash chips used may be based, for example, on the size of the volatile memory that needs to be spared and the time that the backup must occur (eg, the amount of time the backup power is available) or based on reaching a desired recovery rate ( That is, more flash devices allow for a faster recovery time). For example, for a controller that can support up to four flash chips, the controller will have four bus bars. Each of the bus bars can be connected to (or not connected to) the flash wafer according to a selected number of flash wafers. The selected number of flash wafers (eg, 1, 2, or 4) are connected to the bus bar and soldered to a printed circuit board (PCB). For a module 100 designed to accommodate up to four flash chips, if only two flash chips are installed, the remaining space for the two flash chips that are not installed remains empty and the controller 110 is programmed To attempt to communicate with only the two installed flash chips. For a constant standby time or recovery time, the number of flash wafers may increase in proportion to the size of the volatile memory. Alternatively, the standby time and recovery time can be reduced by increasing the number of flash chips.

訊號描述Signal description

模組100實施一72位元DDR2記憶體介面,該記憶體介面具有一244引腳小型DIMM連接器。連接器訊號指定係在DDR2註冊之小型DIMM設計規範之JEDEC標準21C第4.20.14-2頁中定義(當前可自www.jdec.org獲得)。此等訊號中之每一者可為訊號150或訊號170之部分。對應於244個引腳中之每一者的訊號並未圖示於第1圖中以避免使第1圖難以閱讀。 The module 100 implements a 72-bit DDR2 memory interface with a 244-pin mini DIMM connector. The connector signal designation is defined in the JEDEC Standard 21C, page 4.20.14-2 of the DDR2 registered small DIMM design specification (currently available at www.jdec.org). Each of these signals may be part of signal 150 or signal 170. Signals corresponding to each of the 244 pins are not shown in Figure 1 to avoid making Figure 1 difficult to read.

NVDIMM_RESET訊號初始化控制器110且迫使控制器重新啟動其狀態機。當標準RESET_IN輸入得以確定時,亦重設控制器110(與例如揮發性記憶體120及暫存器162一起)。當控制器110由NVDIMM_RESET保持於重設時,模組100將正常操作。亦即,當NVDIMM_RESET經確定時,FET開關163保持接通,從而允許系統存取DRAM記憶體120而無需進一步相互作用。 The NVDIMM_RESET signal initializes the controller 110 and forces the controller to restart its state machine. When the standard RESET_IN input is determined, the controller 110 is also reset (along with, for example, the volatile memory 120 and the register 162). When the controller 110 is held in reset by NVDIMM_RESET, the module 100 will operate normally. That is, when NVDIMM_RESET is asserted, FET switch 163 remains on, allowing the system to access DRAM memory 120 without further interaction.

NVDIMM_PG訊號報告使用者系統中之功率狀態。當該訊號為高位準時,系統功率軌在規格之內操作。當該訊號變為低位準時,功率損失逼近且控制器110將資料移動至快閃記憶體130。若將DRAM裝置資料移動至快閃記憶體(如NVCACHE_ENABLE訊號所指示),則在否定NVDIMM_PG之前,系統使所有DRAM裝置(例如,121-122)進入自我再新操作。若當NVDIMM_PG否定時NVCACHE_ENABLE為低位準,則在功率損失事件期間忽略DRAM裝置中之資料。 The NVDIMM_PG signal reports the power status in the user's system. When the signal is high, the system power rail operates within specifications. When the signal goes to a low level, the power loss approaches and the controller 110 moves the data to the flash memory 130. If the DRAM device data is moved to the flash memory (as indicated by the NVCACHE_ENABLE signal), the system causes all DRAM devices (eg, 121-122) to enter self-renew operation before negating NVDIMM_PG. If NVCACHE_ENABLE is low when NVDIMM_PG is negative, the data in the DRAM device is ignored during the power loss event.

NVCACHE_ENABLE訊號報告在系統功率失效情況下,DRAM裝置中應移動至快閃記憶體之快取資料的存在。若當NVDIMM_PG否定時NVCACHE_ENABLE為高位準,則控制器110將DRAM裝置中之資料移動至快閃記憶體。若當NVDIMM_PG否定時NVCACHE_ENABLE為低位準,則忽略DRAM內容且不將其儲存於快閃記憶體130中。彼最後順序由系統使用以正常關閉(例如,回應於使用者請求關閉而不發生電源故障)。當NVDIMM_PG為低位準時,NVCACHE_ENABLE可由控制器110忽略以防止訊號上之假 性轉換影響任何備用事件。 The NVCACHE_ENABLE signal reports the presence of cached data that should be moved to the flash memory in the DRAM device in the event of a system power failure. If NVCACHE_ENABLE is high when NVDIMM_PG is negative, controller 110 moves the data in the DRAM device to the flash memory. If NVCACHE_ENABLE is low when NVDIMM_PG is negative, the DRAM contents are ignored and are not stored in the flash memory 130. The last order is used by the system to shut down normally (for example, in response to a user request to shut down without a power failure). When NVDIMM_PG is low, NVCACHE_ENABLE can be ignored by controller 110 to prevent false signals. Sexual transitions affect any alternate event.

在復原操作期間,NVCACHE_ENABLE由系統使用以向控制器110發訊號可能抹除快閃記憶體130。並不清除在該快閃記憶體之內的已使用標簽(dirty tag)直到與NVCACHE_ENABLE之訊號交換完成為止。此舉允許(例如)系統在復原操作期間處理另一功率損失事件。 During a restore operation, NVCACHE_ENABLE is used by the system to signal controller 110 to erase flash memory 130. The dirty tag within the flash memory is not cleared until the signal exchange with NVCACHE_ENABLE is completed. This allows, for example, the system to handle another power loss event during the restore operation.

在將資料自快閃記憶體130移動至DRAM 120之後,確定指示系統可存取資料之DRAM_AVAILABLE訊號。當系統決定應清除快閃記憶體130時(例如,以防止資料在功率損失事件之後再次被復原),該系統否定(下降邊緣)NVCACHE_ENABLE以重設該快閃記憶體。系統等待NVDIMM_READY在再次確定NVCACHE_ENABLE之前確定。系統可在NVDIMM_READY確定之前持續使用模組100,但在功率損失事件期間將不備用資料。 After moving the data from the flash memory 130 to the DRAM 120, a DRAM_AVAILABLE signal indicating that the system can access the data is determined. When the system decides that flash memory 130 should be cleared (eg, to prevent data from being restored again after a power loss event), the system negates (falls edge) NVCACHE_ENABLE to reset the flash memory. The system waits for NVDIMM_READY to be determined before determining NVCACHE_ENABLE again. The system can continue to use module 100 until NVDIMM_READY is determined, but no data will be available during the power loss event.

CACHE_DIRTY訊號指示快閃記憶體130含有 DRAM 120之資料影像。在「備用」狀態期間,CACHE_DIRTY訊號指示備用過程之開始。在「加電」狀態期間,CACHE_DIRTY指示快閃記憶體130含有備分影像檔案。該訊號保持高位準直到NVCACHE_ENABLE訊號得以否定(下降邊緣)為止,從而指示已自DRAM 120讀取快取資料。 The CACHE_DIRTY signal indicates that the flash memory 130 contains Data image of DRAM 120. During the "standby" state, the CACHE_DIRTY signal indicates the beginning of the alternate process. During the "power on" state, CACHE_DIRTY indicates that flash memory 130 contains a backup video file. The signal remains high until the NVCACHE_ENABLE signal is negated (falling edge), indicating that the cached data has been read from DRAM 120.

DRAM_AVAILABLE訊號指示系統何時可存取DRAM 120。當DRAM_AVAILABLE為低位準時,控制器110具有對DRAM 120之控制。當該訊號為高位準時,系統可使DRAM裝置(例如,121-122)退出自我再新且存取資料。在 加電具有資料之快閃記憶體130之情況下,DRAM_AVAILABLE將保持否定直到將快閃資料移動至DRAM 120為止。一旦該訊號確定,系統即可對DRAM 120讀取及寫入,但無法確定NVCACHE_ENABLE直到模組100就緒為止。在DRAM_AVAILABLE與NVCACHE_ENABLE之確定之間可發生一延遲,例如,在復原操作之後,因為正抹除非揮發性記憶體130或正再充電備用功率源。該系統可選擇在此時間期間僅自揮發性記憶體120讀取(與自揮發性記憶體120讀取及寫入至揮發性記憶體120不同)。 The DRAM_AVAILABLE signal indicates when the system can access the DRAM 120. Controller 110 has control of DRAM 120 when DRAM_AVAILABLE is low. When the signal is high, the system can cause the DRAM device (e.g., 121-122) to exit self-renew and access the data. in In the case of powering up flash memory 130 with data, DRAM_AVAILABLE will remain negative until the flash data is moved to DRAM 120. Once the signal is determined, the system can read and write to DRAM 120, but NVCACHE_ENABLE cannot be determined until module 100 is ready. A delay may occur between the determination of DRAM_AVAILABLE and NVCACHE_ENABLE, for example, after the restore operation, because the volatile memory 130 is being erased or the alternate power source is being recharged. The system may choose to read only from the volatile memory 120 during this time (as opposed to reading from and writing to the volatile memory 120 from the volatile memory 120).

NVDIMM_READY訊號指示模組100能夠處理功率損失事件。該訊號不確定直到外部功率源處於健康狀態且完全充電為止。當經組態以完全抹除快閃記憶體130時,NVDIMM_READY訊號亦不會確定直到將快閃記憶體130完全初始化至一已知狀態為止。此特徵結構允許設計支援快閃記憶體裝置,在不抹除快閃記憶體之情況下,該等快閃記憶體裝置無法支援全速叢發寫入操作。在正常系統操作(閒置狀態)期間,系統無法確定NVCACHE_ENABLE直到NVDIMM_READY得以確定為止。在備用操作期間,NVDIMM_READY得以否定。在復原操作期間,NDIMM_READY得以否定。若控制器110在任何時候判定無法正確地處理功率損失事件,例如,若EDL電容器組未能進行自我測試操作,則控制器110否定NVDIMM_READY以通知系統自DIMM記憶體移動任何快取資料(例如,將資料移動至諸如該系統之硬碟之永久儲存器)。 The NVDIMM_READY signal indicates that the module 100 is capable of handling power loss events. This signal is undefined until the external power source is healthy and fully charged. When configured to completely erase flash memory 130, the NVDIMM_READY signal is also not determined until flash memory 130 is fully initialized to a known state. This feature allows the design to support flash memory devices that do not support full-speed burst write operations without erasing the flash memory. During normal system operation (idle state), the system cannot determine NVCACHE_ENABLE until NVDIMM_READY is determined. NVDIMM_READY is negated during the standby operation. NDIMM_READY is negated during the restore operation. If the controller 110 determines at any time that the power loss event cannot be properly processed, for example, if the EDL capacitor bank fails to perform a self-test operation, the controller 110 negates NVDIMM_READY to inform the system to move any cached data from the DIMM memory (eg, Move the data to a permanent storage such as the hard drive of the system).

NVDIMM_SEATED為在DIMM引出腳上之上拉引腳,該上拉引腳允許系統偵測模組100。該系統同樣亦可藉由試圖自NVDIMM I2C介面讀取來偵測模組100以查看是否I2C從屬介面產生回應。 NVDIMM_SEATED is a pull-up pin on the DIMM pin that allows the system to detect module 100. The system can also detect module 100 by attempting to read from the NVDIMM I2C interface to see if the I2C slave interface is responding.

控制器110上之NVDIMM I2C從屬介面提供一完整功能使用者介面予控制器110。使用者可使用NVDIMM_SDA及NVDIMM_SCL(訊號152)組態且控制控制器110以及存取詳細的狀態資訊。 The NVDIMM I2C slave interface on controller 110 provides a full functional user interface to controller 110. The user can configure and control the controller 110 and access detailed status information using NVDIMM_SDA and NVDIMM_SCL (signal 152).

V3P3_AUX為輔助3.3V電壓軌,其在正常系統操作期間供電予非揮發性邏輯。在功率損失狀態期間,模組100自此供應切換且自VBACK 171(在備用操作期間電源使用之電壓軌)操作直到控制器110將其自身關閉為止。 V3P3_AUX is an auxiliary 3.3V rail that supplies power to non-volatile logic during normal system operation. During the power loss state, the module 100 switches from this supply and operates from VBACK 171 (the voltage rail used by the power supply during standby operation) until the controller 110 turns itself off.

模組100亦包括第三I2C介面,該第三I2C介面位於控制器110與備用功率源200之間(「備用電源I2C介面」)。備用電源I2C介面允許控制器110使用VBACK_SDA及VABACK_SCL與外部備用電源模組通訊。經由該介面,控制器110可判定備用功率方法之類型(例如,EDL電容器或電池),以及判定該電源之充電狀態及健康狀態。在備用電源I2C介面中通訊之資訊可作為SoH資訊之部分於NVDIMM I2C介面中進行通訊。備用電源重設(VBACK_RESET)允許控制器110重設外部備用電源模組。VCHRG電壓軌供電予EDL電容器充電或外部電池備用電源模組。電壓軌為能夠獲得500mA之標稱12伏特電壓軌。 The module 100 also includes a third I2C interface between the controller 110 and the backup power source 200 ("backup power I2C interface"). The backup power I2C interface allows the controller 110 to communicate with the external standby power module using VBACK_SDA and VABACK_SCL. Via the interface, the controller 110 can determine the type of alternate power method (eg, an EDL capacitor or battery) and determine the state of charge and health of the power source. Information communicated in the backup power I2C interface can be communicated as part of the SoH information in the NVDIMM I2C interface. The standby power reset (VBACK_RESET) allows the controller 110 to reset the external standby power module. The VCHRG voltage rail supplies power to the EDL capacitor charging or external battery backup power module. The voltage rail is a nominal 12 volt rail that can achieve 500 mA.

訊號TEST_RX及訊號TEST_TX組成為一 57.6Kbaud串列鏈路之生產測試介面。在正常系統操作期間,該等測試訊號具有三態且浮動。 The signal TEST_RX and the signal TEST_TX are composed of one 57.6Kbaud serial link production test interface. These test signals are tri-stated and floating during normal system operation.

狀態及狀態轉換State and state transition

第4圖圖示展示模組100之各種狀態及狀態轉換之狀態圖。舉例而言,無論模組操作於何種狀態,模組100藉由系統重設而初始化至「加電」狀態。在此狀況下,該模組在判定最後電源循環發生了什麼之前初始化所有邏輯且自快閃記憶體提取組態。舉例而言,模組自FPGA PROM 115載入韌體;CACHE_DIRTY得以確定,且NVDIMM_READY及DRAM_AVAILABLE得以否定。SD/MMC+快閃記憶體經初始化至SD/MMC+傳送狀態。快閃組態區塊經讀取以判定最後電源循環之狀態。若「已使用」標簽經設定且先前備用操作成功地完成,則將該狀態轉換至「拭除」狀態(若經組態以拭除執行時間區域)。若未經組態以拭除執行時間區域,則將狀態轉換至「復原」狀態。若「已使用」標簽經設定且備用操作並未成功地完成,則將該狀態移動至「抹除」狀態(若「抹除」位元經設定)或移動至DRAM_AVAILABLE及CACHE_DIRTY設定之「閒置」狀態。若先前「抹除」狀態並未完全地完成且該「抹除」位元經設定,則將其轉換至「抹除」狀態以重新執行抹除循環。若「已使用_標簽未經設定,則CACHE_DIRTY得以否定,DRAM_AVAILABLE得以確定,且該狀態轉換至「閒置」狀態。 FIG. 4 illustrates a state diagram showing various states and state transitions of the module 100. For example, regardless of the state in which the module is operating, the module 100 is initialized to a "power on" state by system reset. In this case, the module initializes all logic and extracts the configuration from the flash memory before determining what happened to the last power cycle. For example, the module loads firmware from FPGA PROM 115; CACHE_DIRTY is determined, and NVDIMM_READY and DRAM_AVAILABLE are negated. The SD/MMC+ flash memory is initialized to the SD/MMC+ transfer state. The flash configuration block is read to determine the state of the last power cycle. If the "Used" tab is set and the previous standby operation is successfully completed, the status is transitioned to the "Erase" state (if configured to erase the execution time area). If not configured to erase the execution time zone, the state is transitioned to the "reset" state. If the "Used" tab is set and the backup operation has not been successfully completed, move the status to the "Erase" status (if the "Erase" bit is set) or move to the "Inactive" setting of DRAM_AVAILABLE and CACHE_DIRTY. status. If the previous "erase" state is not completely completed and the "erase" bit is set, it is switched to the "erase" state to re-execute the erase cycle. If the "used_tag" is not set, CACHE_DIRTY is negated, DRAM_AVAILABLE is determined, and the state transitions to the "idle" state.

當施加系統功率時,「閒置」狀態為正常操作狀態。若CACHE_DIRTY已經設定且然後NVCACHE_ENABLE得以 確定,則CACHE_DIRTY得以否定。CACHE_DIRTY可用以確認歸因於無效備用而引起之不成功復原操作之回應。若NVCACHE_ENABLE得以確定且NVDIMM_READY得以確定,則確定CACHE_DIRTY將確認控制器現正以一非揮發性狀態操作(功率損失將觸發備用操作)。若NVCACHE_ENABLE否定,則否定CACHE_DIRTY以確認控制器現正以一揮發性狀態操作(功率損失將不進行備用操作)。若備用功率源在電壓規格之內,則確定NVDIMM_READY指示系統可支援電源故障。若備用功率源未能進行自我測試(或由於任何其他原因,控制器110無法完成備用操作),則否定NVDIMM_READY將向系統發出訊號以清空快取記憶體。若CACHE_DIRTY得以確定且NVDIMM_PG否定,則功率已損失且DRAM記憶體含有待寫入至快閃記憶體之資料。在此狀況下,控制器110否定DRAM_AVAILABLE及NVDIMM_READY且轉換至「備用」狀態。若CACHE_DIRTY得以否定且NVDIMM_PG否定,則DRAM記憶體不含有有效資料且功率正常關閉。在此狀況下,否定DRAM_AVAILABLE及NVDIMM_READY(若設定)且轉換至「斷電」狀態。 When the system power is applied, the "idle" state is the normal operating state. If CACHE_DIRTY has been set and then NVCACHE_ENABLE is available OK, CACHE_DIRTY is denied. CACHE_DIRTY can be used to acknowledge a response to an unsuccessful restore operation due to an invalid backup. If NVCACHE_ENABLE is determined and NVDIMM_READY is determined, then it is determined that CACHE_DIRTY will confirm that the controller is now operating in a non-volatile state (power loss will trigger an alternate operation). If NVCACHE_ENABLE is negative, CACHE_DIRTY is denied to confirm that the controller is now operating in a volatile state (power loss will not be performed alternately). If the alternate power source is within the voltage specification, then it is determined that the NVDIMM_READY indicates that the system can support a power failure. If the alternate power source fails to self-test (or controller 110 cannot complete the standby operation for any other reason), then negating NVDIMM_READY will signal the system to clear the cache memory. If CACHE_DIRTY is determined and NVDIMM_PG is negative, power is lost and the DRAM memory contains data to be written to the flash memory. In this case, the controller 110 negates DRAM_AVAILABLE and NVDIMM_READY and transitions to the "standby" state. If CACHE_DIRTY is negated and NVDIMM_PG is negated, the DRAM memory does not contain valid data and the power is normally turned off. In this case, DRAM_AVAILABLE and NVDIMM_READY (if set) are negated and transitioned to the "power off" state.

當在備用功率下操作時,「備用」狀態負責將資料自DRAM 120移動至快閃記憶體130。若「短時脈衝波形干擾」位元未經設定,則控制器110等待CKE變為低位準以確保DRAM記憶體處於自我再新(若備用操作開始,則該「短時脈衝波形干擾」位元經設定,但在操作期間功率回升)。機 載調節器自備用功率切換至電源功率。將DDR匯流排斷開且控制器110驅動DRAM 120。因為系統可能斷電,所以控制器110將NVCACHE_ENABLE訊號遮蔽。控制器110確定「已使用」暫存器且寫入該快閃組態頁以記錄備用過程之開始。若歸因於自「短時脈衝波形干擾」狀態轉換回而存在一檢查點,則控制器110自該檢查點重新啟動備用。另外,對於DRAM 120之每一DRAM裝置,使該DRAM裝置退出自我再新且寫入快閃記憶體130之內容。若NDIMM_PG在記憶體複製操作期間確定,則使主動DRAM裝置回到自我再新中、檢查當前備用點及移動至「短時脈衝波形干擾」狀態。當已將所有DRAM裝置複製至快閃且該快閃已完成其程式循環時,控制器110在該快閃組態中寫入當前狀態資訊且等待該程式循環完成。最後,控制器110將模組100移動至「斷電」狀態。 The "standby" state is responsible for moving data from DRAM 120 to flash memory 130 when operating at standby power. If the "short pulse waveform interference" bit is not set, the controller 110 waits for the CKE to be low to ensure that the DRAM memory is self-renewed (if the standby operation starts, the "short pulse waveform interference" bit Set, but the power rises during operation). machine The load regulator switches from standby power to power supply. The DDR bus is disconnected and the controller 110 drives the DRAM 120. Because the system may be powered down, the controller 110 masks the NVCACHE_ENABLE signal. Controller 110 determines the "used" register and writes to the flash configuration page to record the beginning of the alternate process. If there is a checkpoint due to a transition from the "short pulse waveform interference" state, the controller 110 restarts the standby from the checkpoint. Additionally, for each DRAM device of DRAM 120, the DRAM device is caused to exit self-renew and write to the contents of flash memory 130. If the NDIMM_PG is determined during the memory copy operation, the active DRAM device is returned to self-renew, the current spare point is checked, and the "short pulse waveform interference" state is moved. When all of the DRAM devices have been copied to flash and the flash has completed its program loop, controller 110 writes the current state information in the flash configuration and waits for the program loop to complete. Finally, the controller 110 moves the module 100 to the "power off" state.

若系統功率仍然可用,則「斷電」狀態處理該斷電操作以防止記憶體模組100提前重啟動。亦即,NVDIMM_PG可指示一功率損失事件,但系統功率可能尚未自該記憶體模組移除。若在備用功率下操作,則控制器110將機載調節器切換回至正常功率。控制器110將控制器與多工器163之間的介面變為三態,且將DRAM裝置連接至DDR匯流排。若NVDIMM_PG曾確定,則系統功率仍然存在,因此系統藉由移動至「加電」狀態而重啟動。 If the system power is still available, the "power down" state handles the power down operation to prevent the memory module 100 from restarting in advance. That is, the NVDIMM_PG may indicate a power loss event, but the system power may not have been removed from the memory module. If operating at standby power, controller 110 switches the onboard regulator back to normal power. The controller 110 tristates the interface between the controller and the multiplexer 163 and connects the DRAM device to the DDR bus. If the NVDIMM_PG is determined, the system power still exists, so the system restarts by moving to the "power on" state.

短時脈衝波形干擾狀態表示系統臨時損失功率之狀況,但功率在備用操作完成之前已返回,從而允許使用者擷取DRAM內容而無需使用快閃資料。「短時脈衝波形干擾」 狀態可在備用操作期間被進入多次。在「短時脈衝波形干擾」狀態中時存在兩個結果。功率損失事件繼續且將在DRAM 120之內的資料備用至快閃130或將在DRAM 120之內的資料被擷取且NVCACHE_ENABLE得以否定。若該功率損失為臨時的,則記憶體模組仍然必須在確定NVDIMM_READY之前將EDL電容器再充電至一已知狀態,且允許該系統依非揮發性功能而定。為此,模組100藉由確定「短時脈衝波形干擾」暫存器來記錄事件,從而指示在備用功率損失之前復原的功率;將機載調節器自正常系統功率切換至電源功率;將控制器110變為三態且將DDR匯流排再連接至DRAM記憶體;確定指示資料可用之DRAM_AVAILABLE;將NVCACHE_ENABLE訊號去遮蔽,因為系統可清空DRAM裝置之資料;若NVDIMM_PG得以確定且NVCACHE_ENABLE得以否定,則不需要在快閃記憶體中之部分複製,否定CACHE_DIRTY且轉換至「抹除」狀態;若NVCACHE_ENABLE得以確定且NVDIMM_PG否定,則功率已損失且DRAM記憶體含有待寫入至快閃記憶體之資料,否定DRAM_AVAILABLE且轉換至「備用」狀態以自檢查點重新開始。 The glitch state indicates the condition in which the system temporarily loses power, but the power has returned before the standby operation is completed, allowing the user to retrieve DRAM content without using flash data. "short-time pulse waveform interference" The status can be entered multiple times during the standby operation. There are two results in the "short pulse waveform interference" state. The power loss event continues and the data within DRAM 120 is backed up to flash 130 or the data within DRAM 120 is captured and NVCACHE_ENABLE is negated. If the power loss is temporary, the memory module must still recharge the EDL capacitor to a known state prior to determining NVDIMM_READY and allow the system to be non-volatile. To this end, the module 100 records the event by determining the "short-time waveform interference" register to indicate the power restored before the standby power loss; switching the on-board regulator from the normal system power to the power supply; The device 110 is tri-stated and reconnects the DDR bus to the DRAM memory; determines the DRAM_AVAILABLE indicating that the data is available; masks the NVCACHE_ENABLE signal because the system can clear the data of the DRAM device; if the NVDIMM_PG is determined and the NVCACHE_ENABLE is negated, then No need to copy in flash memory, negate CACHE_DIRTY and switch to "erase" state; if NVCACHE_ENABLE is determined and NVDIMM_PG is negative, power is lost and DRAM memory contains data to be written to flash memory , negating DRAM_AVAILABLE and transitioning to the "standby" state to restart from the checkpoint.

拭除狀態係用於將DRAM 120之部分用於執行時間、非揮發性目的之應用(例如,若使用者已決定將非關鍵/目錄資訊儲存於揮發性記憶體120中且已選擇不去備用/復原該非關鍵/目錄資訊)。在該拭除狀態中,控制器110可經組態以在位址空間中將一單一連續區域歸零。此特徵結構防止 在DRAM記憶體之內的假性ECC錯誤。模組100:斷開DDR匯流排且使控制器110驅動DRAM記憶體;若該拭除功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;對於每一DRAM,將經組態之位址空間初始化至零且初始化相關聯ECC值;當所有DRAM完成時,轉換至「復原」狀態。 The erase state is used to apply portions of the DRAM 120 for time-critical, non-volatile applications (eg, if the user has decided to store non-critical/directory information in the volatile memory 120 and has not selected to spare /Restore the non-critical/directory information). In the erased state, controller 110 can be configured to zero a single contiguous region in the address space. This feature prevents False ECC errors within DRAM memory. The module 100: disconnects the DDR bus and causes the controller 110 to drive the DRAM memory; if the erase function is interrupted by the NVDIMM_PG negating the indicated power loss, the mode is switched to the "power off" state; for each DRAM, The configured address space is initialized to zero and the associated ECC value is initialized; when all DRAMs are completed, transition to the "reset" state.

該「復原」狀態將快閃記憶體130內容傳回至DRAM 120。不退出該狀態直到系統指示已讀取DRAM中之復原資料為止,以便在此狀態期間處理功率損失事件。在「復原」狀態期間的功率損失事件引起將同一影像復原至下一通電事件上之DRAM記憶體。模組100:若尚未如此進行,則斷開DDR匯流排且使控制器110驅動DRAM記憶體;在快閃組態記憶體中記錄復原操作已開始允許系統偵測多個復原事件;對於每一DRAM,將內容自該快閃記憶體複製至DRAM;當所有DRAM完成時,更新具有儲存於快閃組態中之值的「模式」位元組(在「模式」值為唯讀時之系統「模式」值)且使彼DRAM進入自我再新操作;若該復原功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;將控制器110變為三態且將DDR匯流排再連接至DRAM120;確定DRAM_AVAILABLE;且當NVCACHE_ENABLE自高位準轉換至低位準(下降邊緣)時,轉換至「抹除」狀態以抹除快閃內容。 The "reset" state passes the contents of the flash memory 130 back to the DRAM 120. This state is not exited until the system indicates that the recovered data in the DRAM has been read to process the power loss event during this state. A power loss event during the "recovery" state causes the same image to be restored to the DRAM memory on the next power-on event. Module 100: if not already done, disconnect the DDR bus and cause the controller 110 to drive the DRAM memory; recording the recovery operation in the flash configuration memory has begun to allow the system to detect multiple recovery events; DRAM, copying content from the flash memory to DRAM; when all DRAMs are completed, updating the "mode" byte with the value stored in the flash configuration (system with "mode" value only read-only "mode" value) and causing the DRAM to enter self-renew operation; if the recovery function is interrupted by the NVDIMM_PG negating the indicated power loss, then transitioning to the "power down" state; the controller 110 is tri-stated and will The DDR bus is reconnected to the DRAM 120; the DRAM_AVAILABLE is determined; and when the NVCACHE_ENABLE transitions from the high level to the low level (falling edge), the transition to the "erase" state is performed to erase the flash content.

某些快閃記憶體裝置要求抹除記憶體以在大的連續寫入操作期間達成最大頻寬效能。在此等實施例中,系統至 少清除指示部分複本或影像存在於快閃記憶體中之任何旗標。抹除操作無法發生直到該系統已指示已自DRAM 120讀取DRAM 120中之任何資料(亦即,復原資料或部分備用資料)。模組100進入「抹除」狀態且:若抹除循環由另一功率損失中斷,則首先重啟動該抹除循環;使控制器110變為三態且將DDR匯流排再連接至DRAM 120;確定DRAM_AVAILABLE;若需要,寫入該快閃組態以清除指示該快閃記憶體之內之潛在備用或備分影像檔案的任何旗標且標記一抹除循環已開始;若「抹除」暫存器得以確定,則抹除快閃記憶體模組;若該抹除功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;當抹除循環正常完成時更新該快閃組態;當抹除操作完成時,轉換至「閒置」狀態。 Some flash memory devices require the erase of memory to achieve maximum bandwidth performance during large sequential write operations. In these embodiments, the system is Less clear any flag indicating that a portion of the copy or image is present in the flash memory. The erase operation cannot occur until the system has indicated that any data (i.e., recovered data or partial spare data) in the DRAM 120 has been read from the DRAM 120. The module 100 enters the "erase" state and: if the erase cycle is interrupted by another power loss, the erase cycle is first restarted; the controller 110 is tri-stated and the DDR bus is reconnected to the DRAM 120; Determining DRAM_AVAILABLE; if necessary, writing to the flash configuration to clear any flags indicating potential spare or backup image files within the flash memory and marking an erase cycle has begun; if "erase" is temporarily stored If the device is determined, the flash memory module is erased; if the erase function is interrupted by the NVDIMM_PG negating the indicated power loss, the mode is switched to the "power off" state; when the erase cycle is normally completed, the update is updated. Flash configuration; when the erase operation is completed, transition to the "idle" state.

I2C介面I2C interface

FPGA控制器具有兩個單獨從屬I2C介面,該等I2C介面藉由使用相同協定來控制,如工業標準雙線I2C串列EEPROM(亦即,SPD I2C介面及NVDIMM I2C介面)。將用於SPD I2C介面之基底位址設定在標準0xA0,而將用於NVDIMM I2C介面之基底位址設定在0xB0。將1-位元位址偏移應用於兩個基底位址以允許在需要時將該兩個介面連接在一起且與其他模組相互操作。亦即,SPD I2C介面及NVDIMM I2C介面可實施為使用不同位址範圍之單一實體介面。控制器110使用快閃記憶體中之第一512個位元組區塊,該快閃記憶體附著至第一SD/MMC+介面。該區塊之第一半係用於SPD 資料,而該區塊之第二半係用於快閃組態。第5圖展示使用I2C介面讀取之功能操作。第6圖展示使用I2C介面寫入之功能操作。 The FPGA controller has two separate slave I2C interfaces that are controlled using the same protocol, such as the industry standard two-wire I2C serial EEPROM (ie, the SPD I2C interface and the NVDIMM I2C interface). The base address for the SPD I2C interface is set to standard 0xA0, and the base address for the NVDIMM I2C interface is set to 0xB0. A 1-bit address offset is applied to the two base addresses to allow the two interfaces to be joined together and interoperate with other modules as needed. That is, the SPD I2C interface and the NVDIMM I2C interface can be implemented as a single physical interface using different address ranges. The controller 110 uses the first 512 byte blocks in the flash memory that is attached to the first SD/MMC+ interface. The first half of the block is for SPD The data, and the second half of the block is used for flash configuration. Figure 5 shows the functional operation using the I2C interface read. Figure 6 shows the functional operation using the I2C interface write.

除錯、維護、測試及掃描Debug, maintenance, testing and scanning

模組100亦包括用於除錯、維護、測試及掃描之功能性。舉例而言,若控制器藉由使用Altera處理器來實施,則Altera JTAG UART介面為一完整功能除錯及監控介面,其允許使用者存取韌體功能。使用Altera工具套件,韌體可受監控及/或由新韌體所覆寫以供研究之目的。使用內建式UART功能,JTAG介面可用以仿真允許低速定製通訊之串列介面。同樣地,對於較大FPGA組態,韌體可併入測試使用者介面以對DRAM及快閃記憶體執行診斷測試以供測試之目的。測試使用者介面亦經由建置於Altera JTAG介面中之UART存取。 Module 100 also includes functionality for debugging, maintenance, testing, and scanning. For example, if the controller is implemented using an Altera processor, the Altera JTAG UART interface is a full-featured debug and monitoring interface that allows the user to access the firmware functionality. With the Altera tool suite, firmware can be monitored and/or overwritten with new firmware for research purposes. Using the built-in UART function, the JTAG interface can be used to simulate a serial interface that allows low-speed custom communication. Similarly, for larger FPGA configurations, the firmware can be incorporated into the test user interface to perform diagnostic tests on DRAM and flash memory for testing purposes. The test user interface is also accessed via the UART built into the Altera JTAG interface.

在生產測試期間,可將控制器110保持於重設以允許測試DRAM 120及SD/MMC+快閃130。因此,當將控制器110保持於重設時,將在DDR介面上之FET開關163及FET開關164保持於適當狀態。同時,控制器110使SD/MMC+介面變為三態以允許快閃記憶體之針床測試。 Controller 110 may be reset to allow testing of DRAM 120 and SD/MMC+ flash 130 during production testing. Therefore, when the controller 110 is held in reset, the FET switch 163 and the FET switch 164 on the DDR interface are maintained in an appropriate state. At the same time, controller 110 tristates the SD/MMC+ interface to allow for needle bed testing of flash memory.

控制器110具有一生產測試控制,該生產測試控制組態韌體以在DDR介面及SD/MMC+介面上執行生產測試以確保適當連接性。控制器110對DDR記憶體裝置讀寫以運用DDR之位址、資料及控制訊號。同樣地,控制器110經由SD/MMC+命令及資料匯流排傳遞足夠之資料以運用所有訊 號。作為一終端客戶生產測試,NVDIMM I2C介面提供一機制以控製備用及復原操作及直接存取快閃及DDR記憶體。 The controller 110 has a production test control that controls the configuration firmware to perform production testing on the DDR interface and the SD/MMC+ interface to ensure proper connectivity. The controller 110 reads and writes to the DDR memory device to utilize the address, data, and control signals of the DDR. Similarly, the controller 110 transmits sufficient data to use all the messages via the SD/MMC+ command and data bus. number. As a terminal customer production test, the NVDIMM I2C interface provides a mechanism to control standby and restore operations and direct access to flash and DDR memory.

FPGA架構FPGA architecture

第7圖展示控制器110之一實例架構,控制器110使用具有用以將IP區塊連接在一起之Avalon匯流排的嵌入式NIOS處理器(例如,若控制器藉由使用Altera處理器(Altera JTAG)來實施)。對來自Altera之設計之更改包括用於新特徵結構之另一I2C介面(NVDIMM I2C介面)、更新之GPIO及修改之韌體。 Figure 7 shows an example architecture of controller 110 that uses an embedded NIOS processor with an Avalon bus to connect IP blocks together (e.g., if the controller uses Altera processors (Altera) JTAG) to implement). Changes to Altera's design include another I2C interface for the new feature structure (NVDIMM I2C interface), updated GPIO, and modified firmware.

電源描述Power description

模組100之電源執行許多系統操作。其產生控制器110所需之電壓軌且其在電源故障期間使模組110與系統軌隔離。第8圖展示該電源之結構。 The power supply of module 100 performs many system operations. It produces the voltage rails required by controller 110 and isolates module 110 from the system rails during a power failure. Figure 8 shows the structure of the power supply.

在正常操作期間,電晶體Q3及二極體D1將系統功率VDD及V3P3_AUX導引至模組100上之裝置。V3P3_AUX為一額外邊緣連接器引腳,該引腳為模組100上之非標準裝置供電。VDD為包括許多邊緣連接器引腳之標準模組功率源。VMEM為給模組100裝置供電之電源軌。將V3P3_AUX電壓軌轉換至控制器110所需之三個額外電源軌。大體而言,V1P2電壓軌及V1P8電壓軌供應大部分控制器功率,同時V2P5軌為FPGA類比PLL供電且V3P3為FPGA數位I/O、振盪器及SD/MMC+卡供電。 During normal operation, transistor Q3 and diode D1 direct system power VDD and V3P3_AUX to the device on module 100. V3P3_AUX is an additional edge connector pin that powers a non-standard device on module 100. VDD is a standard modular power source that includes many edge connector pins. The VMEM is a power rail that supplies power to the module 100 device. The V3P3_AUX voltage rail is converted to the three additional power rails required by the controller 110. In general, the V1P2 voltage rail and the V1P8 voltage rail supply most of the controller power, while the V2P5 rail powers the FPGA analog PLL and the V3P3 powers the FPGA digital I/O, oscillator, and SD/MMC+ card.

經由邊緣連接器訊號或經由NVDIMM I2C介面通知控制器110一逼近之功率損失。一旦其發生,控制器110接 通Q1及Q4且斷開電晶體Q3以自EDL電容器組獲得功率,該EDL電容器組連接至VBACK 171且使該模組與系統功率隔離。此電源開關無觸點,如(例如)在此狀況下電源調節器U1、U2、U3及U4經組態以不引起控制器110重設或不引起DRAM 120丟失資料。在電源之間切換之一方法係使用二極體開關。二極體D1防止(例如)EDL電容器電壓反饋至V3P3_AUX電源中,歸因於在兩個軌道上之「解耦」電容器之間的電荷共用,若使用一電晶體,則該EDL電容器電壓可引起該電源出現短時脈衝波形干擾(該等電容器中之一者為EDL電容器組)。根據功率損失事件之類型,控制器110可被請求停止使用EDL電容器組且被請求返回至系統功率。再次,此電源開關無觸點以防止功率軌上之資料損失或短時脈衝波形干擾。 The controller 110 is notified of an approaching power loss via the edge connector signal or via the NVDIMM I2C interface. Once it happens, the controller 110 is connected Passing Q1 and Q4 and disconnecting transistor Q3 to obtain power from the EDL capacitor bank, the EDL capacitor bank is coupled to VBACK 171 and isolates the module from system power. This power switch has no contacts, such as, for example, in this condition power regulators U1, U2, U3, and U4 are configured to not cause controller 110 to reset or cause DRAM 120 to lose data. One way to switch between power supplies is to use a diode switch. Diode D1 prevents, for example, the EDL capacitor voltage from being fed back into the V3P3_AUX supply due to charge sharing between the "decoupled" capacitors on the two tracks. If a transistor is used, the EDL capacitor voltage can cause The power supply has a glitch (one of the capacitors is an EDL capacitor bank). Depending on the type of power loss event, controller 110 may be requested to stop using the EDL capacitor bank and be requested to return to system power. Again, this power switch has no contacts to prevent data loss or glitches on the power rail.

模組100亦使用VCHRG電源充電且監控EDL電容器組。此電壓軌經指定以僅用於充電之目的,且即使當VCHRG未經連接時,該模組仍持續正常地操作。為了改良EDL電容器組之功率效率,U3及U4之最小輸入電壓可盡可能低。因為備用操作必須在U3或U4達到其規格限制之前完成,所以此最小輸入規格限制了EDL電容器放電曲線之低端。為此原因,V3P3調節器U1為自V1P8電源之升壓調節器,從而允許最小EDL放電位準盡可能低。 Module 100 also charges with the VCHRG power supply and monitors the EDL capacitor bank. This voltage rail is designated for charging purposes only, and the module continues to operate normally even when VCHRG is not connected. In order to improve the power efficiency of the EDL capacitor bank, the minimum input voltage of U3 and U4 can be as low as possible. Since the alternate operation must be completed before U3 or U4 reaches its specification limit, this minimum input specification limits the low end of the EDL capacitor discharge curve. For this reason, the V3P3 regulator U1 is a boost regulator from the V1P8 supply, allowing the minimum EDL discharge level to be as low as possible.

當級聯調節器影響電源之效率時,與V1P8電源相比,V3P3及V2P5為相對較低功率。歸因於較低的最小放電位準,級聯V3P3調節器U1之功率損失顯著低於改良之EDL 電容器組效率。在最小EDL電容器組電壓中減少1V可在總系統功率中獲得10%之改良,而級聯V3P3調節器U1表示僅V3P3電源軌之效率之大致30%的下降(其大致為總系統功率之5%-10%)。 When the cascade regulator affects the efficiency of the power supply, V3P3 and V2P5 are relatively lower power than the V1P8 power supply. Due to the lower minimum discharge level, the power loss of the cascaded V3P3 regulator U1 is significantly lower than the modified EDL Capacitor bank efficiency. A 1V reduction in the minimum EDL capacitor bank voltage results in a 10% improvement in total system power, while a cascaded V3P3 regulator U1 represents a roughly 30% reduction in the efficiency of the V3P3 power rail only (which is roughly 5 of the total system power). %-10%).

第1圖之系統支援具有不同數目之SD/MMC+記憶體裝置之DRAM裝置的四種組態。每一組態具有不同PCB佈局,其允許電源設計經調整以支援不同負載。該電源設計可處理無強制氣流之70℃周圍(PCB)溫度。用於電源設計之組件位於PCB之一側上且具有4mm之最大高度。該電源採用僅僅3吋×1吋之板空間,該空間包括任何散熱器。 The system of Figure 1 supports four configurations of DRAM devices with different numbers of SD/MMC+ memory devices. Each configuration has a different PCB layout that allows the power supply design to be adjusted to support different loads. The power supply is designed to handle 70°C ambient (PCB) temperatures without forced airflow. The components for the power supply design are located on one side of the PCB and have a maximum height of 4 mm. The power supply uses only 3 吋 x 1 板 of board space, including any heat sink.

VDD系統軌係過度約束的以使得在電晶體Q3處之電壓降不引起VMEM電源超出下游裝置範圍。Q3電晶體電壓降之電壓降預算已在任意百分比之標稱值下加以選擇,但更好的效能是需要的。 The VDD system rail is over-constrained such that the voltage drop at transistor Q3 does not cause the VMEM supply to exceed the downstream device range. The voltage drop budget for the Q3 transistor voltage drop has been chosen at any percentage of the nominal value, but better performance is needed.

圖式中所示之調節器具有功能且可組合成多輸出調節器裝置。所有電壓軌具有監控器(「PG」訊號),該等監控器可與調節器組合或組合成一單獨裝置。V3P3監控器為單獨的,因為當V3P3_AUX軌為功率源時,V3P3監控器監控V3P3軌。若不供應VCHRG,則V3P3調節器不運行,但此並非為一誤差,因為模組100必須仍然持續操作(參見第2圖及第3圖)。為了增加EDL電容器組之能量儲存效率,對調節器之最小容許輸入電壓應盡可能低。下表提供關於調節器之額外資訊。 The regulators shown in the figures are functional and can be combined into a multi-output regulator device. All voltage rails have monitors ("PG" signals) that can be combined with or combined into a single device. The V3P3 monitor is separate because the V3P3 monitor monitors the V3P3 rail when the V3P3_AUX rail is the power source. If VCHRG is not supplied, the V3P3 regulator does not operate, but this is not an error because the module 100 must still operate continuously (see Figures 2 and 3). In order to increase the energy storage efficiency of the EDL capacitor bank, the minimum allowable input voltage to the regulator should be as low as possible. The table below provides additional information about the regulator.

注解: annotation:

1.所有調節器之最接近之淨空高度且限制EDL電容器組之效能。 1. The closest headroom of all regulators and limits the effectiveness of the EDL capacitor bank.

2.當調節器在正常操作中閒置(電容負載)時之低靜態電流要求。 2. Low quiescent current requirement when the regulator is idle (capacitive load) during normal operation.

3.基於組態之規格。有關規格參見關於電壓軌之部分。因為功率消耗仍為估計值,所以應研究接近於當前規格之裝置。 3. Based on the specifications of the configuration. See the section on voltage rails for specifications. Since power consumption is still an estimate, devices that are close to current specifications should be studied.

功率電晶體負責將DRAM裝置移動至備用功率且使備用功率與系統功率VDD及V3P3_AUX隔離。電容器充電器U6處理功率損失且防止EDL電容器組經由充電器放電回來。電晶體Q3及電晶體Q4為n-通道MOSFET且由FPGA控制,該FPGA使用3.3V控制訊號移除對高邊驅動器之需要。電晶體Q1為由FPGA直接控制之p-通道MOSFET或為具有某一高邊驅動機制之n-通道MOSFET(VCHRG電源或VCAP電源無法正常地使用,除非模組持續在無此等電源之情況下操作)。在下表中列出之電流具有某一超規格設計容限,因此接近於滿足該規格之電晶體亦可用於此實例設計中。在功率損失事件期間,該等電晶體僅操作直到EDL電容器組得以放電為止(例如,大約2分鐘之最大值)。 The power transistor is responsible for moving the DRAM device to the standby power and isolating the standby power from the system power VDD and V3P3_AUX. Capacitor charger U6 handles power loss and prevents the EDL capacitor bank from being discharged back via the charger. Transistor Q3 and transistor Q4 are n-channel MOSFETs and are controlled by an FPGA that uses 3.3V control signals to remove the need for high side drivers. Transistor Q1 is a p-channel MOSFET directly controlled by the FPGA or an n-channel MOSFET with a high-side drive mechanism (VCHRG power supply or VCAP power supply cannot be used normally unless the module continues to operate without such power supply) operating). The currents listed in the table below have a certain over-spec design tolerance, so a transistor that is close to meeting this specification can also be used in this example design. During a power loss event, the transistors operate only until the EDL capacitor bank is discharged (eg, a maximum of about 2 minutes).

注解: annotation:

1.基於VCAP(2.8v)之低電源規格及電源電壓之2%容限。 1. Based on VCAP (2.8v) low power supply specifications and 2% tolerance of the power supply voltage.

2.基於電源之低電源電流規格及電源電壓之2%容限。 2. Based on the low power supply current specification of the power supply and the 2% tolerance of the power supply voltage.

EDL電容器電源EDL capacitor power supply

回到第2圖及第3圖,連接至VBACK 171之EDL電容器210或備用電池310位於模組100之外部,因為其實體上較大且對溫度敏感。EDL電容器及電池之長期壽命對周圍溫度以及電容器之操作電壓敏感。為了此設計,已選擇該操作電壓以使得電容器將耐受小於50℃之周圍溫度達至少10年。大體而言,該備用功率位於進氣口附近或底盤之內的另一相對涼爽位置附近。備用控制器220對備用功率源執行週期性健康狀態檢查以判定是否該電源不再能夠持續且經由NVDIMM I2C介面報告狀態。 Returning to Figures 2 and 3, the EDL capacitor 210 or backup battery 310 connected to the VBACK 171 is external to the module 100 because it is physically large and temperature sensitive. The long-term lifetime of EDL capacitors and batteries is sensitive to ambient temperature and the operating voltage of the capacitor. For this design, the operating voltage has been chosen such that the capacitor will withstand ambient temperatures of less than 50 °C for at least 10 years. In general, the backup power is located near the air intake or near another relatively cool location within the chassis. The standby controller 220 performs a periodic health check on the alternate power source to determine if the power supply is no longer sustainable and reports status via the NVDIMM I2C interface.

EDL電容器之長期壽命展示溫度與操作電壓之相關。如鋁電容器,溫度降低每10℃其壽命通常加倍。亦如鋁電容器,該電容器對工作電壓指數敏感。麥克斯威技術(Maxwell Technologies)使用熱-非熱(T-NT)模型以小時模型化PC10電容器之壽命: 其中T為凱式溫度且V為以伏特為單位之工作電壓。此模型 假定在電容器壽命之末期,電容已自其初始值減少20%。在下表中呈現許多不同操作環境以展示PC10電容器之預期壽命: The long-term lifetime of an EDL capacitor shows the temperature and operating voltage. For example, in aluminum capacitors, the temperature is usually reduced by 10 times per 10 °C. Also like an aluminum capacitor, this capacitor is sensitive to the operating voltage index. Maxwell Technologies uses a thermal-non-thermal (T-NT) model to model the life of PC10 capacitors in hours: Where T is the Kay temperature and V is the operating voltage in volts. This model assumes that the capacitor has been reduced by 20% from its initial value at the end of the capacitor's lifetime. A number of different operating environments are presented in the table below to demonstrate the expected life of the PC10 capacitor:

如圖所示,該等電容器在低工作電壓下操作,其影響電壓調節器之結構。在一並聯組態中,總電容為所有電容器之和。然而,該放電電流在使用期間對於一小電壓擺動較大。電壓調節器需要具有高電流電感器之升壓開關模式電源架構。在一串聯組態中,總電容為電容之倒數之和的倒數,但總工作電壓已增加。問題包括使電容之間的操作電壓平衡及使電容器之數目保持合理。為了設計探索之目的,已選擇50℃之操作溫度,從而允許設計使用75%之電容器工作電壓達10年之壽命。此情況允許超過在伺服器機房之內的企業電腦之共同35℃外部周圍溫度15℃的溫度上升。另一目標環境將為一具有40℃最大周圍溫度之電信NEBS標準,該最大周圍溫度可在短期HVAC失效期間在設備框架之內增加至具有 5℃更高溫度之50℃周圍溫度。每一短期溫度失效之長度經定義高達96小時,但每年不超過15天。 As shown, the capacitors operate at low operating voltages that affect the structure of the voltage regulator. In a parallel configuration, the total capacitance is the sum of all capacitors. However, this discharge current is large for a small voltage swing during use. Voltage regulators require a boost switch mode power architecture with high current inductors. In a series configuration, the total capacitance is the reciprocal of the sum of the reciprocals of the capacitance, but the total operating voltage has increased. Problems include balancing the operating voltage between capacitors and keeping the number of capacitors reasonable. For design exploration purposes, an operating temperature of 50 ° C has been chosen, allowing the design to use a 75% capacitor operating voltage for a 10-year lifetime. This condition allows a temperature rise of 15 ° C outside the common 35 ° C external ambient temperature of the corporate computer within the server room. Another target environment would be a telecommunications NEBS standard with a maximum ambient temperature of 40 °C, which can be increased to within the equipment frame during short-term HVAC failures. The ambient temperature of 50 ° C at a higher temperature of 5 ° C. The length of each short-term temperature failure is defined as up to 96 hours, but not more than 15 days per year.

第9圖展示一外部EDL電容器備用電源架構,其為第2圖之更加詳細版本。一些實施例提供電容器充電器,例如,實施恒定電流、恒定電壓設計之電容器組充電器。該充電器施加一恒定電流至電容器組直到該電容器組達到其最終完全充電電壓為止。在彼時,該充電器施加一恒定電壓以使該電容器組浮動。之所以施加該浮動電壓,是因為EDL電容器具有一相當大之洩漏電流,其要求該電容器組之內的平衡電阻器得以偏壓以確保該電容器組之內的所有電容器具有等同之充電電壓。因為可為每一組態最佳化電容器組之大小,所以浮動電壓可由一電阻器程式化且精確至1%。浮動電壓可自VCHRG(減去某一淨空高度)設定至6伏特。該設計可利用LiOn電池充電器技術(通常為單端初級電感轉換器或SEPIC架構),但亦可使用其他技術。一些充電器需要一小型處理器來監控充電週期且將充電器自恒定電流操作切換至恒定電壓操作。為了此等設計,可根據演算法之複雜性及與充電器設計之硬體連接性使用控制器110之內的處理器。下表提供與VCHRG及VCAP相關之資訊。 Figure 9 shows an external EDL capacitor backup power architecture, which is a more detailed version of Figure 2. Some embodiments provide a capacitor charger, such as a capacitor bank charger that implements a constant current, constant voltage design. The charger applies a constant current to the capacitor bank until the capacitor bank reaches its final full charging voltage. At that time, the charger applies a constant voltage to float the capacitor bank. The floating voltage is applied because the EDL capacitor has a relatively large leakage current that requires the balancing resistor within the capacitor bank to be biased to ensure that all capacitors within the capacitor bank have an equivalent charging voltage. Since the size of the capacitor bank can be optimized for each configuration, the floating voltage can be programmed by a resistor to the nearest 1%. The float voltage can be set from VCHRG (minus a certain headroom height) to 6 volts. The design can utilize LiOn battery charger technology (usually a single-ended primary inductor converter or SEPIC architecture), but other techniques can be used. Some chargers require a small processor to monitor the charge cycle and switch the charger from constant current operation to constant voltage operation. For such designs, the processor within controller 110 can be used depending on the complexity of the algorithm and the hardware connectivity to the charger design. The following table provides information related to VCHRG and VCAP.

注解: annotation:

1.可視系統而定,例如,在某些實施例中,較寬之電源範圍 可具有優點。 1. Depending on the system, for example, in some embodiments, a wider power range There can be advantages.

2.電容器組之標稱浮動電壓。在放電週期期間,調節器持續操作直到電容器組放電至2.8V或更低為止。 2. The nominal floating voltage of the capacitor bank. During the discharge cycle, the regulator continues to operate until the capacitor bank discharges to 2.8V or lower.

注解: annotation:

1.基於一實例客戶規格,充電器在所有狀況下之消耗不超過最大規格。 1. Based on an example customer specification, the charger consumes no more than the maximum size under all conditions.

2.基於在70%效率下操作之U1、在80%效率下操作之U3及在90%效率下操作之U4,在2.8V(操作範圍之低端)下操作之VCAP具有一2%之損失。 2. Based on U1 operating at 70% efficiency, U3 operating at 80% efficiency, and U4 operating at 90% efficiency, VCAP operating at 2.8V (low end of operating range) has a 2% loss. .

所描述之實施例亦包括用於備用電源之健康狀態監控器。EDL電容器具有一有限之壽命,該壽命對工作電壓、周圍或儲存溫度及充電/放電週期(磨損)之數目敏感。在一些應用中,僅工作電壓及周圍溫度為重要的,例如,在預測週期之數目比規格小100倍之情況下。EDL電容器之壽命基於降低至一指定臨限值之電容(在大多數狀況下,自初始電容之30%之下降)或增加至一指定臨限值之電容之ESR(視產商而定,自初始ESR之30%至100%之增加)。假定EDL電容器對應力之敏感性,該控制器監控電容器之健康狀態。健康狀態監控器U11(第9圖)可根據實施與充電器U6組合。若電容器組經充電足以處理功率損失,則健康狀態監控器將通知FPGA。大體而言,充電器U6必須能夠在測試期間「斷 開」。舉例而言,在具有許多串聯電容器之實施例中,在每一電容器處之電壓可得以監控且被送至訊號,該等訊號可經由備用電源I2C匯流排得以檢查。此舉允許對已失效之特定電容器之識別以及指示備用功率源已全部失效。 The described embodiments also include a health status monitor for the backup power source. EDL capacitors have a finite lifetime that is sensitive to the operating voltage, ambient or storage temperature, and the number of charge/discharge cycles (wear). In some applications, only the operating voltage and ambient temperature are important, for example, if the number of prediction periods is 100 times smaller than the specification. The lifetime of an EDL capacitor is based on a capacitor that is reduced to a specified threshold (in most cases, a 30% drop from the initial capacitance) or an ESR that increases to a specified threshold (depending on the manufacturer, 30% to 100% increase in initial ESR). Assuming the sensitivity of the EDL capacitor to stress, the controller monitors the health of the capacitor. The health status monitor U11 (Fig. 9) can be combined with the charger U6 according to the implementation. If the capacitor bank is charged enough to handle the power loss, the health monitor will notify the FPGA. In general, the charger U6 must be able to "break" during the test. open". For example, in embodiments having a plurality of series capacitors, the voltage at each capacitor can be monitored and sent to a signal that can be inspected via the backup power supply I2C bus. This allows identification of the particular capacitor that has failed and indicates that the alternate power source has all failed.

量測自通電(施加VCHRG功率)至當VCAP達到完全充電狀態時之時間提供估計電容器組之健康狀態之一方法。控制器110可報告是否模組100能夠處理功率損失事件。若該電容器組從未達成一完全充電狀態,則系統偵測此情形且宣告一錯誤。 Measuring the time from energization (applying VCHRG power) to when the VCAP reaches a fully charged state provides one way to estimate the health of the capacitor bank. Controller 110 can report whether module 100 is capable of processing a power loss event. If the capacitor bank never reaches a fully charged state, the system detects this condition and announces an error.

為了量測電容,將電容器完全充電。首先將充電器斷開且將一固定已知負載(電阻器)施加於該電容器組達某一時段以將該電容器略微放電。大體而言,負載電流對於防止ESR影響量測而言太小。若VCAP電源降至一固定電壓以下,則該量測方法可如在控制器110上觸發一中斷之電壓比較器一樣簡單。若該中斷在測試期間得以觸發,則電容太低且該電容器組未通過測試。一問題在於因為功率損失事件可能正好在自我測試之後發生,所以部分地放電電容器,其必須被考慮在能量預算之內。 To measure the capacitance, fully charge the capacitor. The charger is first disconnected and a fixed known load (resistor) is applied to the capacitor bank for a certain period of time to slightly discharge the capacitor. In general, the load current is too small to prevent ESR impact measurements. If the VCAP supply drops below a fixed voltage, the measurement method can be as simple as triggering an interrupted voltage comparator on controller 110. If the interrupt is triggered during the test, the capacitance is too low and the capacitor bank fails the test. One problem is that because the power loss event may occur just after the self-test, the capacitor is partially discharged, which must be considered within the energy budget.

為了將EDL電容器電源之成本降至最低,將自我測試智慧定位於模組110上。為了控制電源中之邏輯,使用一至GPIO擴展器裝置之I2C。因此,控制器110能夠控制且監控備用電源模組(例如,200或300)上之訊號。 In order to minimize the cost of the EDL capacitor power supply, the self-testing intelligence is positioned on the module 110. To control the logic in the power supply, use an I2C to the GPIO expander device. Therefore, the controller 110 can control and monitor the signals on the standby power module (eg, 200 or 300).

如所論述,在某些狀況下,可能選擇電池要優於選擇EDL電容器,因為電池比EDL電容器具有更高之能量密度 且因此需要較少體積及質量。例如,一單一A123電池在3.3V下之額定電流為2.3Ah,重70克且需要2立方吋。若模組100需要5瓦特達2分鐘,則所需能量僅為0.05Ah,其超過小於電池容量之數量級。用於攜帶型膝上型電腦之大部分電池充電器具有備用電源所需之所有必要功能。此外,大部分此等裝置具有用於監控、組態及控制之積體I2C介面,該介面可由模組100使用。 As discussed, under certain conditions, it may be preferable to select a battery that is superior to an EDL capacitor because the battery has a higher energy density than an EDL capacitor. And therefore requires less volume and quality. For example, a single A123 battery has a current rating of 2.3 Ah at 3.3 V, weighs 70 grams and requires 2 cubic feet. If the module 100 requires 5 watts for 2 minutes, the required energy is only 0.05 Ah, which exceeds the order of magnitude of the battery capacity. Most battery chargers for portable laptops have all the necessary features for a backup power supply. In addition, most of these devices have an integrated I2C interface for monitoring, configuration, and control that can be used by module 100.

SD資料格式SD data format

在單一SD/MMC+卡操作中,SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。SD卡中之剩餘區塊用於備用資料。在備用操作期間,將備用資料以一連續位元組串流自第一DRAM裝置讀取且寫入至單一快閃記憶體中。備用控制器然後為其他DRAM裝置重複該過程直到所有其他裝置之備用完成為止。在復原操作期間,將資料以一連續位元組串流自單一快閃記憶體讀取且寫入至第一DRAM裝置中。備用控制器然後為其他DRAM裝置重複該過程直到所有其他裝置完成為止。備用控制器串流使用一單一連續讀取/寫入操作將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為512位元組之倍數,則每一DRAM備分影像檔案之排列可能會超過SD卡區塊之邊界。 In a single SD/MMC+ card operation, the first block of the SD card (byte 0 to byte 511) is used for SPD and flash configuration purposes. The remaining blocks in the SD card are used for backup data. During the standby operation, the spare data is streamed from the first DRAM device in a continuous byte stream and written into a single flash memory. The standby controller then repeats the process for other DRAM devices until the standby of all other devices is completed. During the restore operation, the data is streamed from a single flash memory in a sequential byte and written to the first DRAM device. The standby controller then repeats the process for other DRAM devices until all other devices are completed. The standby controller stream reads and writes data to the flash memory using a single continuous read/write operation. This mechanism allows the SD card to execute at the maximum bandwidth, but it has the side effect that if the length of each DRAM backup image file is not a multiple of 512 bytes, the arrangement of each DRAM backup image file may exceed SD. The boundary of the card block.

對於雙SD/MMC+卡操作,在槽0中之SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。不使用在槽1中之另一SD卡之第一區塊且將其忽略。在備用 操作期間,將資料以一連續位元組串流自第一DRAM裝置讀取且同時寫入至兩個快閃記憶體中。藉由發送所有偶次位元組至槽0且發送所有奇次位元組至槽1來將資料串流分成兩個快閃寫入資料串流。備用控制器然後為其他裝置重複該過程直到所有DRAM裝置完成為止。在復原操作期間,自兩個快閃記憶體讀取資料,該資料係經由位元組將該等資料串流交錯以形成寫入至該第一DRAM中之單一資料串流而組合。備用控制器然後為其他DRAM裝置重複該過程直到所有裝置完成為止。備用控制器串流使用一單一連續讀取/寫入操作為每一SD卡將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為1千拜之倍數,則每一DRAM備分影像檔案之排列可能會超過橫穿SD卡區塊之邊界。 For dual SD/MMC+ card operation, the first block of the SD card (byte 0 to byte 511) in slot 0 is used for SPD and flash configuration purposes. The first block of another SD card in slot 1 is not used and is ignored. In standby During operation, the data is streamed from the first DRAM device in a continuous byte group and simultaneously written into the two flash memories. The data stream is split into two flash write data streams by sending all even bytes to slot 0 and sending all odd bytes to slot 1. The standby controller then repeats the process for other devices until all DRAM devices are completed. During a restore operation, data is read from two flash memories that are serially interleaved via a byte to form a single stream of data written into the first DRAM for combination. The standby controller then repeats the process for other DRAM devices until all devices are completed. The standby controller stream reads and writes data to the flash memory for each SD card using a single continuous read/write operation. This mechanism allows the SD card to execute at the maximum bandwidth, but it has the side effect that if the length of each DRAM backup image file is not a multiple of 1 kHz, the arrangement of each DRAM backup image file may exceed the traversal. The boundary of the SD card block.

對於四線SD/MMC+卡操作,在槽0中之SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。不使用在槽1中之另一SD卡之第一區塊且將其忽略。在備用操作期間,將資料以一連續位元組串流自第一DRAM裝置讀取且同時寫入至所有快閃記憶體中。藉由發送每4個位元組至一介面來將資料串流分成四個快閃寫入資料串流。備用控制器然後為其他裝置重複該過程直到所有DRAM裝置完成為止。在復原操作期間,自兩個快閃記憶體讀取資料,該資料係經由位元組將該等資料串流交錯以形成寫入至該第一DRAM中之單一資料串流而組合。備用控制器然後為其他DRAM裝置重複該過程直到所有裝置完成為止。備用控制器 串流使用一單一連續讀取/寫入操作為每一SD卡將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為2千位元組之倍數,則每一DRAM備分影像檔案之排列可能會超過SD卡區塊之邊界。 For four-wire SD/MMC+ card operation, the first block of the SD card (byte 0 to byte 511) in slot 0 is used for SPD and flash configuration purposes. The first block of another SD card in slot 1 is not used and is ignored. During the standby operation, the data is streamed from the first DRAM device in a continuous byte group and simultaneously written to all of the flash memory. The data stream is divided into four flash write data streams by sending every 4 bytes to an interface. The standby controller then repeats the process for other devices until all DRAM devices are completed. During a restore operation, data is read from two flash memories that are serially interleaved via a byte to form a single stream of data written into the first DRAM for combination. The standby controller then repeats the process for other DRAM devices until all devices are completed. Standby controller Streaming uses a single continuous read/write operation to read and write data to the flash memory for each SD card. This mechanism allows the SD card to execute at the maximum bandwidth, but it has the side effect that if the length of each DRAM backup image file is not a multiple of 2 kilobytes, the arrangement of each DRAM backup image file may exceed The boundary of the SD card block.

下表提供對於每一SD/MMC卡且對於每一MMC+卡分別使用20百萬位元組/秒及40百萬位元組/秒之最壞狀況寫入/讀取頻寬所計算的實例備用時間。該計算亦包括用於更新快閃組態之最壞狀況SD/MMC+寫入間隔。 The following table provides an example of the worst-case write/read bandwidth for each SD/MMC card and for each MMC+ card using 20 million bytes/sec and 40 million bytes/sec, respectively. Standby time. This calculation also includes the worst case SD/MMC+ write interval used to update the flash configuration.

預燒錄自我測試操作Pre-burning self-test operation

DIMM 100亦包括自我測試功能性。可藉由使用在FPGA上之PRODTEST輸入以及經由NV I2C介面觸發自我測試。將該自我測試之結果永久儲存直到經由另一自我測試序 列抹除快閃記憶體為止。在一實例中,自我測試:接收DDR介面(FET開關斷開);設定進行中之SELFTEST測試位元高的;用0xA5填充DRAM記憶體;用0x00填充快閃記憶體;接通進度LED;將DRAM記憶體備用至快閃記憶體;用0x00填充DRAM記憶體;自快閃記憶體復原DRAM記憶體;測試DRAM記憶體之內容;及若偵測一錯誤,則設定一錯誤LED且將結果儲存於快閃內。若未發現錯誤,則該過程返回以用0x00填充快閃記憶體。自我測試方法可由第1圖之系統之各個使用者定義,例如,該等方法可由客戶定義。 DIMM 100 also includes self-test functionality. Self-test can be triggered by using the PRODTEST input on the FPGA and via the NV I2C interface. Store the results of this self-test permanently until another self-test sequence The column erases the flash memory. In one example, self-test: receive DDR interface (FET switch off); set the ongoing SELFTEST test bit high; fill DRAM memory with 0xA5; fill flash memory with 0x00; turn on progress LED; The DRAM memory is spared to the flash memory; the DRAM memory is filled with 0x00; the DRAM memory is restored from the flash memory; the content of the DRAM memory is tested; and if an error is detected, an error LED is set and the result is stored. In the flash. If no errors are found, the process returns to fill the flash memory with 0x00. The self-test method can be defined by various users of the system of Figure 1, for example, the methods can be defined by the customer.

視覺指示器Visual indicator

尤其當在一系統之內使用多個模組100時,在板上之視覺指示允許診斷對於記憶體模組之系統問題。在以下狀況下,一LED之慢閃光為0.25秒之接通及1秒之斷開,而一LED之快閃光為0.5秒之接通及0.5秒之斷開。該記憶體模組具有LED以指示備用操作正發生。假定一些組態花費多分鐘來完成備用操作,則LED向維修技術員指示在功率損失事件之後模組100或電容器組必須不受干擾。 Especially when multiple modules 100 are used within a system, the visual indication on the board allows for the diagnosis of system problems with the memory module. Under the following conditions, the slow flash of an LED is 0.25 second on and 1 second off, and the fast flash of one LED is 0.5 second on and 0.5 second off. The memory module has LEDs to indicate that alternate operations are occurring. Assuming some configuration takes many minutes to complete the standby operation, the LED indicates to the service technician that the module 100 or capacitor bank must be undisturbed after the power loss event.

提供給備用電源一視覺指示以指示備用功率經正確 連接、充電、完全充電或失效。舉例而言,此在具有多個模組100之系統中可為有用的,有可能維修技術員必須實體識別一已失效之模組或電容器以供替換。 Provide a visual indication to the backup power source to indicate that the backup power is correct Connected, charged, fully charged or disabled. For example, this may be useful in systems having multiple modules 100, and it is possible that a service technician must physically identify a failed module or capacitor for replacement.

在預燒測試期間亦使用視覺指示LED。若自我測試中之任一者在預燒測試期間失效,則紅色LED鎖上。為證明自我測試操作正在進行中,綠色LED將在自我測試期間閃光。當測試進行時,綠色LED在每一測試週期(寫入/讀取DRAM及讀寫快閃記憶體)之末期雙態觸發。 Visual indicator LEDs were also used during the burn-in test. If either of the self tests fails during the burn-in test, the red LED is locked. To demonstrate that the self-test operation is in progress, the green LED will flash during the self-test. When the test is in progress, the green LED is toggled at the end of each test cycle (write/read DRAM and read/write flash memory).

舉例而言,外部系統可包括各種類型之系統,例如,主機、伺服器、用戶端及各種系統之網路等。揮發性記憶體120可包括(例如)動態隨機存取記憶體(DRAM)、Z-RAM®、靜態隨機存取記憶體(SRAM)及雙電晶體RAM(TTRAM)等。非揮發性記憶體130可包括(例如)唯讀記憶體(ROM)、快閃記憶體、鐵電RAM(FeRAM)、可程式化金屬化單元(PMC)等。在某些實施例中,備用電源200可包括為DIMM 100之部分,而在其他實施例中,備用電源200可為(例如)一外部裝置。非揮發性記憶體130及揮發性記憶體120可為各種大小且不必為相同大小。在備用操作期間,各種實施例可將儲存於揮發性記憶體120中之所有資料移動至非揮發性記憶體130或儲存於揮發性記憶體120中之資料之某一子 集。在自非揮發性記憶體130至揮發性記憶體120之復原操作期間亦同樣如此。第1圖之某些實施例不包括第1圖之每一組件及/或功能。舉例而言,某些實施例不包括隔離邏輯140,某些實施例不將SPD資訊儲存於揮發性記憶體120中,某些實施例將儲存於揮發性記憶體120中之所有資料同時移動至非揮發性記憶體130(例如,同時所有DRAM裝置),且某些實施例將儲存於揮發性記憶體120中之資料以組塊移動至非揮發性記憶體130,例如,一次一個DRAM裝置。 For example, an external system can include various types of systems, such as a host, a server, a client, and a network of various systems. The volatile memory 120 may include, for example, dynamic random access memory (DRAM), Z-RAM®, static random access memory (SRAM), and dual transistor RAM (TTRAM). Non-volatile memory 130 may include, for example, read only memory (ROM), flash memory, ferroelectric RAM (FeRAM), programmable metallization unit (PMC), and the like. In some embodiments, backup power supply 200 can be included as part of DIMM 100, while in other embodiments, backup power supply 200 can be, for example, an external device. The non-volatile memory 130 and the volatile memory 120 can be of various sizes and need not be the same size. During alternate operations, various embodiments may move all of the data stored in the volatile memory 120 to a non-volatile memory 130 or a portion of the data stored in the volatile memory 120. set. The same is true during the recovery operation from the non-volatile memory 130 to the volatile memory 120. Some embodiments of FIG. 1 do not include each component and/or function of FIG. For example, some embodiments do not include isolation logic 140. Some embodiments do not store SPD information in volatile memory 120. Some embodiments simultaneously move all data stored in volatile memory 120 to Non-volatile memory 130 (eg, all DRAM devices at the same time), and some embodiments move the data stored in volatile memory 120 in chunks to non-volatile memory 130, for example, one DRAM device at a time.

控制器110可(例如)使用各種FPGA、控制器、處理器及/或記憶體來實施。在另一實施例中,非揮發性控制器110為一特殊應用積體電路(ASIC),其包括控制器內部之一快閃晶片介面。藉由將快閃晶片介面併入ASIC控制器,將不使用外部SD/MMC+控制器,且可改良保存/復原效能。在另一實施例中,揮發性記憶體120可藉由使用各種起始位址及結束位址而分成各種區段。此等位址可藉由經由NVDIMM I2C匯流排設定控制器110中之暫存器來組態。由此等位址定義之哪些區段(且以何次序)應得以備用及/或復原亦可藉由設定控制器110中之暫存器而可控制。雖然本發明已在上述說明性實施例中加以描述及說明,但應瞭解本揭示案已僅以實例進行說明,且可在不脫離本發明之精神及範疇的情況下進行本發明之實施例之細節之許多變化,本發明之精神及範疇僅受以下申請專利範圍限制。 Controller 110 can be implemented, for example, using various FPGAs, controllers, processors, and/or memories. In another embodiment, the non-volatile controller 110 is a special application integrated circuit (ASIC) that includes a flash chip interface within the controller. By incorporating the flash die interface into the ASIC controller, the external SD/MMC+ controller will not be used and the save/restore performance can be improved. In another embodiment, the volatile memory 120 can be divided into various segments by using various start and end addresses. These addresses can be configured by the scratchpad in the NVDIMM I2C bus set controller 110. Which segments (and in what order) defined by such addresses should be spared and/or restored can also be controlled by setting a register in controller 110. Although the present invention has been described and illustrated in the foregoing embodiments of the present invention, it is understood that the present invention is described by way of example only, and the embodiments of the present invention may be practiced without departing from the spirit and scope of the invention The spirit and scope of the present invention is limited only by the scope of the following claims.

100‧‧‧雙行記憶體模組(DIMM) 100‧‧‧Dual-line memory module (DIMM)

105‧‧‧介面 105‧‧‧ interface

110‧‧‧控制器 110‧‧‧ Controller

115‧‧‧FPGA可程式唯讀記憶體 115‧‧‧FPGA programmable read-only memory

120‧‧‧揮發性記憶體 120‧‧‧ volatile memory

121‧‧‧DRAM晶片 121‧‧‧DRAM chip

122‧‧‧DRAM晶片 122‧‧‧DRAM chip

130‧‧‧非揮發性記憶體 130‧‧‧Non-volatile memory

131‧‧‧快閃晶片/快閃裝置 131‧‧‧Flash Chip/Flash Device

132‧‧‧快閃裝置 132‧‧‧flash device

140‧‧‧隔離邏輯 140‧‧‧Isolation Logic

150‧‧‧訊號 150‧‧‧ Signal

161‧‧‧PLL 161‧‧‧PLL

162‧‧‧暫存器 162‧‧‧ 存存器

163‧‧‧FET匯流排開關/FET多工器 163‧‧‧FET bus switch / FET multiplexer

164‧‧‧FET開關/FET多工器 164‧‧‧FET Switch/FET Multiplexer

170‧‧‧介面線/訊號 170‧‧‧Interface line/signal

171‧‧‧VBACK 171‧‧‧VBACK

Claims (16)

一種記憶體裝置,包含:揮發性記憶體;一介面,該介面用於連接至一備用功率源,該備用功率源經配置以在一主功率源之一功率損失發生後即供電至該揮發性記憶體;非揮發性記憶體;一第一組態資料匯流排,該第一組態資料匯流排用於存取描述該揮發性記憶體之實質上永久特性的參數,其中該等參數係儲存於一第一位址空間中;一第二組態資料匯流排,該第二組態資料匯流排用於存取該備用功率源之健康狀態資訊,該健康狀態資訊包含是否該備用功率源已失效之一指示,其中該健康狀態資訊係儲存於一第二位址空間中,其中該第一組態資料匯流排及該第二組態資料匯流排實施一相同匯流排協定,且其中該第一位址空間與該第二位址空間為各自單獨的;一控制器,該控制器與該第一組態資料匯流排、該第二組態資料匯流排、該揮發性記憶體及該非揮發性記憶體通訊,該控制器經程式化以藉由擷取來自該第二位址空間的該健康狀態資訊,偵測該是否該備用功率源已失效之指示,且響應於該指示,對一主機發出該備用功率源失效之一警報,且響應於來自該主機基於該失效的備用功率源之該警報的一命令,將資料自該揮發性記憶體移動至該非揮發性記憶體,用以避免資料損失, 其中將被移動之資料包括快取資料、使用者資料及作業系統資料中之至少一者;其中該控制器之第一組態資訊為經由該第一組態資料匯流排可讀及可寫中之至少一者;及其中該健康狀態資訊為經由該第二組態資料匯流排可讀及可寫中之至少一者。 A memory device comprising: a volatile memory; an interface for connecting to a backup power source configured to supply power to the volatility after a power loss of one of the primary power sources occurs Memory; non-volatile memory; a first configuration data bus, the first configuration data bus is used to access parameters describing the substantially permanent characteristics of the volatile memory, wherein the parameters are stored In a first address space; a second configuration data bus, the second configuration data bus is used to access the health status information of the standby power source, the health status information includes whether the backup power source has One of the failure indications, wherein the health status information is stored in a second address space, wherein the first configuration data bus and the second configuration data bus implement an identical bus arrangement, and wherein the The one address space and the second address space are separate from each other; a controller, the controller and the first configuration data bus, the second configuration data bus, the volatile memory, and the Volatile memory communication, the controller being programmed to detect an indication of whether the alternate power source has failed by extracting the health status information from the second address space, and in response to the indication, Sending, by the host, one of the backup power source failures, and in response to a command from the host based on the alarm of the failed alternate power source, moving data from the volatile memory to the non-volatile memory for Avoid data loss, The data to be moved includes at least one of cache data, user data and operating system data; wherein the first configuration information of the controller is readable and writable via the first configuration data bus At least one of the information; and the health status information is at least one of readable and writable via the second configuration data bus. 如請求項1所述之記憶體裝置,其中該健康狀態資訊包括該備用功率源之一狀態,該狀態指示該備用功率源為已充電狀態、放電狀態及充電狀態中之至少一者。 The memory device of claim 1, wherein the health status information includes a status of the standby power source, the status indicating that the standby power source is at least one of a charged state, a discharged state, and a charged state. 如請求項1所述之記憶體裝置,其中該健康狀態資訊指示包含該備用功率源之任何電容器是否已失效。 The memory device of claim 1, wherein the health status information indicates whether any of the capacitors including the alternate power source have failed. 如請求項3所述之記憶體裝置,其中該健康狀態資訊指示包含該備用功率源之該等電容器中之哪一者已失效。 The memory device of claim 3, wherein the health status information indicates which of the capacitors including the alternate power source has failed. 如請求項1所述之記憶體裝置,其中該健康狀態資訊指示該備用功率源之一類型。 The memory device of claim 1, wherein the health status information indicates a type of the alternate power source. 如請求項5所述之記憶體裝置,其中該類型可為電容器或電池。 The memory device of claim 5, wherein the type is a capacitor or a battery. 如請求項1所述之記憶體裝置,其中該第二組態資料匯流排經組態以存取該非揮發性記憶體之狀態資訊,其中該狀態資訊指示該非揮發性記憶體為寫入狀態、已抹除狀態、正抹除狀態及損壞狀態中之至少一者。 The memory device of claim 1, wherein the second configuration data bus is configured to access status information of the non-volatile memory, wherein the status information indicates that the non-volatile memory is in a write state, At least one of the erased state, the erased state, and the damaged state. 如請求項1所述之記憶體裝置,其中該第二組態資料匯流排經組態以存取該非揮發性記憶體之狀態資訊,其中該狀態資訊包括該非揮發性記憶體之標頭資訊。 The memory device of claim 1, wherein the second configuration data bus is configured to access status information of the non-volatile memory, wherein the status information includes header information of the non-volatile memory. 如請求項1所述之記憶體裝置,其中該第二組態資料匯流排經組態以存取該非揮發性記憶體之狀態資訊,其中該狀態資訊包括一損壞記憶體區塊之數目、一備用記憶體區塊之數目、一完成之下載循環之數目、一最後下載中之糾錯碼(Error Correcting Code,ECC)錯誤之數目、一最後復原中之ECC錯誤之數目、一最後下載之一狀態及一最後復原之一狀態中之至少一者。 The memory device of claim 1, wherein the second configuration data bus is configured to access status information of the non-volatile memory, wherein the status information includes a number of damaged memory blocks, The number of spare memory blocks, the number of completed download cycles, the number of Error Correcting Code (ECC) errors in a final download, the number of ECC errors in a final restore, one of the last downloads At least one of a state and a state of a final restoration. 如請求項1所述之記憶體裝置,其中該揮發性記憶體包含一動態隨機存取記憶體。 The memory device of claim 1, wherein the volatile memory comprises a dynamic random access memory. 如請求項1所述之記憶體裝置,其中該非揮發性記憶體包含電子可抹除可程式化唯讀記憶體(EEPROMs)。 The memory device of claim 1, wherein the non-volatile memory comprises electronic erasable programmable read only memory (EEPROMs). 如請求項1所述之記憶體裝置,其中該控制器包含一特殊應用積體電路(ASIC)及一場可程式化閘陣列(FPGA)中之至少一者。 The memory device of claim 1, wherein the controller comprises at least one of a special application integrated circuit (ASIC) and a programmable gate array (FPGA). 如請求項1所述之記憶體裝置,其中,該控制器進一步經程式化以在該主功率源之一功率復原發生時將資料自該非揮發性記憶體移動至該揮發性記憶體。 The memory device of claim 1, wherein the controller is further programmed to move data from the non-volatile memory to the volatile memory when power recovery of one of the primary power sources occurs. 如請求項1所述之記憶體裝置,其中該相同匯流排協定為一內部積體電路匯流排協定。 The memory device of claim 1, wherein the same bus bar protocol is an internal integrated circuit bus bar protocol. 如請求項1所述之記憶體裝置,其中該等參數包含序列存在檢測資訊。 The memory device of claim 1, wherein the parameters comprise sequence presence detection information. 如請求項1所述之記憶體裝置,其中該資料包含檔案系統關鍵資料及檔案系統目錄資料中之至少一者。 The memory device of claim 1, wherein the data comprises at least one of a file system key material and a file system directory material.
TW102147779A 2009-02-11 2010-02-11 Flash -backed dram module with state of health and or status information available through a configuration data bus TWI529738B (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US12/369,052 US8566639B2 (en) 2009-02-11 2009-02-11 Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus
US12/369,076 US7983107B2 (en) 2009-02-11 2009-02-11 Flash backed DRAM module with a selectable number of flash chips
US12/369,040 US7990797B2 (en) 2009-02-11 2009-02-11 State of health monitored flash backed dram module
US12/369,027 US7830732B2 (en) 2009-02-11 2009-02-11 Staged-backup flash backed dram module
PCT/US2009/033755 WO2010093356A1 (en) 2009-02-11 2009-02-11 A flash backed dram module
US12/369,032 US20100205349A1 (en) 2009-02-11 2009-02-11 Segmented-memory flash backed dram module
US12/369,079 US8169839B2 (en) 2009-02-11 2009-02-11 Flash backed DRAM module including logic for isolating the DRAM
US12/369,046 US8977831B2 (en) 2009-02-11 2009-02-11 Flash backed DRAM module storing parameter information of the DRAM module in the flash

Publications (2)

Publication Number Publication Date
TW201419300A TW201419300A (en) 2014-05-16
TWI529738B true TWI529738B (en) 2016-04-11

Family

ID=44814320

Family Applications (2)

Application Number Title Priority Date Filing Date
TW102147779A TWI529738B (en) 2009-02-11 2010-02-11 Flash -backed dram module with state of health and or status information available through a configuration data bus
TW099104472A TWI428922B (en) 2009-02-11 2010-02-11 A flash backed dram module

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW099104472A TWI428922B (en) 2009-02-11 2010-02-11 A flash backed dram module

Country Status (1)

Country Link
TW (2) TWI529738B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI510903B (en) * 2012-11-19 2015-12-01 Wistron Corp Computer system and data recovery method thereof
KR101901666B1 (en) * 2014-08-12 2018-09-27 고쿠리츠켄큐카이하츠호진 카가쿠기쥬츠신코키코 Memory circuit
CN107077874B (en) 2014-10-31 2020-05-29 惠普发展公司有限责任合伙企业 Power loss protection
US20170091042A1 (en) * 2015-09-25 2017-03-30 Quanta Computer Inc. System and method for power loss protection of storage device
TWI578006B (en) * 2015-09-25 2017-04-11 寰群科技股份有限公司 Method for determining characteristics of uknown battery
TWI687813B (en) * 2018-08-31 2020-03-11 英業達股份有限公司 Information sharing circuit and method for sharing memory state
US11099838B1 (en) * 2020-02-26 2021-08-24 Quanta Computer Inc. Method and system for recovery for custom integrated circuit
JP2022064497A (en) * 2020-10-14 2022-04-26 キオクシア株式会社 Memory system
TWI796935B (en) * 2022-01-19 2023-03-21 宏碁股份有限公司 Memory control method and memory storage devcie
JP2023137985A (en) * 2022-03-18 2023-09-29 キオクシア株式会社 memory system

Also Published As

Publication number Publication date
TW201106371A (en) 2011-02-16
TWI428922B (en) 2014-03-01
TW201419300A (en) 2014-05-16

Similar Documents

Publication Publication Date Title
US9520191B2 (en) Apparatus, systems, and methods for operating flash backed DRAM module
US7990797B2 (en) State of health monitored flash backed dram module
US8169839B2 (en) Flash backed DRAM module including logic for isolating the DRAM
US8566639B2 (en) Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus
US7830732B2 (en) Staged-backup flash backed dram module
TWI529738B (en) Flash -backed dram module with state of health and or status information available through a configuration data bus
US7983107B2 (en) Flash backed DRAM module with a selectable number of flash chips
US20100205349A1 (en) Segmented-memory flash backed dram module
WO2010093356A1 (en) A flash backed dram module
US10438669B2 (en) Flash storage device with data integrity protection
US10902895B2 (en) Configuration bit sequencing control of nonvolatile domain and array wakeup and backup
US9639131B2 (en) Systems, methods and devices for control of the operation of data storage devices using solid-state memory
US8516187B2 (en) Data transfer scheme for non-volatile memory module
US8009499B2 (en) Providing a capacitor-based power supply to enable backup copying of data from volatile storage to persistent storage
CN110764964B (en) Memory device and control method thereof