[go: up one dir, main page]

TW201320097A - Method and system for reducing write-buffer capacities within memristor-based data-storage devices - Google Patents

Method and system for reducing write-buffer capacities within memristor-based data-storage devices Download PDF

Info

Publication number
TW201320097A
TW201320097A TW101127017A TW101127017A TW201320097A TW 201320097 A TW201320097 A TW 201320097A TW 101127017 A TW101127017 A TW 101127017A TW 101127017 A TW101127017 A TW 101127017A TW 201320097 A TW201320097 A TW 201320097A
Authority
TW
Taiwan
Prior art keywords
write
switching
data
data storage
read
Prior art date
Application number
TW101127017A
Other languages
Chinese (zh)
Other versions
TWI520149B (en
Inventor
Erik Ordentlich
Gadiel Seroussi
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201320097A publication Critical patent/TW201320097A/en
Application granted granted Critical
Publication of TWI520149B publication Critical patent/TWI520149B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5624Concurrent multilevel programming and programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)

Abstract

One example disclosed in the application is an electronic data-storage device comprising one or more arrays of memory elements. The data-storage device also includes an error-control-coding encoder that encodes received data and a READ/WRITE controller that writes encoded data received from the error-control-coding encoder to a number of memory elements by applying the switching-inducing force or gradient to the one or more arrays of memory elements until more than a maximum-allowed number of WRITE requests have been queued to the WRITE-request buffer, until feedback signals indicate that the WRITE operation has completed, or until the switching-inducing force or gradient has been applied for a maximum application time.

Description

減少憶阻器為基的資料儲存裝置內寫入緩衝器容量之方法與系統 Method and system for reducing write buffer capacity in a memristor-based data storage device 發明領域 Field of invention

本案係有關於儲存資料於非線性位元儲存媒體,諸如憶阻位元儲存媒體之裝置,及更明確言之,係有關於藉在儲存前編碼資料而減少寫入緩衝器容量之方法及系統。 The present invention relates to a device for storing data in a non-linear bit storage medium, such as a memristive bit storage medium, and more specifically, a method and system for reducing write buffer capacity by encoding data prior to storage. .

發明背景 Background of the invention

過去半世紀以來,電子電路元件的尺寸快速縮小。眾所周知的電路元件包括電阻器、電容器、電感器、二極體、及電晶體曾經乃屬巨觀級裝置藉手工焊接成為巨觀級電路,今日卻是以次微米級尺寸製作在積體電路內部。以微影術為基礎的半導體製造技術可製造每一平方厘米有數以千萬計的電路元件之積體電路。電路元件大小穩定地縮小且積體電路組件密度的增加,已經使得積體電路可操作的時鐘速度快速增高,且使得積體電路及以積體電路為基礎的電子裝置的功能性、運算帶寬、資料儲存能力、及操作效率劇增。 Over the past half century, the size of electronic circuit components has rapidly shrunk. Well-known circuit components, including resistors, capacitors, inductors, diodes, and transistors, were once giant-scale devices that were hand-welded into giant-view circuits, but today they are fabricated in sub-micron dimensions inside integrated circuits. . Microlithography-based semiconductor fabrication technology can produce integrated circuits with tens of millions of circuit components per square centimeter. The sturdy reduction in circuit component size and the increase in the density of integrated circuit components have led to an increase in the operational clock speed of integrated circuits, and the functionality, computational bandwidth, and integration of integrated circuits and integrated circuit-based electronic devices. Data storage capacity and operational efficiency have increased dramatically.

不幸地,正在趨近於使用微影術方法製造積體電路的內部組件密度進一步增加的物理極限。最終,微影術方法受到通過微影術阻罩來固定與蝕刻光阻的射線波長所限,且隨著電路線路及組件尺寸的進一步縮小成奈米級尺寸,通過穿隧的漏電流及因奈米級組件的相對高電阻所導致的電流損耗,對有關藉傳統積體電路製造與設計方法來更進 一步縮小組件大小與增高組件密度帶來挑戰。此等挑戰給奈米級電路及電路元件的設計與製造上孕育新穎辦法。目前的研究發展努力係耗用在透過奈米級組件的自行組裝、奈米級壓印、及其它相當新的方法來產生極其緊密的奈米級電子電路。此外,已經發現以奈米級尺寸操作的其它型別的電路元件,包括憶阻切換材料可用作為雙穩奈米級記憶體元件。不幸,憶阻切換材料及其它候選者雙穩記憶體元件材料,對施加來改變材料態的所施加電壓、溫度、及其它力及梯度具有非線性反應特徵,經常具有相當寬廣的分散式非對稱性機率密度函式(PDF),該函式係特徵化相對於施加切換力或梯度的不同持續時間,一記憶體元件切換的機率。對稱性PDF可具有相當長尾特徵,相對應於下述事實,力或梯度可能須施加比較平均切換時間顯著更長時間來確保切換。另外,PDF決定大量記憶體元件的切換表現特性,長尾係相對應於該等大量記憶體元件的一小分量,該長尾係以比較該等大量記憶體元件的大部分以顯著更長的力或梯度施加時間切換。此項事實轉而相對於具有狹窄分散式對稱性PDF的理論裝置,帶來顯著減低的操作帶寬及/或可信度,針對該PDF,為了確保切換高達相對應於最大可容許位元錯誤率的機率,需要施加力或梯度的時間並不顯著大於出現切換的平均施加時間。基於非線性資料儲存材料,諸如憶阻材料的記憶體裝置及其它資料儲存裝置的理論學者、設計師、及發展者仍然持續尋找可改良此等裝置中之若干者的非對稱性寬廣分散式切換時間特性 的方法及裝置架構。 Unfortunately, the physical limits of further increasing the density of internal components of integrated circuits using the lithography method are approaching. Finally, the lithography method is limited by the wavelength of the ray that is fixed and etched by the lithography mask, and as the circuit line and component size is further reduced to the nanometer size, the leakage current through the tunneling and the cause The current loss caused by the relatively high resistance of nano-scale components is further improved by the traditional manufacturing and design methods of integrated circuits. The challenge of reducing component size and increasing component density in one step. These challenges foster novel approaches to the design and manufacture of nanoscale circuits and circuit components. Current research and development efforts are spent on self-assembly through nanoscale components, nanoscale imprinting, and other fairly new methods to produce extremely tight nanoscale electronic circuits. In addition, other types of circuit components, including memristive switching materials, that operate in nanoscale dimensions have been found to be useful as bistable nanoscale memory components. Unfortunately, memristive switching materials and other candidate bistable memory device materials have non-linear response characteristics to the applied voltage, temperature, and other forces and gradients applied to change the material state, often with a fairly broad dispersion of asymmetry. Sexual probability density function (PDF), which characterizes the probability of a memory element switching relative to the different durations at which a switching force or gradient is applied. The symmetry PDF can have quite long tail features, corresponding to the fact that the force or gradient may have to apply a comparative average switching time for significantly longer to ensure switching. In addition, PDF determines the switching performance characteristics of a large number of memory elements, which correspond to a small component of the plurality of memory elements, which compares a majority of the plurality of memory elements with significantly longer forces or Gradient application time switching. This fact in turn leads to a significantly reduced operating bandwidth and/or confidence relative to a theoretical device with a narrowly distributed symmetry PDF, for which the PDF is guaranteed to correspond to the maximum allowable bit error rate. The probability that the force or gradient needs to be applied is not significantly greater than the average application time for switching. Theorists, designers, and developers based on non-linear data storage materials, memory devices such as memristive materials, and other data storage devices continue to seek broadly distributed decentralized switching that can improve some of these devices. Time characteristic Method and device architecture.

依據本發明之一實施例,係特地提出一種資料儲存裝置包含:一或多個記憶體元件陣列,其各自包括一材料,藉施加一切換感應力或梯度至該材料而在至少兩個不同態間切換,及一回授信號;一寫要求緩衝器,緩衝一接收到的寫要求;一錯誤控制碼編碼器,編碼與該寫要求相聯結的資料;及一讀/寫控制器,將與接收自該寫要求緩衝器的該寫要求相聯結的、由該錯誤控制碼編碼器所編碼的資料寫入多個記憶體元件,該讀/寫控制器係藉施加該切換感應力或梯度至該一或多個記憶體元件陣列直至多於一最大容許數目的寫要求已經佇列至該寫要求緩衝器,回授信號指示該寫操作已經完成,或該切換感應力或梯度已經施加歷經一最大施加時間為止。 In accordance with an embodiment of the present invention, a data storage device is specifically provided comprising: one or more arrays of memory elements each comprising a material in at least two different states by applying a switching inductive force or gradient to the material Inter-switching, and a feedback signal; a write request buffer buffering a received write request; an error control code encoder encoding data associated with the write request; and a read/write controller that will The data encoded by the error control code encoder coupled to the write request of the write request buffer is written to a plurality of memory elements, and the read/write controller applies the switching induced force or gradient to The one or more memory element arrays up to more than one maximum allowable number of write requests have been queued to the write request buffer, the feedback signal indicating that the write operation has been completed, or the switching induction force or gradient has been applied through one The maximum application time.

圖式簡單說明 Simple illustration

第1A-B圖例示說明具有兩個穩定電子態特徵之奈米級單一位元資料儲存裝置之實例。 1A-B illustrate an example of a nanoscale single bit data storage device having two stable electronic states.

第2圖顯示於第1A-B圖例示說明的雙穩態奈米級電子裝置的電流對電壓表現。 Figure 2 shows the current versus voltage performance of the bistable nanoelectronic device illustrated in Figures 1A-B.

第3A圖例示說明對數-常態機率密度函式(PDF)。 Figure 3A illustrates a log-normal probability density function (PDF).

第3B圖顯示針對第3A圖所示對數-常態分布PDF,相對應的累進分布函式(CDF)。 Figure 3B shows the corresponding progressive distribution function (CDF) for the log-normal distribution PDF shown in Figure 3A.

第4圖例示說明兩種辦法中之第一者,用來改善由憶阻記憶體元件及其它非線性資料儲存裝置材料所具有的切換 時間之對數-常態分布效應。 Figure 4 illustrates the first of two approaches to improve switching between memristive memory components and other non-linear data storage devices. The logarithm of time - the normal distribution effect.

第5圖例示說明針對憶阻記憶體元件及其它雙穩態資料儲存材料,改進對數-常態分布切換時間的效應之第二辦法。 Figure 5 illustrates a second approach to improving the effect of log-normal distribution switching time for memristive memory elements and other bistable data storage materials.

第6A-B圖例示說明施加切換脈衝至一憶阻記憶體元件或其它非線性資料儲存材料。 Figures 6A-B illustrate the application of switching pulses to a memristive memory element or other non-linear data storage material.

第7A-F圖例示說明用以將資料寫至包括記憶體元件以對數-常態分布切換時間為其特徵的一記憶體裝置之六種資料寫入方法。 The 7A-F diagram illustrates six data writing methods for writing data to a memory device including a memory element characterized by a log-normal distribution switching time.

第8圖例示說明在二脈衝寫方法中,施加寫電壓的總預期時間T avg 對第一脈衝長度T1的相依性。 Fig. 8 exemplifies the dependence of the total expected time T avg of the applied write voltage on the first pulse length T 1 in the two-pulse writing method.

第9圖例示說明針對連續寫方法,施加寫電壓的預期累進時間T avg 對最大施加時間T max的相依性。 Figure 9 illustrates the dependence of the expected progressive time T avg of the applied write voltage on the maximum application time T max for the continuous write method.

第10圖提出一表顯示多種用以將資料寫入記憶體的不同寫方法之比較,該記憶體包括以對數-常態分布切換時間為特徵的記憶體元件。 Figure 10 presents a table showing a comparison of various writing methods for writing data into memory, the memory including memory elements characterized by log-normal distribution switching times.

第11圖圖解例示說明得自第10圖所提供的表中第一水平區段之資料。 Figure 11 is a diagram illustrating the information from the first horizontal section of the table provided in Figure 10.

第12圖提供一表列舉針對所考慮的寫時間,達成期望的寫入失敗機率屬於τ的各個不同分量,針對多重脈衝寫方法的最大脈衝數目及平均脈衝數目。 Figure 12 provides a table listing the different number of pulses and the number of average pulses for the multiple pulse write method for each of the different components of the desired write failure probability that are expected for the write time.

第13圖顯示針對未經編碼的2-脈衝寫方法及已編碼的2-脈衝寫方法,預期等候時間相對於寫中間到達時間之線圖。 Figure 13 shows a line graph of expected waiting time versus write intermediate arrival time for the uncoded 2-pulse write method and the encoded 2-pulse write method.

第14圖例示說明結合回授信號及ECC編碼二者的資料儲存裝置。 Figure 14 illustrates a data storage device incorporating both a feedback signal and an ECC code.

第15圖顯示寫緩衝組件(第14圖中之1434)的操作之控制流程圖。 Figure 15 shows a control flow chart of the operation of the write buffer component (1434 in Fig. 14).

第16圖提供常式「輸入」(第15圖之1506)的控制流程圖。 Figure 16 provides a control flow chart for the conventional "input" (1506 of Fig. 15).

第17圖提供常式「輸出」(第15圖之1508)的控制流程圖。 Figure 17 provides a control flow chart for the conventional "output" (1508 of Figure 15).

第18圖提供控制流程圖例示說明讀/寫控制器(第14圖之1430)之操作。 Figure 18 provides a control flow diagram illustrating the operation of the read/write controller (1430 of Figure 14).

第19圖提供常式「寫」(第18圖之1806)的控制流程圖。 Figure 19 provides a control flow chart for the conventional "write" (1806 of Figure 18).

較佳實施例之詳細說明 Detailed description of the preferred embodiment

本案係有關於以相對寬廣及/或非對稱性切換時間機率密度函式為特徵的儲存資料於記憶體元件之電子資料儲存裝置。此等型別的記憶體元件,其中多者摻混非線性雙穩態材料,包括憶阻材料,可能具有最惡劣情況切換時間,該時間係顯著大於平均切換時間。機率分布反映出當記憶體元件係重複地從第一雙穩態切換至第二雙穩態時觀察得的切換時間。機率分布反映出當切換電壓、電流、或其它力或梯度係施加至大量個別記憶體元件時觀察得該等大量記憶體元件的切換時間。針對習知資料儲存裝置,潛在冗長切換時間導致相當長的切換週期,及相對應地低資料儲存裝置輸入帶寬。 The present invention relates to an electronic data storage device for storing data in a memory component characterized by a relatively broad and/or asymmetric switching time probability density function. These types of memory components, many of which incorporate nonlinear bistable materials, including memristive materials, may have the worst case switching times that are significantly greater than the average switching time. The probability distribution reflects the switching time observed when the memory component is repeatedly switched from the first bistable to the second bistable. The probability distribution reflects the switching time of the plurality of memory elements observed when switching voltages, currents, or other forces or gradients are applied to a plurality of individual memory elements. For conventional data storage devices, potentially lengthy switching times result in relatively long switching cycles and correspondingly low data storage device input bandwidth.

本案有關的電子資料儲存裝置係以六小節討論如下:(1)具有非對稱分布的切換時間之記憶體元件的綜論;(2)錯 誤控制碼;(3)假說寫方法;(4)各種寫方法的分析;(5)各種寫方法的分析結果;及(6)本案有關的電子資料儲存裝置之實例。 The electronic data storage device related to this case is discussed in the following six sections: (1) A comprehensive review of memory components with asymmetrically distributed switching times; (2) Error control code; (3) hypothesis writing method; (4) analysis of various writing methods; (5) analysis results of various writing methods; and (6) examples of electronic data storage devices related to the present case.

具有非對稱分布的切換時間之記憶體元件的綜論 A comprehensive review of memory components with asymmetrically distributed switching times

第1A-B圖例示說明具有兩個穩定電子態特徵之奈米級單一位元資料儲存裝置之實例。第1A圖顯示該裝置係於相對高電阻態,及第1B圖顯示該裝置係於相對低電阻態。電極間之介電材料的電阻率可經電子式感測,如此,第1A-B圖所示二不同電阻態可用來儲存單一位元的資訊。 1A-B illustrate an example of a nanoscale single bit data storage device having two stable electronic states. Figure 1A shows that the device is in a relatively high resistance state, and Figure 1B shows that the device is in a relatively low resistance state. The resistivity of the dielectric material between the electrodes can be electronically sensed, such that the two different resistance states shown in Figures 1A-B can be used to store information for a single bit.

第1A-B圖皆係使用相同例示說明習慣。第1A圖中,介電材料102係夾置在兩個導電電極104及106間。在該雙穩態介電材料102上方及下方的該等電極部分係顯示於第1A圖。一般而言,該等電極可為奈米導線或其它導電元件,其係電氣互連該奈米級電子裝置與其它奈米級電子裝置、奈米級電路、及最終地,微米級及巨觀級電路。於第1圖中,介電材料102係顯示為具有兩個不同部分:(1)一低電阻率部分108及一高電阻率部分110。該低電阻率部分為一空乏區域,例如包括輔助電流傳導的氧空位作為一個實例。介電材料的高電阻率部分110缺乏空位,因而具有未經摻雜半導體或介電質的電導。於第1A-B圖中,當於向上垂直方向或稱z方向橫過該介電材料施加夠大幅度的電壓時,氧空位可在該等二電極間,在該介電材料內部重新分布,如第1B圖所示。氧空位的重新分布導致介電材料整個具有相對低電阻。於第1B圖中施加夠大電壓於相反方向,或施加負電壓 於向上垂直方向,導致迫使氧空位本身分布更靠近下電極,如第1A圖所示。 Figures 1A-B are all using the same illustrative conventions. In Fig. 1A, the dielectric material 102 is interposed between the two conductive electrodes 104 and 106. The electrode portions above and below the bistable dielectric material 102 are shown in Figure 1A. In general, the electrodes can be nanowires or other conductive elements that electrically interconnect the nanoscale electronic device with other nanoscale electronic devices, nanoscale circuits, and ultimately, micron and giant Stage circuit. In FIG. 1, dielectric material 102 is shown as having two distinct portions: (1) a low resistivity portion 108 and a high resistivity portion 110. The low resistivity portion is a depletion region, for example, including oxygen vacancies for assisting current conduction as an example. The high resistivity portion 110 of the dielectric material lacks vacancies and thus has an undoped semiconductor or dielectric conductance. In FIGS. 1A-B, when a sufficiently large voltage is applied across the dielectric material in an upward vertical or z-direction, oxygen vacancies may be redistributed within the dielectric material between the two electrodes, As shown in Figure 1B. The redistribution of oxygen vacancies results in a relatively low electrical resistance throughout the dielectric material. Apply a large enough voltage to the opposite direction or apply a negative voltage in Figure 1B In the upward vertical direction, the oxygen vacancies themselves are forced to be distributed closer to the lower electrode, as shown in Figure 1A.

第2圖顯示於第1A-B圖例示說明的雙穩態奈米級電子裝置的電流對電壓表現。I-V曲線之具有相對大斜率部分202係為I-V曲線之相對應於奈米級電子裝置的低電阻態部分,如第1B圖所示。本曲線斜率係與二電極間的介電材料的導電性成正比而與電阻率成反比。I-V曲線之具有相對小幅度斜率部分204係為I-V曲線之相對應於奈米級電子裝置的高電阻態部分,如第1A圖所示。始於電壓軸208及電流軸210的原點206,及假設奈米級電子裝置係在如第1A圖所示的高電阻態,由下電極施加增加的正電壓至上電極,導致橫過介電材料的電流極少增加,如I-V曲線204的右側部分表示,直至施加的正電壓接近電壓VW + 212為止,於該點,氧空位快速遍布介電材料或半導性材料重新分布,結果電流快速增高,如I-V曲線204的近垂直部分表示,直到點216到達表示低電阻態的I-V曲線部分為止。正電壓的更進一步增高,導致沿低電阻態I-V曲線之遠右側部分220的電流相當大的相對應增高,直到達到電壓VD + 222為止,於該點裝置故障,原因在於因高電流流經該裝置的電阻加熱結果產生過量熱量。一旦於點216到達表示低電阻態,則隨著橫過電極施加電壓的減低,低電阻態I-V曲線202係遵循向左,下降回原點206;及隨著電壓更進一步減至幅度增加的負電壓,電流係於該方向切換及於幅度上增加至點224,於該點氧空位再度重新分布回接近下電極的緊密層,如第1A圖所 示,結果導致流經裝置的電流幅度的快速減低,及返回點226的高電阻態。橫過裝置所施加的負電壓幅度的進一步增加,最終導致電壓VD - 230,於該點因電阻加熱而裝置再度故障。 Figure 2 shows the current versus voltage performance of the bistable nanoelectronic device illustrated in Figures 1A-B. The relatively large slope portion 202 of the IV curve is the lower resistance portion of the IV curve corresponding to the IV curve, as shown in FIG. 1B. The slope of this curve is proportional to the conductivity of the dielectric material between the two electrodes and inversely proportional to the resistivity. The portion 204 of the IV curve having a relatively small amplitude is the portion of the IV curve corresponding to the high resistance portion of the nanoscale electronic device, as shown in FIG. 1A. Starting from the origin 206 of the voltage axis 208 and the current axis 210, and assuming that the nano-electronic device is in a high resistance state as shown in FIG. 1A, an increased positive voltage is applied from the lower electrode to the upper electrode, resulting in crossing the dielectric. The current of the material is rarely increased, as indicated by the right part of the IV curve 204 until the applied positive voltage is close to the voltage V W + 212, at which point the oxygen vacancies rapidly re-distribute throughout the dielectric material or semiconducting material, resulting in a fast current The increase, as indicated by the near vertical portion of the IV curve 204, until point 216 reaches the portion of the IV curve representing the low resistance state. A further increase in the positive voltage results in a relatively large corresponding increase in current along the far right portion 220 of the low resistance IV curve until the voltage V D + 222 is reached, at which point the device fails due to high current flow. The resistance heating of the device produces excess heat. Once at point 216, the low resistance state is reached, and as the applied voltage across the electrode decreases, the low resistance IV curve 202 follows the leftward, descending back to the origin 206; and as the voltage is further reduced to a negative increase in amplitude The voltage, current is switched in the direction and increases in amplitude to point 224, at which point the oxygen vacancies are redistributed back to the close layer close to the lower electrode, as shown in Figure 1A, resulting in a rapid current amplitude flowing through the device. Decrease, and return to the high resistance state of point 226. A further increase in the magnitude of the negative voltage applied across the device ultimately results in a voltage V D - 230 at which point the device fails again due to resistive heating.

奈米級電子裝置的電壓從低電阻態過渡至高電阻態係稱作VW - 232。選擇高電阻態表示布林值「0」,及低電阻態表示布林值「1」,施加正電壓VW +可視為寫-1操作,及施加負電壓VW -可視為寫-0操作。施加中間幅度電壓VR 236可用來詢答目前儲存在奈米級電子裝置之值。當電壓VR係施加至裝置時,及結果當相當大幅度電流流經裝置時,裝置係在低電阻態亦即布林1態;但當極少電流流經裝置時,裝置係在布林0態。如此,第1A-B圖及第2圖例示說明的奈米級電子裝置可用作為奈米級記憶體元件陣列,而此種裝置的二維或三維陣列可採用作為二維及三維記憶體陣列。 The transition of the voltage of the nanoscale electronic device from a low resistance state to a high resistance state is called V W - 232. Select high resistance state to indicate Boolean value "0", and low resistance state to indicate Boolean value "1", apply positive voltage V W + can be regarded as write-1 operation, and apply negative voltage V W - can be regarded as write-0 operation . The application of the intermediate amplitude voltage V R 236 can be used to query the value currently stored in the nanoscale electronic device. When the voltage V R is applied to the device, and as a result of a relatively large current flowing through the device, the device is in a low resistance state, that is, a Boolean 1 state; but when very little current flows through the device, the device is in Bulin 0 state. Thus, the nanoscale electronic devices illustrated in FIGS. 1A-B and 2 may be used as arrays of nanoscale memory devices, and two-dimensional or three-dimensional arrays of such devices may be employed as two-dimensional and three-dimensional memory arrays.

雖然本實例及隨後實例顯示具有兩個不同穩定電子態中之任一者的雙穩材料,但取決於橫過裝置施加的電壓史,有三個或更多個穩態之裝置也可用於各項應用。舉例言之,具有三個穩態之裝置可儲存基極-3數目系統中三個不同值「0」、「1」或「2」中之一者,或可使用三態裝置的三個穩態中之二者來儲存一位元值,具有未經分派態,提供與資訊儲存態更進一步分開。多種情況下,施加電壓來改變雙穩態記憶體元件的狀態。但其它型別的雙穩材料可藉施加其它力及/或梯度切換,包括用於以相變材料為基礎的裝置之溫度。其它型別的裝置可具有電阻態以外的其它 態型別。 While this and subsequent examples show bistable materials having any of two different stable electronic states, depending on the voltage history applied across the device, three or more steady state devices can be used for each application. For example, a device with three steady states can store one of three different values "0", "1" or "2" in the base-3 number system, or three stables using a tri-state device The two of the states store a single value with an unassigned state that provides further separation from the information storage state. In many cases, a voltage is applied to change the state of the bistable memory element. However, other types of bistable materials can be switched by applying other forces and/or gradients, including temperatures for devices based on phase change materials. Other types of devices may have other than resistive states State type.

如前文討論,第2圖提供一型憶阻器切換的理想化描述。但憶阻記憶體元件、及在施加電壓或其它力或梯度下具有非線性特性的其它型別的記憶體元件相對於時間,無法從一個雙穩態一致地切換至另一雙穩態,如同許多其它物理現象,具有機率分布的切換時間。舉個實例,某些憶阻記憶體元件具有切換時間可藉對數-常態機率分布模型化。第3A圖例示說明對數-常態機率密度函式(PDF)。第3A圖中,縱軸302表示相對於施力或梯度的起始時間,於時間t一特定憶阻記憶體元件切換的機率密度,或換言之,時間t係等於施力或梯度用來切換憶阻記憶體元件從第一態至第二態的施加期間,裝置的切換時間t SW 。於第3A圖中橫軸304表示時間t,原點係相對應於開始施加力或梯度的時間t=0。 As discussed above, Figure 2 provides an idealized description of a type of memristor switching. However, memristive memory components, and other types of memory components that have non-linear characteristics under applied voltage or other forces or gradients, cannot switch from one bistable to another bistable, as opposed to time, as Many other physical phenomena have a switching time of probability distribution. For example, some memristive memory elements have a switching time that can be modeled by a log-normal probability distribution. Figure 3A illustrates a log-normal probability density function (PDF). In Fig. 3A, the vertical axis 302 represents the probability density of a specific memristive memory element switching at time t with respect to the start time of the applied force or gradient, or in other words, the time t is equal to the applied force or gradient for switching the recall. The switching time t SW of the device during the application of the memory element from the first state to the second state. In the 3A diagram, the horizontal axis 304 represents the time t , and the origin corresponds to the time t=0 at which the application of the force or gradient is started.

針對第3A圖所示假說對數-常態分布,平均切換時間t為1.0,於該處時間單位諸如奈秒、微秒、或毫秒係取決於特定憶阻元件且係與本討論不相關。於常態機率分布中,或稱作高斯分布,機率分布函式峰係重合隨機變因的平均值。但如第3A圖可知,對數-常態分布的機率密度函式之峰306係移位至獨立變因t的平均值左側。PDF為非對稱性,不似常態或高斯PDF,且具有擴延右側尾308特徵,相對應於下述事實,有顯著機率施加電壓或其它力或梯度的一特定憶阻記憶體元件的實際切換時間可出現在顯著大於平均或均值切換時間的時間。 For the hypothesis log-normal distribution shown in Figure 3A, the average switching time t is 1.0, where time units such as nanoseconds, microseconds, or milliseconds are dependent on a particular memristive element and are not relevant to this discussion. In the normal probability distribution, or Gaussian distribution, the probability distribution function peaks coincide with the average of the random variables. However, as shown in Fig. 3A, the peak 306 of the probability density function of the log-normal distribution is shifted to the left of the mean value of the independent variable t . PDF is asymmetry, not like a normal or Gaussian PDF, and has the feature of extending the right tail 308, corresponding to the fact that there is a significant chance to apply a voltage or other force or gradient to the actual switching of a particular memristive memory element. Time can occur at times significantly greater than the average or mean switching time.

用於多型電子裝置,包括記憶體,商業應用需要極低錯誤率。結果,為了確保在施加特定寫電壓至記憶體時足夠部分的已寫入的記憶體元件確實切換,寫電壓可能需要施加至該記憶體歷經期間數倍於記憶體元件的平均切換時間,或者換言之,針對一時間,使得對常態化PDF,0至施加時間間的PDF下方面積趨近於1.0,至該施加時間右側的PDF下方面積趨近於0。第3B圖顯示針對第3A圖所示對數-常態分布PDF,相對應的累進分布函式(CDF)。縱軸314表示憶的切換時間機率t sw 係小於或等於時間t,及橫軸表示時間t。CDF具有相對延長的影線趨近310於橫虛線,表示相對應於PDF延伸右側尾端的機率1.0。 For multi-type electronic devices, including memory, commercial applications require extremely low error rates. As a result, in order to ensure that a sufficient portion of the written memory element does switch when a particular write voltage is applied to the memory, the write voltage may need to be applied to the memory over the period of time that is equal to the average switching time of the memory element, or in other words For a time, for a normalized PDF, the area under the PDF between 0 and the application time approaches 1.0, and the area under the PDF to the right of the application time approaches 0. Figure 3B shows the corresponding progressive distribution function (CDF) for the log-normal distribution PDF shown in Figure 3A. The vertical axis 314 represents a memory-based switching time t sw probability equal to or less than the time t, and the horizontal axis represents time t. The CDF has a relatively extended hatching approach 310 to the horizontal dashed line, indicating a probability of 1.0 corresponding to the right end of the PDF extension.

模型化憶阻記憶體元件的PDF之合宜表示式係提供如下: 其次提出模型化憶阻記憶體元件的CDF之合宜表示式: 如上表示式中,函式erfc代表互補錯誤函式。PDF及CDF可視為t/τ的分布表示式,於該處的中數值為0及ln(t/τ)為高斯分布。比值t/τ表示由中數切換時間τ標準化的切換時間。參數τ係藉如下表示式而在某些型別的憶阻記憶體元件模型化: The appropriate representation of the PDF of the modeled memristive memory component is provided as follows: Secondly, a suitable expression of the CDF of the modeled memristive memory component is proposed: In the above expression, the function erfc represents a complementary error function. PDF and CDF can be regarded as the distribution expression of t / τ , where the median value is 0 and ln( t / τ ) is a Gaussian distribution. The ratio t / τ represents the switching time normalized by the median switching time τ . The parameter τ is modeled in some types of memristive memory elements by the following expression:

τ ON 為正施加電壓的τ參數,其將憶阻記憶體元件切換成ON態或「1」態,τ OFF 為負施加電壓的τ參數,其將憶阻記憶體元件從「1」或ON態切換成「0」或OFF態。常數a ON a OFF b ON 、及b OFF 為實驗上決定的正實數常數,及v為所施加的切換電壓。 τ ON is the τ parameter of the positive applied voltage, which switches the memristive memory element to the ON state or the "1" state, and τ OFF is the τ parameter of the negative applied voltage, which sets the memristive memory element from "1" or ON. The state is switched to "0" or OFF state. The constants a ON , a OFF , b ON , and b OFF are experimentally determined positive real constants, and v is the applied switching voltage.

多個實例中,採用兩種辦法來設計及製造具成本效益的記憶體及其它資料儲存裝置,使用記憶體元件其特徵為對數-常態分布及/或寬廣分布切換時間PDF,具有期望的資料輸入帶寬。此二辦法可分開使用或組合使用。第4圖例示說明兩種辦法中之第一者,用來改善由憶阻記憶體元件及其它非線性資料儲存裝置材料所具有的切換時間之對數-常態分布效應。第4圖顯示夾置於兩個導體404及406間的單一位元記憶體元件402,讀電壓及寫電壓經此等導體而施加至該記憶體元件。此外,記憶體元件係與一電路元件408相聯結,於第4圖中模型化為電路元件,取決於二輸入信號412與414間之電壓差,輸出一回授信號410。例如於本模型中,當正寫電壓係經由導體404及406施加且記憶體元件402係在兩個雙穩電阻態中之第一者時,回授信號可具有一個電壓值;當寫電壓係經由導體404及406施加且記憶體元件402係在兩個雙穩電阻態中之第二者時,回授信號可具有一個不同電壓值。如此回授信號410通知記憶體元件的電流態的寫控制器或其它記憶體電路。如此如同一個實例,許可寫 電壓施加至記憶體元件歷經將記憶體元件從第一態切換至第二態所需時間長度。如此,至於一個實例,替代施加一寫電壓歷經夠長時間來確保記憶體元件已經切換至某個確定程度,於該處足夠時間係從決定記憶體元件特性的PDF運算,寫電壓施加夠長時間來實際上切換該記憶體元件。如前文參考第3A圖之討論,確保切換至高度確定程度所需寫電壓施加時間可為一特定憶阻記憶體元件的平均切換時間的數倍長,如此回授信號通常導致顯著縮短的平均電壓施加時間。 In several instances, two approaches are used to design and manufacture cost-effective memory and other data storage devices, using memory components characterized by a log-normal distribution and/or a broad distribution switching time PDF with desired data entry. bandwidth. These two methods can be used separately or in combination. Figure 4 illustrates the first of two approaches to improve the log-normal distribution effect of switching time possessed by memristive memory components and other non-linear data storage devices. Figure 4 shows a single bit memory element 402 sandwiched between two conductors 404 and 406 through which a read voltage and a write voltage are applied to the memory element. In addition, the memory component is coupled to a circuit component 408, which is modeled as a circuit component in FIG. 4, and outputs a feedback signal 410 depending on the voltage difference between the two input signals 412 and 414. For example, in the present model, when the write voltage is applied via conductors 404 and 406 and memory element 402 is in the first of two bistable resistance states, the feedback signal can have a voltage value; when the write voltage is The feedback signal can have a different voltage value when applied via conductors 404 and 406 and memory element 402 is tied to the second of the two bistable resistance states. Such a feedback signal 410 informs the write controller or other memory circuit of the current state of the memory device. So like an instance, permission to write The length of time required for the voltage to be applied to the memory element through the switching of the memory element from the first state to the second state. Thus, as an example, instead of applying a write voltage for a long enough time to ensure that the memory component has switched to a certain degree, sufficient time is available for the PDF operation to determine the characteristics of the memory component, and the write voltage is applied for a long time. To actually switch the memory component. As discussed above with reference to FIG. 3A, the write voltage application time required to ensure switching to a high degree of certainty can be several times longer than the average switching time of a particular memristive memory element, such that the feedback signal typically results in a significantly shortened average voltage. Apply time.

第5圖例示說明針對憶阻記憶體元件及其它雙穩態資料儲存材料,改進對數-常態分布切換時間的效應之第二辦法。於第5圖中,輸入量的二進制資料502係以長位元值陣列表示,在陣列裡的各個胞元儲存單一位元值係經分解成為多個長度k的次陣列504-507。此等k陣列然後使用無數不同型別的錯誤控制碼(ECC)中之一者編碼,結果導致添加r個冗餘位元至長度k的各個陣列510。然後編碼次陣列係儲存於記憶體512。當儲存的資料係在讀取操作514期間從記憶體取回時,已編碼的儲存資訊係藉解碼邏輯516解碼而產生k長度的次陣列520-523。一般而言,如下小節討論,添加r個冗餘位元至長度k的各個次陣列,許可各個k長度次陣列內部的某個數目的不正確儲存位元或不正確讀取位元被解碼邏輯校正。如此,於寫/讀過程中,記憶體事有某個數目的位元錯誤而不致導致錯誤資料。至於一個實例,使用ECC,施加寫電壓的時間長度可顯著縮短,而同時達成與 藉使用較長時間施加寫電壓但寫入與讀取未經編碼資訊所達成的相同錯誤率。 Figure 5 illustrates a second approach to improving the effect of log-normal distribution switching time for memristive memory elements and other bistable data storage materials. In Figure 5, the input binary data 502 is represented by an array of long bit values, and each cell in the array stores a single bit value that is decomposed into a plurality of sub-arrays 504-507 of length k . These k- arrays are then encoded using one of a myriad of different types of error control codes (ECCs), resulting in the addition of r redundant bits to each array 510 of length k . The encoded sub-array is then stored in memory 512. When the stored data is retrieved from the memory during the read operation 514, the encoded stored information is decoded by the decode logic 516 to produce a k- length sub-array 520-523. In general, as discussed in the following section, adding r redundant bits to each sub-array of length k permits a certain number of incorrectly stored bits or incorrectly read bits within each k-length sub-array to be decoded logic. Correction. Thus, during the write/read process, the memory has a certain number of bit errors without causing erroneous data. As an example, with ECC, the length of time during which a write voltage is applied can be significantly shortened while at the same time achieving the same error rate as would be achieved by applying a write voltage for a longer period of time but writing and reading unencoded information.

錯誤控制碼 Error control code

錯誤控制碼的優異參考文獻為教科書「錯誤控制碼:基礎與應用」,Lin及Costello,普蘭堤斯廳公司,紐澤西州1983年及「編碼理論入門」,Ron M.Roth,劍橋大學出版社2006年。其次將提出錯誤控制碼使用的錯誤檢測及錯誤校正技術之簡短敘述。額外細節可得自前述教科書,及得自本領域的許多其它教科書、報告、及期刊文章。 The excellent reference for error control codes is the textbook "Error Control Codes: Fundamentals and Applications", Lin and Costello, Plantis Hall, New Jersey, 1983 and "Introduction to Code Theory", Ron M. Roth, Cambridge University Society 2006. Next, a brief description of the error detection and error correction techniques used by the error control code will be presented. Additional details are available from the aforementioned textbooks, as well as many other textbooks, reports, and journal articles from the field.

錯誤控制碼技術有系統地介紹補充位元或符號成為明文訊息,比較絕緣要求使用更大數目的位元或符號來編碼明文訊息,來以編碼訊息形式提供資訊而許可在儲存或傳輸時出現的錯誤被檢測且於某些情況下被校正。當碼字組被視為一向量空間裡的向量,而碼字組間距係為推衍自碼字組的向量扣除的一度量時,補充的或超過絕緣需要的位元或符號的一項效果係增加有效碼字組間距。 The error control code technique systematically introduces the supplementary bit or symbol to be a plaintext message. Comparing the insulation requires using a larger number of bits or symbols to encode the plaintext message to provide information in the form of a coded message for permission to appear during storage or transmission. Errors are detected and corrected in some cases. When the codeword group is treated as a vector in a vector space, and the codeword group spacing is a measure of vector deduction derived from the codeword group, an effect of the bit or symbol that is added or exceeded is required for insulation. Increase the effective codeword spacing.

於錯誤檢測與校正的描述中,有用地係描述欲傳輸、儲存、及取回的資料為一或多個訊息,於該處一訊息μ包含一有序的符號序列μ i ,其為一定義域F的元素。一訊息μ可表示為:μ=(μ 0,μ 1,...μ k-1)於該處μ i F.定義域F為包圍在乘法及加法下的一個集合,包括乘法倒數及加法倒數。於運算錯誤檢測與校正中,常見採用有限定 義域GF(p m ),包含一整數子集,大小係等於質數pm次冪,加及乘運算元定義為在階乘mGF(p)上加及乘模一不可約多項式。實質上常採用二進制定義域GF(2)或二進制擴延域GF(2 m ),後文討論係假定採用定義域GF(2)。常見地,原先訊息係編碼成訊息c,該訊息c也包含定義域GF(2)的一有序元素序列,表示如下:c=(c 0,c 1,...c n-1)於該處c i GF(2). In the description of error detection and correction, it is useful to describe the data to be transmitted, stored, and retrieved as one or more messages, where a message μ contains an ordered sequence of symbols μ i , which is a definition The element of the domain F. A message μ can be expressed as: μ = ( μ 0 , μ 1 , ... μ k -1 ) where μ i F. The definition field F is a set enclosed by multiplication and addition, including multiplication reciprocal and addition reciprocal. The operational error detection and correction, it is common finite domain GF (p m), comprising an integer subset size based equal to m th power of a prime number p of addition and multiplication element is defined as the factorial of m GF (p ) Add and multiply an irreducible polynomial. The binary domain GF (2) or the binary extension domain GF (2 m ) is often used, and the discussion below assumes the domain GF (2). Commonly, the original message is encoded into a message c , which also contains an ordered sequence of elements of the domain GF (2), expressed as follows: c = ( c 0 , c 1 , ... c n -1 ) Where c i GF (2).

區塊編碼技術係以區塊編碼資料。此處討論中,一區塊可視為一訊息μ包含固定數目的符號k,該符號k係被編碼成包含n個符號有序序列之一訊息c。編碼訊息c通常含有比較原先訊息μ更大量的符號,因此n係大於k。於該編碼訊息中的r個額外符號,於該處r係等於n-k,係用來攜帶冗餘檢查資訊,許可在傳輸、儲存、及取回期間產生的錯誤以極高的檢知機率被檢測,且於許多情況下被校正。 Block coding techniques use block coding data. In this discussion, a block can be regarded as a symbol k μ message contains a fixed number, k the symbol train is encoded as an ordered sequence of n symbols one message c. The encoded message c usually contains a larger number of symbols than the original message μ , so the n is greater than k . r additional symbols in the encoded message, where r is equal to n - k , used to carry redundant check information, permitting errors generated during transmission, storage, and retrieval with extremely high probability of detection It is detected and corrected in many cases.

於一線性塊碼中,2 k 碼字組形成於定義域GF(2)上的全部n元組的向量空間之一k維子空間。一碼字組的漢明權值乃該碼字組中的非零元素數目,及兩個碼字組間的漢明距離為該兩個碼字組相異的元素數目。舉例言之,考慮如下兩個碼字組ab,假設元素係來自二進制定義域:a=(10011) To a linear block code, k 2 k-dimensional codeword subspace group forming one of the vector space of all n-tuples of the (2) in the domain GF. The Hamming weight of a codeword group is the number of non-zero elements in the codeword group, and the Hamming distance between the two codeword groups is the number of elements different from the two codeword groups. For example, consider the following two codeword groups a and b , assuming that the elements are from the binary domain: a = (10011)

b=(10001).碼字組a具有漢明權值3,碼字組b具有漢明權值2,及碼字 組a及b間之漢明距離為1,原因在於碼字組a及b不同有四個元素。線性塊碼經常標示以三元素元組[n,k,d],於該處n為碼字組長度,k為訊息長度,或相當地,碼字組數目之底數為2的對數,及d為不同碼字組間之最小漢明距離,等於該代碼中的最小漢明權值非零碼字組。 b = (10001). The codeword group a has a Hamming weight value of 3, the codeword group b has a Hamming weight value of 2, and the Hamming distance between the codeword groups a and b is 1, because the codeword group a and b has four different elements. Linear block codes are often labeled with a three-element tuple [n, k, d] , where n is the length of the codeword group, k is the length of the message, or equivalently, the base of the number of codeword groups is a logarithm of 2, and d The minimum Hamming distance between different codeword groups is equal to the minimum Hamming weight non-zero codeword group in the code.

用於傳輸、儲存、及取回的資料之編碼,及隨後該已編碼資料之解碼,當於資料的傳輸、儲存、及取回期間未出現錯誤時,可以符號表示如下:μc(s) → c(r) → μ於該處c(s)為傳輸前的已編碼訊息,及c(r)為最初取回的或接收的訊息。如此,初始訊息μ係經編碼來產生已編碼訊息c(s),然後經傳輸、儲存、或傳輸且儲存,及然後接著取回或接收為初步接收訊息c(r)。當不訛誤時,然後初步接收訊息c(r)經解碼來產生原先訊息μ。如上指示,當未發生錯誤時,原先已編碼訊息c(s)係等於初步接收訊息c(r),且初步接收訊息c(r)未經錯誤校正而直捷地解碼成為原先訊息μThe encoding of the data used for transmission, storage, and retrieval, and subsequent decoding of the encoded data, when no error occurs during the transmission, storage, and retrieval of the data, may be symbolized as follows: μc ( sc ( r ) → μ where c(s) is the encoded message before transmission, and c(r) is the message originally retrieved or received. Thus, the initial message μ is encoded to produce the encoded message c(s) , which is then transmitted, stored, or transmitted and stored, and then retrieved or received as the initial received message c(r) . When not delayed, the initial received message c(r) is decoded to produce the original message μ . As indicated above, when no error occurs, the originally encoded message c(s) is equal to the initial received message c(r) , and the preliminary received message c ( r ) is decoded directly into the original message μ without error correction.

當於一已編碼訊息的傳輸、儲存、及取回期間產生錯誤時,訊息編碼與解碼可表示如下:μ(s) → c(s) → c(r) → μ(r).如此,如前述,終訊息μ(r)可等於或可不等於初步訊息μ(s),取決於採用來編碼原先訊息μ(s)與解碼或重建初步接收訊息c(r)而產生終接收訊息μ(r)的錯誤檢測與錯誤校正技術的保真度。錯誤檢測為決定下式的處理程序:c(r)≠c(s) 而錯誤校正為從訛誤的初步接收訊息而重建初始編碼訊息之處理程序:c(r) → c(s). When an error occurs during transmission, storage, and retrieval of an encoded message, the message encoding and decoding can be expressed as follows: μ ( s ) → c ( s ) → c ( r ) → μ ( r ). In the foregoing, the final message μ(r) may or may not be equal to the preliminary message μ(s) , and the final received message μ(r ) is generated depending on the encoding of the original message μ(s) and decoding or reconstructing the preliminary received message c(r) . ) the fidelity of the error detection and error correction techniques. Error detection is a process that determines the following formula: c ( r ) ≠ c ( s ) and the error is corrected to the process of reconstructing the initial encoded message from the initial received message: c ( r ) → c ( s ).

編碼處理為一處理程序,藉此,以符號μ表示的訊息被變換成編碼訊息c。另外,訊息μ可被視為包含得自由元素F組成的字母表之符號的有序集合,及編碼訊息c可被視為一碼字組,也包含得自由元素F組成的字母表之符號的有序集合。字組μ可為選自F元素的k個符號的任何有序集合,而碼字組c係定義為透過編碼處理選自F元素的n個符號之一有序序列:{cμc}. The encoding process is a processing procedure whereby the message represented by the symbol μ is transformed into the encoded message c . In addition, the message μ can be regarded as an ordered set containing the symbols of the alphabet composed of the free elements F , and the encoded message c can be regarded as a codeword group, and also contains the symbols of the alphabet composed of the free elements F. Ordered collection. The block μ may be any ordered set of k symbols selected from the F element, and the code block c is defined as an ordered sequence of n symbols selected from the F element by encoding: { c : μc }.

線性區塊編碼技術藉考慮字組μ為k維向量空間裡的一向量,且將向量μ乘以生成矩陣而編碼長度k的字組,如下式:c=μG.以標記法擴充上式中的符號產生以下任一表示式: 於該處 g i =(g i,0,g i,1,g i,2...g i,n-1). The linear block coding technique encodes a block of length k by considering the block μ as a vector in the k-dimensional vector space and multiplying the vector μ by a generator matrix, as follows: c = μ . G. Extending the symbols in the above formula by the notation produces one of the following expressions: Where g i =( g i ,0 , g i ,1 , g i , 2 ... g i , n -1 ).

線性塊碼的生成矩陣G具有下述形式: 或另外:G k,n =[P k,r |I k,k ].如此,生成矩陣G可置於以kxk身分矩陣Ik,k擴大的矩陣P形式。另外生成矩陣G可具有下示形式:G k,n =[I k,k |P k,r ].由此種形式的生成矩陣所產生的代碼稱作為「系統性代碼」。當具有如上第一形式的生成矩陣係施加至一字元μ時,所得碼字組c具有下示形式:c=(c 0,c 1,...,c r-1,μ 0,μ 1,...,μ k-1)於該處c i =μ 0 p 0,i +μ 1 p 1,i ,...,μ k-1 p k-1,i )。使用第二形式的一生成矩陣,碼字組係以尾同位核對位元產生。如此,於一系統線性塊碼中,碼字組包含r個同位核對符碼c i 接著為k個包含原先字元μ的符碼,或為k個包含原先字元μ的符碼接著為r個同位核對符碼。當未發生錯誤時,原先字元或訊息μ係以明文形式出現在相對應碼字組內或容易地擷取自相對應碼字組。同位核對符碼結果為原先訊息的符碼的線性組合,或字元μThe generation matrix G of the linear block code has the following form: Or in addition: G k , n =[ P k , r | I k , k ]. Thus, the generator matrix G can be placed in the form of a matrix P expanded by the kxk identity matrix I k,k . Further, the generator matrix G may have the following form: G k , n = [ I k , k | P k , r ]. The code generated by the generator matrix of this form is referred to as a "systematic code". When a generator matrix having the first form as above is applied to a character μ , the resulting codeword group c has the following form: c = ( c 0 , c 1 , ..., c r -1 , μ 0 , μ 1 ,..., μ k -1 ) where c i = μ 0 p 0, i + μ 1 p 1, i , ..., μ k -1 p k -1, i ). Using a generator matrix of the second form, the codeword group is generated with a tail parity check bit. Thus, in a systematic linear block code, the codeword group includes r co-located reconciliation codes c i followed by k symbols containing the original character μ , or k symbols containing the original character μ followed by r A parity check code. When no error occurs, the original character or message μ appears in the corresponding codeword group in plain text or is easily retrieved from the corresponding codeword group. The parity check result is a linear combination of the symbols of the original message, or the character μ .

第二有用矩陣之一個形式為同位核對矩陣H r,n 定義為:H r,n =[I r,r |-P T ] 或相當地, 同位核對矩陣可用於系統性錯誤檢測及錯誤校正。錯誤檢測及錯誤校正涉及從初始接收的或取回的訊息c(r)運算一校驗位S如下:S=(s 0,s 1,...,s r-1)=c(r).H T 於該處H T 為同位核對矩陣H r,n 的轉置,表示為: 注意當採用二進制定義域時,x=-x,故通常並不顯示如上於H T 顯示的負號。 One form of the second useful matrix is the parity check matrix H r,n defined as: H r,n =[ I r,r |- P T ] or, The parity check matrix can be used for systematic error detection and error correction. Error detection and error correction involves calculating a parity S from the initially received or retrieved message c(r) as follows: S = ( s 0 , s 1 , ..., s r -1 ) = c ( r ) . Where H T H T in the parity check matrix of H r, n transpose, expressed as: Note that when binary definition fields are used, x = -x, so the negative sign shown above for H T is usually not displayed.

校驗位S係用於錯誤檢測及錯誤校正。當校驗位S為全0向量,則於該碼字組未檢測得錯誤。當校驗位包括有數值「1」的位元時指示錯誤。具有從校驗位及碼字組運算估計錯誤向量ê的技術,當藉模-2加法加至該碼字組時,產生原先訊息μ的最佳估值。用以產生錯誤向量ê的細節係提出於前述脈絡中。注意可檢測得高達某個最大錯誤數目,而少 於可檢測的該最大錯誤數目可被校正。 The check bit S is used for error detection and error correction. When the parity S is an all-zero vector, no error is detected in the codeword group. An error is indicated when the check digit includes a bit with the value "1". There is a technique for estimating the error vector ê from the check bit and the code block operation, and when the modulo-2 addition is added to the code block, the best estimate of the original message μ is generated. The details used to generate the error vector ê are presented in the aforementioned context. Note that up to a certain maximum number of errors can be detected, and less than the maximum number of errors that can be detected can be corrected.

假說寫方法 Hypothesis writing method

第6A-B圖例示說明施加切換脈衝至一憶阻記憶體元件或其它非線性資料儲存材料。用於後文大量討論,考慮施加一個切換脈衝或多個切換脈衝。一個切換脈衝可為施加正電壓v ON 602歷經時間週期t 604,或施加負電壓v OFF 606歷經時間週期t 608。任一種情況下,適當τ參數係選自τ ON τ OFF 用以運算合宜對數-常態切換時間PDF及相對應CDF相由此可決定一脈衝T的時間,於該處T為平均切換時間的倍數為單位,提供高於相對應於一最大期望位元錯誤率(BER)之一特定最低切換機率,該等記憶體元件切換的機率。 Figures 6A-B illustrate the application of switching pulses to a memristive memory element or other non-linear data storage material. For a large discussion later, consider applying a switching pulse or multiple switching pulses. One switching pulse can be a positive voltage v ON 602 over a time period t 604, or a negative voltage v OFF 606 over a time period t 608. In either case, the appropriate τ parameter is selected from τ ON and τ OFF to calculate the appropriate log-normal switching time PDF and the corresponding CDF phase from which the time of a pulse T can be determined, where T is the average switching time. The multiple is a unit that provides a probability of switching between the memory elements above a specific minimum switching probability corresponding to a maximum expected bit error rate (BER).

針對一給定元件的切換失敗機率P b (T),或多重記憶體元件裝置的位元錯誤率係從前文討論的對數-常態CDF運算如下: 於該處F τ,σ (T)乃前文討論的CDF。於後文討論中,為求簡明,忽略不計導通切換與關斷切換間的非對稱性,如同下述情況,其中成功地施加寫操作不改變記憶體元件狀態,因此寫操作失敗不改變記憶體元件狀態。忽略此等情況不會改變各種方法間的比較,容後詳述。於後文討論中,憶阻記憶體元件及其它非線性資料儲存材料的切換失敗係模型化為二進制對稱性嘈雜通道。 The switching failure probability P b (T) for a given component, or the bit error rate of a multiple memory device device is as follows from the log-normal CDF operation discussed above: Here, F τ , σ (T) is the CDF discussed above. In the following discussion, for the sake of brevity, the asymmetry between the on-switching and the off-switching is ignored, as in the case where the successful application of the write operation does not change the state of the memory element, so the write operation fails without changing the memory. Component status. Ignoring these conditions does not change the comparison between the various methods, as detailed later. In the following discussion, the switching failure of memristive memory components and other non-linear data storage materials is modeled as binary symmetric noisy channels.

於後文討論中,當採用ECC時,假設代碼C為[n,k,d]代碼,因此出現在寫入及/或讀取各個碼字組的位元錯誤高達 (d-1)/2可經校正。當然,從位元錯誤復原的能力係犧牲添加至各組長度k的二進制資訊位元的冗餘位元r,結果導致一資訊率R定義如下:資訊率=R=k/n In the following discussion, when ECC is adopted, it is assumed that the code C is a [n, k, d] code, so that the bit error occurring in writing and/or reading each code block is as high as ( d -1)/2 Can be corrected. Of course, the ability to recover from bit errors sacrifices the redundant bits r added to the binary information bits of each group length k, resulting in an information rate R defined as follows: Information rate = R = k / n

R<1用於已編碼資訊 R <1 for coded information

R=1用於未經編碼資訊。 R =1 is used for unencoded information.

如前文討論,當未經編碼資訊係儲存於記憶體及從其中取回時,假設讀取所儲存的資訊期間未發生錯誤,從記憶體取回的資訊中的錯誤位元分量為P b ,亦即切換失敗機率或BER。當已編碼資訊係儲存於記憶體隨後取回且由錯誤校正解碼器處理時,BER 為: As discussed above, when the unencoded information is stored in and retrieved from the memory, it is assumed that no error occurred during the reading of the stored information, and the error bit component in the information retrieved from the memory is P b , That is, the failure probability or BER is switched. BER when the encoded information is stored in memory and subsequently retrieved and processed by the error correction decoder for:

於該處s==可藉代碼C亦即[n,k,d]代碼校正的最大位元數目於本表示式中,全部錯誤樣式的機率,包括超過可藉ECC校正的最大錯誤數目之一錯誤數目,係經加總及除以n亦即碼字組長度。 Where s = = the maximum number of bits that can be corrected by the code C, ie [n, k, d] code. In this expression, the probability of all error patterns, including the number of errors exceeding the maximum number of errors that can be corrected by ECC, is Add and divide by n, which is the length of the codeword group.

其次,考慮前文參考第4及5圖討論的採用回授信號及ECC中之一或二者的多種不同資料寫入方法。首先摘述此等討論所使用的各種習知標記法。 Second, consider the various different data writing methods using one or both of the feedback signal and the ECC discussed above with reference to Figures 4 and 5. First, various conventional notation methods used in these discussions are summarized.

用於單一脈衝法,施加寫脈衝或用來切換一記憶體元件的其它力或梯度的總時間Tt係等於T單一脈衝時間。用於多重脈衝法,Tt係等於多個脈衝和: T t =T 0+...+T i .平均電壓施加時間T avg 為期望總施加時間:T avg=E(T t ).用於單一脈衝法,T avg =T。對於採用ECC方法的每個位元之平均電壓施加時間為: 考慮寫入增加冗餘位元的額外時間。最後,針對一特定資料寫入方法w,每個資訊位元的能量消耗或記憶體帶寬的增益G或預期節省為: 於該處G係以分貝表示;T avg,r 為針對如下討論的未經編碼一脈衝方案的預期脈衝長度;T avg,w 為針對特定資料寫入方法的每個位元平均脈衝時間。 For a single pulse method, the total time T t applied to write pulses or other forces or gradients used to switch a memory element is equal to T single pulse time. For multiple pulse method, T t is equal to multiple pulses and: T t = T 0 +... + T i . Average voltage application time T avg is the desired total application time: T avg =E( T t ). In the single pulse method, T avg =T. Average voltage application time per bit using the ECC method for: Consider the extra time to write additional redundant bits. Finally, for a particular data write method w, the energy consumption or memory bandwidth gain G or expected savings for each information bit is: Where G is expressed in decibels; T avg , r is the expected pulse length for the uncoded one-pulse scheme discussed below; T avg , w is the average pulse time per bit for a particular data writing method.

因此,下列比較、未經編碼BER Pb、已編碼BER 、採用來寫入資料的施加電壓或其它力及/或梯度的總時間Tt、多重脈衝法的平均施加時間T avg 、每個位元之平均電壓施加時間、及增益G係經評估來輔助不同資料寫入法的比較。雖然為當比較不同寫方法間的能量消耗與記憶體帶寬時適合使用的優數,但T avg T max反映出裝置磨耗及最惡劣狀況潛在考量。 Therefore, the following comparisons, uncoded BER P b , coded BER The total time T t of the applied voltage or other force and/or gradient used to write the data, the average application time T avg of the multiple pulse method, and the average voltage application time per bit And the gain G is evaluated to aid in the comparison of different data writing methods. although It is a good number to be used when comparing the energy consumption between different writing methods and the memory bandwidth, but T avg and T max reflect the device wear and the worst case potential considerations.

如前文討論,確保資料儲存在具有切換時間的對數-常 態分布之記憶體元件的裝置內之高度可信度所需之用以改進潛在長期寫電壓施加時間的一個辦法係使用回授信號,許可記憶體控制器在擇定的時間點決定是否已經切換特定記憶體元件。須注意此種用來縮短寫電壓平均施加時間的以回授信號為基礎的方法遭致額外電路及電路元件的顯著成本。同理,如前文討論,藉使用ECC所提供的校正錯誤能力涉及儲存額外冗餘位元,減低記憶體裝置的資訊率。 As discussed earlier, ensure that the data is stored in a logarithm with switching time - often One way to improve the potential for long-term write voltage application is to use a feedback signal that allows the memory controller to decide whether to switch at a selected point in time. Specific memory components. It should be noted that this feedback-based method, which is used to reduce the average application time of the write voltage, is subject to significant cost of additional circuitry and circuit components. Similarly, as discussed above, the ability to correct errors provided by ECC involves storing additional redundant bits and reducing the information rate of the memory device.

後文討論中,做了各式簡化。舉例言之,以上對提供的表示式中,假設當一個碼字組多於s個位元為訛誤時,解碼器經常失敗,或者換言之,解碼器經常可檢測無法校正的錯誤樣式。當解碼器檢測得一無法校正的錯誤樣式時,解碼器繼續試圖解碼碼字組,但未導入額外錯誤。實際上,情況並非經常如此。有少數可能解碼器將針對一無法校正的錯誤樣式產生不正確解碼的碼字組。假設此項可能性被忽略,在實際上為合理,原因在於做該項假設並不會顯著影響總BER運算結果。 In the following discussion, various simplifications were made. For example, the above pairs In the expression provided, it is assumed that when more than s bits of a codeword group are corrupted, the decoder often fails, or in other words, the decoder can often detect an uncorrectable error pattern. When the decoder detects an uncorrectable error pattern, the decoder continues to attempt to decode the codeword group, but no additional errors are imported. In fact, this is not always the case. There are a few possible decoders that will generate incorrectly decoded codeword groups for an uncorrectable error pattern. Assuming that this possibility is ignored, it is actually reasonable because the assumption does not significantly affect the overall BER operation.

針對具有對數-常態分布切換時間特徵的記憶體元件之裝置,有多個不同參數可經最佳化。舉例言之,施加寫電壓或其它力或梯度期間,除了改變長度T及脈衝數外,電壓本身可變更,更高電壓通常減少達成特定BER需要的平均脈衝時間,但同時也增加記憶體或其它資料儲存裝置耗用來儲存資訊的能量。但於許多情況下,結果在可施加的寫電壓範圍內並無最佳寫電壓,反而使用更大幅度寫電壓通常導致耗用較低能量。換言之,施加至記憶體元件的寫 電壓愈大,則需要施加寫電壓的時間愈短,且較少總能量耗用在切換一記憶體元件。當然,於某一點,增高寫電壓導致裝置的故障,裝置的使用壽命也可能受高寫電壓的使用帶來負面影響。至於另一個實例,如前文討論,藉如上提出的PDF及CDF表示式模型化的切換時間之自然對數的變因σ係取決於所施加的寫電壓。但同調性弱,因而不構成最佳化參數的良好候選者。 For devices having memory elements with log-normal distribution switching time characteristics, there are a number of different parameters that can be optimized. For example, during the application of a write voltage or other force or gradient, in addition to changing the length T and the number of pulses, the voltage itself can be changed. Higher voltages typically reduce the average pulse time required to achieve a particular BER, but also increase memory or other The data storage device consumes energy for storing information. In many cases, however, there is no optimum write voltage over the range of write voltages that can be applied. Instead, using a larger write voltage typically results in lower energy consumption. In other words, the write applied to the memory component The higher the voltage, the shorter the time required to apply the write voltage and the less total energy used to switch a memory component. Of course, at some point, increasing the write voltage causes the device to malfunction, and the lifetime of the device may also be adversely affected by the use of high write voltage. As another example, as discussed above, the natural logarithm of the switching time modeled by the PDF and CDF representations set forth above is dependent on the applied write voltage. However, the coherence is weak and thus does not constitute a good candidate for the optimization parameters.

如前述,於後文討論中,施加時間係以τ為單位報告,或換言之,隨機變因為t/τ。於後文討論中,結果係以時間標度獨立方式提供。以下對各種資訊寫入法的各個參數之運算中,使用二進制柏雷霍(Bose,Ray-Chaudhuri,Hocquenghem(BCH))ECC代碼C。此一代碼為[4304,4096,33]ECC,具有R0.952,對每4096位元代碼區域可校正高達16個隨機錯誤。於後文討論中,此一特定代碼係為了良好效能而用在校正切換失敗錯誤,但於實際記憶體系統中,選擇代碼的額外考量也含括代碼故障模式型別及代碼適當處置各型相關性多重位元錯誤的能力。於後文分析中,考慮兩個不同目標BER位準:(1)P b =10-12,表示目前儲存裝置的BER位準低端,且係相對應於儲存兩小時高畫質影片而無預期錯誤;及(2)P b =10-23,表示未來期望的BER位準。 As described above, in the following discussion, the application time is reported in units of τ , or in other words, randomly changed due to t/τ . In the discussion that follows, the results are provided on a time scale independent basis. In the following calculations for various parameters of various information writing methods, a Bose (Ray-Chaudhuri, Hocquenghem (BCH)) ECC code C is used . This code is [4304, 4096, 33] ECC with R 0.952, up to 16 random errors can be corrected for every 4096 bit code area. In the following discussion, this particular code is used to correct switching failure errors for good performance, but in the actual memory system, the additional considerations of the selection code also include the code failure mode type and the code appropriate handling of each type. The ability to make multiple bit errors. In the following analysis, consider two different target BER levels: (1) P b = 10 -12 , which means that the BER level of the current storage device is low, and it corresponds to storing two hours of high-definition video without Expected error; and (2) P b =10 -23 , indicating the expected BER level in the future.

第7A-F圖例示說明用以將資料寫至包括記憶體元件以對數-常態分布切換時間為其特徵的一記憶體裝置之六種資料寫入方法。此等方法組成假說實驗,其中六種資料寫 入方法係由首先將資料寫至記憶體及然後將資料從記憶體回寫所決定。如後文討論,基於對數-常態分布PDF及CDF連同其它假設及考慮,可針對此等假說實驗估計參數。 The 7A-F diagram illustrates six data writing methods for writing data to a memory device including a memory element characterized by a log-normal distribution switching time. These methods form a hypothesis experiment in which six kinds of data are written. The method of entry is determined by first writing the data to the memory and then writing the data back from the memory. As discussed later, based on the log-normal distribution PDF and CDF along with other assumptions and considerations, parameters can be estimated for such hypothesis experiments.

於第一方法中,如第7A圖顯示,稱作為「一個脈衝未經編碼寫方法」,於步驟702,資料係使用長度T的單一脈衝而寫至記憶體;於步驟703,從該記憶體回讀;及於步驟704,從該記憶體回讀的資料係與最初寫至該記憶體的資料作比較來決定該一個脈衝未經編碼寫方法的位元錯誤率(BER)。當然,該實驗將重複多次,或將測試多個記憶體元件,或二者來達成統計上的有意義結果。一個脈衝未經編碼寫方法表示參考點,如下採用錯誤控制碼(ECC)及回授信號中之一或多者的額外方法將與該參考點作比較。如第7B圖顯示,於一個脈衝已編碼方法中,於步驟706,資料係先編碼成碼字組,及然後於步驟707,使用長度T的單一寫脈衝而寫入記憶體。於步驟708,資料係從記憶體回讀,且於步驟709解碼,隨後於步驟710,已解碼資料係與原先儲存入記憶體的資料作比較來針對一個脈衝已編碼方法獲得BER。於第7C圖所示多重脈衝未經編碼方法中,資料係以多個脈衝寫入。於步驟712-716的針對-迴路中,一序列脈衝用來試圖將資料寫入記憶體。於針對-迴路的各次迴代重複中,資料係試圖使用下個長度Ti的脈衝寫入,於該處i為一迭代重複變因指示目前迭代重複的數目或指數。然後於步驟714,從回授致能記憶體元件所提供的回授信號被考慮來決定資料是否已經正確地寫至記憶體。另外,可讀取記憶 體元件來確認已經發生切換。當資料尚未正確地寫至記憶體時,及當目前迭代指數i係小於迭代結束值num時,如於步驟715決定,然後進行針對-迴路的下一次迭代重複。否則,於步驟717,資料係從記憶體讀回且與寫至記憶體的資料作比較來決定得自該多重脈衝未經編碼方法的BER。如前文討論,脈衝時間和T 0 +...+T i 等於總脈衝時間T t ,又轉而小於或等於特定最大電壓施加時間T max。為了模型化此種及相關方法,假設切換機率係與在寫操作中施加至記憶體元件的一或多個脈衝之總累進電壓施加時間有關。換言之,以三個1秒脈衝施加寫電壓係等於施加該寫電壓歷經單一3秒脈衝。第7D圖顯示的多重脈衝已編碼方法係類似如上參考第7C圖討論的多重脈衝未經編碼方法,但於步驟720,資料係首先使用ECC編碼,及隨後於步驟722解碼。 In the first method, as shown in FIG. 7A, referred to as "a pulse uncoded writing method", in step 702, the data is written to the memory using a single pulse of length T; in step 703, from the memory Reading back; and in step 704, the data read back from the memory is compared with the data originally written to the memory to determine the bit error rate (BER) of the one pulse uncoded write method. Of course, the experiment will be repeated multiple times, or multiple memory elements will be tested, or both, to achieve statistically meaningful results. A pulse uncoded write method represents a reference point, which is compared to an additional method using one or more of an error control code (ECC) and a feedback signal as follows. As shown in FIG. 7B, in a pulse encoded method, in step 706, the data is first encoded into a codeword group, and then in step 707, the memory is written using a single write pulse of length T. In step 708, the data is read back from the memory and decoded in step 709. Then, in step 710, the decoded data is compared to the data originally stored in the memory to obtain the BER for a pulse encoded method. In the multi-pulse uncoded method shown in Fig. 7C, the data is written in multiple pulses. In the target loop of steps 712-716, a sequence of pulses is used to attempt to write data to the memory. In each iteration of the back-loop, the data is attempted to use a pulse of the next length T i , where i is an iterative repeating variable indicating the number or exponent of the current iteration. Then at step 714, the feedback signal provided from the feedback enabled memory component is considered to determine if the material has been correctly written to the memory. In addition, the memory component can be read to confirm that a switch has occurred. When the data has not been correctly written to the memory, and when the current iteration index i is less than the iteration end value num, as determined in step 715, then the next iteration of the loop is performed. Otherwise, in step 717, the data is read back from the memory and compared to the data written to the memory to determine the BER derived from the multi-pulse uncoded method. As previously discussed, the pulse time and T 0 +...+ T i are equal to the total pulse time T t and in turn are less than or equal to a particular maximum voltage application time T max . To model this and related methods, it is assumed that the switching probability is related to the total progressive voltage application time of one or more pulses applied to the memory element during a write operation. In other words, applying a write voltage with three 1 second pulses is equivalent to applying the write voltage over a single 3 second pulse. The multi-pulse encoded method shown in Figure 7D is similar to the multi-pulse unencoded method discussed above with reference to Figure 7C, but in step 720, the data is first encoded using ECC, and then decoded at step 722.

第7E圖顯示連續未經編碼方法。該連續未經編碼方法係相當於多重脈衝未經編碼方法的極限,於該處脈衝時間Ti係縮短至無限小週期,一起加總至最大電壓施加時間T max。於步驟724,寫電壓係施加至記憶體裝置來開始將資料寫至該裝置內部的記憶體元件。然後,於步驟725-726的當-迴路中,來自記憶體元件的回授信號係經連續地監測來決定何時欲藉施加寫電壓而切換的該等記憶體元件係實際上切換至其期望狀態。當發生時,當-迴路結束,於步驟727資料係從記憶體回讀,及於步驟728,該資料係與原先寫入資料作比較來決定連續未經編碼方法的BER。第7F圖顯示的連續已編碼方法係類似連續未經編碼方法,但於步驟 730,資料係首先使用ECC編碼,及在從記憶體讀出後,於步驟732隨後被解碼。 Figure 7E shows a continuous unencoded method. This continuous uncoded method is equivalent to the limit of the multi-pulse uncoded method, where the pulse time T i is shortened to an infinitesimal period, and summed together to the maximum voltage application time T max . At step 724, a write voltage is applied to the memory device to begin writing data to the memory elements internal to the device. Then, in the in-loop of steps 725-726, the feedback signal from the memory component is continuously monitored to determine when the memory component to be switched by applying the write voltage actually switches to its desired state. . When it occurs, when the - loop ends, the data is read back from the memory in step 727, and in step 728, the data is compared to the previously written data to determine the BER of the continuous uncoded method. The continuous encoded method shown in Figure 7F is similar to the continuous unencoded method, but in step 730, the data is first encoded using ECC and, after being read from the memory, subsequently decoded in step 732.

第7A-F圖例示說明之全部方法表示假說資料儲存方法,於一個脈衝未經編碼方法中,既未採用回授也無ECC,或採用回授及ECC中之一或二者。回授係採用於多重脈衝未經編碼及多重脈衝已編碼方法以及連續未經編碼及連續已編碼方法。ECC係採用於一個脈衝已編碼方法、多重脈衝已編碼方法、及連續已編碼方法。針對一脈衝法,T avg=T max=T。針對一脈衝已編碼法,=T avg/R。針對一脈衝未經編碼法,=T avgAll of the methods illustrated in Figures 7A-F represent a hypothesis data storage method in which neither feedback nor ECC, or one or both of feedback and ECC, is employed in a pulse unencoded method. The feedback system is used in a multi-pulse uncoded and multi-pulse coded method as well as a continuous uncoded and continuous coded method. The ECC is based on a pulse-encoded method, a multi-pulse coded method, and a continuous coded method. For a pulse method, T avg = T max = T . For a pulse encoded method, = T avg / R . For a pulse unencoded method, = T avg .

各種寫方法的分析 Analysis of various writing methods

本節中討論參考第7A-F圖討論的各種寫方法的分析辦法。分析提供如上討論的各個參考包括T avg 、及G的估值。各個分析結果討論於如下小節。 The analysis methods for the various writing methods discussed with reference to Figures 7A-F are discussed in this section. The analysis provides various references as discussed above including T avg , And the valuation of G. The results of each analysis are discussed in the following subsections.

於一個脈衝方法中,T的選擇決定所儲存資料的輸入BER P b (T),其在已編碼方法中係假設已經以C編碼。然後使用前述BCH代碼的參數n=4304,s=16估計已編碼方法的輸出BER。 In a pulse method, the choice of T determines the input BER P b (T) of the stored data, which is assumed to have been encoded in C in the encoded method. The output BER of the encoded method is then estimated using the parameters n = 4304, s = 16 of the aforementioned BCH code.

使用二脈衝的多重脈衝寫方法乃最簡單的具有回授的資料寫入法。施加時間T 1 的初脈衝及感測裝置的狀態。當發現裝置已經切換至期間的目標狀態時,寫操作被視為完成。當裝置未曾切換時,施加持續時間T max-T 1 的額外脈衝,於該處T max>T 1 。注意雖然在時間T 1 中斷操作會縮短平均總脈衝時間,但切換失敗機率仍由T max決定,結果 P b =1-F τ,σ (T max)。預期總脈衝時間為T avg(T max,T 1)=F τ,σ (T 1)T 1+(1-F τ,σ (T 1))T max.給定一Pb之目標值,可求出最小化T avg 的T1值。確實,容易證實T avg(T max,0)=T avg(T max,T max)=T max,及作為T1之函式,T avg 在區間(0,T max)具有鮮明的最小值。第8圖例示說明在二脈衝寫方法中,施加寫電壓的總預期時間T avg 對第一脈衝長度T 1 的相依性。為了找出最小化T avg T 1 值,在取代如上提供的F τ,σ 的完整表示式後,如上表示式的右側經微分,且針對導數零之數值求解,表示為T 1 opt (T max)。則最佳預期總脈衝長度係以T avg(T max,T 1 opt(T max))給定。 The multi-pulse writing method using two pulses is the simplest data writing method with feedback. The initial pulse of time T 1 and the state of the sensing device are applied. When the device is found to have switched to the target state during the period, the write operation is considered complete. When the device has not switched, an additional pulse of duration T max - T 1 is applied, where T max > T 1 . Note that although interrupting the operation at time T 1 will shorten the average total pulse time, the probability of switching failure is still determined by T max , resulting in P b = 1 - F τ , σ ( T max ). The expected total pulse time is T avg ( T max , T 1 )= F τ , σ ( T 1 ) T 1 +(1 - F τ , σ ( T 1 )) T max . Given a target value of P b , The T 1 value of the minimized T avg can be found. Indeed, it is easy to confirm that T avg ( T max ,0)= T avg ( T max , T max )= T max , and as a function of T 1 , T avg has a sharp minimum in the interval (0, T max ). Fig. 8 exemplifies the dependence of the total expected time T avg of the applied write voltage on the first pulse length T 1 in the two-pulse writing method. In order to find the T 1 value that minimizes T avg , after substituting the complete expression of F τ , σ as provided above, the right side of the above expression is differentiated and solved for the value of derivative zero, denoted as T 1 opt ( T max ). The best expected total pulse length is given by T avg ( T max , T 1 opt ( T max )).

針對二進制對稱性嘈雜通道,2-脈衝法係與1-脈衝法相同,但預期遠更短的脈衝及相對應地,遠更低的能量係用來獲得相同BER。最惡劣狀況持續時間係與1-脈衝情況相同。也如同1-脈衝情況,使用ECC,結果導致預期脈衝長度及能量消耗的更進一步減低,但此外,結果導致最惡劣情況對平均脈衝長度比大為減低。 For binary symmetric noisy channels, the 2-pulse method is the same as the 1-pulse method, but far shorter pulses are expected and, correspondingly, far lower energy is used to obtain the same BER. The worst case duration is the same as for the 1-pulse case. Also, as in the 1-pulse case, ECC is used, resulting in a further reduction in the expected pulse length and energy consumption, but in addition, the result is that the worst case vs. average pulse length ratio is greatly reduced.

3-脈衝寫方法係以類似2-脈衝寫方法之方式分析,但記憶體元件狀態的感測係許可在離散時間T 1 T 2 進行,0 T 1 T 2 T max。預期總脈衝長度係以下式給定:T avg(T max,T 1,T 2)=F τ,σ (T 1)T 1+(F τ,σ (T 2)-F τ,σ (T 1))T 2+(1-F τ,σ (T 2))T max.針對相對應於P b 目標值的T max之一給定值,T avg 具有T 1 T 2 的全球最小值,就T 1 T 2 取偏導數且利用數值方法解出所得方程組,容易找出該最小值。 The 3-pulse writing method is analyzed in a manner similar to the 2-pulse writing method, but the sensing of the memory element state is permitted to be performed at discrete times T 1 and T 2 , 0 T 1 T 2 T max . The total pulse length is expected to be given by: T avg ( T max , T 1 , T 2 ) = F τ , σ ( T 1 ) T 1 + ( F τ , σ ( T 2 )- F τ , σ ( T 1 )) T 2 +(1 - F τ , σ ( T 2 )) T max . For a given value of T max corresponding to the target value of P b , T avg has a global minimum of T 1 and T 2 It is easy to find the minimum value by taking the partial derivative of T 1 and T 2 and solving the obtained equations by numerical methods.

於連續回授寫方法中,當裝置狀態被連續監視中,使 用最大持續時間T max脈衝,出現切換後即刻切斷施加電壓。連續回授寫方法的預期脈衝長度係藉下式給定 T max傾向為無限大時,如所預期,如上表示式傾向為,亦即對數-常態密度f τ,σ 的平均。實際上,當T max/τ>1時,相當快速趨近此一極限。第9圖例示說明針對連續寫方法,施加寫電壓的預期累進時間T avg 對最大施加時間T max的相依性。 Continuous feedback write method, when the device state is continuously monitored, the maximum pulse duration T max, occurs immediately after switching off the applied voltage. The expected pulse length of the continuous feedback writing method is given by the following formula When T max tends to be infinite, as expected, the above expression tends to be , that is, the log-normal density f τ , the average of σ . In fact, when T max / τ > 1, it is quite fast to approach this limit. Figure 9 illustrates the dependence of the expected progressive time T avg of the applied write voltage on the maximum application time T max for the continuous write method.

回授在寫操作的預期持續時間提供顯著增益。此等增益直接地轉譯為預期能耗的減少及裝置磨耗的減少。ECC的使用更進一步加強此增益,偶爾達顯著邊際。此外,由於編碼導致T max的極顯著縮短,導致系統通量的相對應增益,即便當寫要求限於出現在至少間隔T max個時間單位時亦復如此。為了讓通量也從T avg 的縮短獲益,及提高操作速率超出T max極限,可體現寫入操作的佇列等候或緩衝機制,原因在於某些操作將耗時T max,在更高速率到達的寫要求將必須佇列等候此等操作的完成。此種系統的緩衝要求及可信度可使用佇列等候理論工具分析。 The feedback provides a significant gain in the expected duration of the write operation. These gains are directly translated into a reduction in expected energy consumption and a reduction in device wear. The use of ECC further strengthens this gain, occasionally reaching a significant margin. Further, since the encoding resulting in very significant shortening of T max, resulting in a gain corresponding to the flux system, even when the limited write requests occur at least so too interval T max time units. In order to allow the flux to benefit from the shortening of T avg and to increase the operating rate beyond the T max limit, the queue waiting or buffering mechanism of the write operation can be embodied because some operations will take time T max at a higher rate. The written write request will have to wait for the completion of these operations. The buffering requirements and confidence of such systems can be analyzed using the queue waiting theory tool.

考慮2-脈衝法,具有參數T 1 T max、及T avg 。為求簡明,假設寫要求係以固定速率到達,到達時間中間週期為A個時間單位。若A T max,則無需佇列等候,故推定為A<T max。顯然,針對有任何其餘限制機會的佇列A>T 1 (實際上,由眾所 周知的佇列等候理論結果,且也將從如下分析中透露,A>T avg )。又一簡化假設為d=(T max-A)/(A-T 1)比值為整數。因比值T max/T avg 相當大,故給定以T max的某個值達成一目標BER時,此並非極具限制性的假設。大半情況下,T max可略增來使得d為整數。使用此等假設,於佇列中的等候時間分析減少至研究簡單整數值隨機游動。 Consider the 2-pulse method with parameters T 1 , T max , and T avg . For the sake of simplicity, it is assumed that the write request arrives at a fixed rate, and the intermediate time of the arrival time is A time units. If A T max does not need to wait for a queue, so it is estimated to be A < T max . Obviously, the queue A > T 1 for any remaining restriction opportunities (actually, the theoretical results are awaited by well-known queues and will also be revealed from the analysis below, A > T avg ). Yet another simplifying assumption is that the ratio d = ( T max - A ) / ( A - T 1 ) is an integer. Since the ratio T max / T avg is quite large, this is not a very restrictive assumption given that a target BER is achieved with a certain value of T max . In most cases, T max can be slightly increased to make d an integer. Using these assumptions, the analysis of the waiting time in the queue is reduced to the study of simple integer value random walks.

w i 表示代表在第i個寫要求佇列中的等候時間的整數隨機變因(實際等候時間為(A-T 1 )w i ),及設p=P(t i =T 1),於該處t i 為第i次寫入的實際總脈衝長度,亦即第i個寫要求的服務時間。設當a>b時,(a-b)+表示a-b,或否則表示0。 Let w i denote an integer random variation representing the waiting time in the i-th write request queue (the actual waiting time is ( A - T 1 ) w i ), and let p = P ( t i = T 1 ), where T i in the actual total pulse length of the i-th writing, i.e. the i-th write service time requirements. Let a(b) + denote ab, or otherwise denote 0.

於該處Di為隨機變因,假設數值於{1,-d},P(D i =1)=p,及P(D i =-d)=1-p。藉先前假設,此等機率係與i獨立無關。隨機游動wi乃馬可夫(Markov)鏈,其針對夠大的p為持續,經常無限地返回狀態w i =0。在此種假設下,鏈具有靜態分布 顯然,從w i =w+1,通過D i =1,可到達狀態w i +1=w,於1 w d-1之範圍。因此 於該處u=P d 。另一方面,陳述w=0可從w=0w=1到達,再度具有D i =1。如此,P 0=pP 0+pP 1=pP 0+p d u.。針對P 0求解 最後,針對w d,陳述w可從w+1到達,具有D i =1;或從w-d 具有D i =-d到達,獲得遞歸 從如上表示式可獲得該生成函式的明確表示式為 從該表示式,又轉而可導出等候時間的預期值 W=(A-T 1 )w,且轉譯回時間單位, 如所預期,當A趨近T max時(當A T max時無需佇列),E[W]趨近於零;而當A趨近T avg 時,E[W]趨近於無限大。藉利氏(Little)理論[3],佇列大小的預期值Q係藉下式給定E[Q]=E[W]/A. Here, D i is a random variable, assuming values of {1, -d}, P ( D i =1) = p , and P ( D i =- d ) = 1 - p . Based on previous assumptions, these odds are independent of i independence. The random walk w i is a Markov chain, which is continuous for a sufficiently large p , and often returns the state w i =0 infinitely. Under this assumption, the chain has a static distribution Obviously, from w i = w + 1 , through D i = 1 , the state w i + 1 = w can be reached. w The range of d -1. therefore Here u = P d . On the other hand, the statement w =0 can be reached from w = 0 or w =1, again with D i =1. Thus, P 0 = pP 0 + pP 1 = pP 0 + p d u . Solving for P 0 Finally, for w d , statement w can arrive from w +1 with D i =1; or arrive from w - d with D i =- d to obtain recursion The explicit expression of the generator can be obtained from the above expression. From this expression, it is possible to derive the expected value of the waiting time. Let W = ( A - T 1 ) w and translate back to the time unit, As expected, when A approaches T max (when A When T max does not need to be listed, E [ W ] approaches zero; and when A approaches T avg , E [ W ] approaches infinity. By Leigh (Little) theory [3], the expected value of the queue size Q system is given by E [Q] = E [W ] / A.

從如上提供的表示式顯然變因u乘以全部機率P w 。考慮G(z)=uG 0(z)z i +uz d G 1(z),於該處 直接接著G 0 (z)的明確表示式,獲得 至於G 1 (z),施加G 1 (z)表示式及如上提供的遞歸,及記住u=P d ,獲得如下表示式 重排各項,且在某些代數操弄後,獲得如下表示式 於該處g h (z)=(1-z h )/(1-z),針對整數h1,從G 1(z)的表示式之分子及分母刪除一共通因數(1-z)。如上表示式決定G(z)高達u之因數。設定G(1)=1,獲得如下表示式u=(1-p)((d+1)p-d)p -(d+1),完成G(z)的測定。W的預期值係藉下式給定 獲得E[w]的第一提供表示式。然後如上提供的E[W]的第二表示式接著將d=(T max-A)/(A-T 1)代入第一提供表示式,乘以時間標度A-T 1 ,記住T avg=pT 1+(1-p)T max。注意為了讓u為正,p>d/(d+1),結果導致A>T avg From the expression provided above, it is apparent that the factor u is multiplied by the full probability P w . Consider G ( z )= uG 0 ( z ) z i + uz d G 1 ( z ), where and Directly following the explicit expression of G 0 ( z ) As for G 1 ( z ), applying the expression G 1 ( z ) and the recursion provided above, and remembering u = P d , obtain the following expression Rearrange the items, and after some algebra manipulation, get the following expression Where g h ( z )=(1- z h )/(1- z ), for the integer h 1, delete a common factor (1- z) from a molecule G 1 (z) and the denominator of the formula is represented. The above expression determines the factor of G ( z ) as high as u . When G (1) = 1 is set, the following expression u = (1 - p ) (( d +1) p - d ) p - ( d +1) is obtained , and the measurement of G ( z ) is completed. The expected value of W is given by the following formula The first provided expression of E [ w ] is obtained. The second representation of E [ W ] as provided above is then substituted for d =( T max - A )/( A - T 1 ) into the first provided expression, multiplied by the time scale A - T 1 , remembering T Avg = pT 1 +(1- p ) T max . Note that in order for u to be positive, p > d /( d +1) results in A > T avg .

再度考慮離散式脈衝寫方法,中間介入讀取來確證切換,但並非對脈衝數目加諸明確極限,反而考慮對確證/讀取操作加諸處罰,及決定遵照此處罰的最佳脈衝方法。 Consider again the discrete pulse writing method, intermediate intervention reading to confirm the switch, but not to impose a clear limit on the number of pulses, but instead to impose penalties on the corroboration/reading operation and to determine the optimal pulse method to comply with this penalty.

T 1<T 2<...<T n-1<T max表示一序列的脈衝結束時間,也重合讀取,但結束於T max的最終脈衝除外,於該處並無後續讀取。因此,第一脈衝具有時間T 1 ,第二脈衝具有時間T 2 -T 1 ,等等。如前述,假設T max已經決定,透過針對若干期望粗位元錯誤率T max=(p),P b =P。又復假設讀操作耗時t r 。因此脈衝化及讀取的總預期時間處罰可表示為 於該處T0=0及T sw 為用來切換的聚集脈衝時間的隨機量。考慮 於全部可能脈衝結束時間及脈衝數目的最小平均脈衝及確認時間。 Let T 1 < T 2 <... < T n -1 < T max denote a sequence of pulse end times, also coincident reading, except for the final pulse ending at T max , where there is no subsequent reading. Thus, the first pulse has time T 1 , the second pulse has time T 2 - T 1 , and so on. As mentioned above, it is assumed that T max has been determined by the error rate T max = for several expected coarse bits. ( p ), P b = P . It is also assumed that the read operation takes time t r . Therefore, the total expected time penalty for pulsing and reading can be expressed as Here, T 0 =0 and T sw are random quantities of the aggregated pulse time for switching. consider The minimum average pulse and the confirmation time for all possible pulse end times and the number of pulses.

Tt係限於小型時間間隔t=T max/m max的某個正整數倍數,如同T t =m i t時,且對mi為最佳化。故脈衝最大數目為T max/t=m max。設表示在此種脈衝結束時間的制約之下所得最佳T avg 。顯然,且可顯示 給定一未經制約的脈衝結束時間集合T 1,...,T n-1,設T={i {1,...,n-1}}為量化結束時間集合,而<...<T小於T max的元素。此一組成暗示 比較T avg(T max,n,T 1,...,T n-1)與T avg(T max,n,T 1,...,T n-1)可解譯為隨機變因f(T sw )的預期值,於該處f(x)為 及同理,解譯為隨機變因g(T sw )的預期值而g(x)為 針對任何,藉由預期解譯,g(x)<f(x)+t足夠建立。設,則。將有某些i使得T i-1<x T i ,於該處=T 0=0及=T n =T max。如此,然後從T i >暗示i>j,接著i>j-1i j。此外,係為T i >-t的情況,原因在於否則將不在如上定義的量化結束時間T之集合中。結合此二事實 針對,確定確實g(x)<f(x)+t。近乎相同的自變數可適用於。如此,目的係用來運算 此種運算的標準辦法為動態程式規劃。針對任何0 m m maxm=m 0<m 1<...<m n-1<m max,定義 其係相對應於平均剩餘寫入時間,假設一新脈衝始於mt,具有隨後脈衝結束時間{m,t},及假設在時間mt之前未出現切換。然後定義 作為在脈衝時間mt之後的脈衝結束時間的最佳選擇,假設脈衝始於mtDepartment T t t = the time interval is limited to a small positive integer multiples of T max / m max, as time T t = m i t, and m i is optimized for. Therefore, the maximum number of pulses is T max / t = m max . Assume Indicates the best T avg obtained under the constraints of such pulse end time. Obviously, And can be displayed Given an unconstrained set of pulse end times T 1 ,..., T n -1 , let T ={ : i {1,..., n -1}} is the quantization end time set, and <...< An element whose T is less than T max . This composition implies Compare T avg ( T max , n , T 1 ,..., T n -1 ) with , T avg ( T max , n , T 1 ,..., T n -1 ) can be interpreted as the expected value of the random variable f ( T sw ), where f ( x ) is And the same, Interpreted as the expected value of the random variable g ( T sw ) and g ( x ) is For any , by expecting an interpretation, g ( x )< f ( x )+ t is sufficient to establish . Assume ,then . There will be some i such that T i -1 < x T i , here = T 0 =0 and = T n = T max . in this way And then from T i > Imply i > j , then i > j - 1 or i j . In addition, it is T i > The case of -t is that otherwise it will not be in the set of quantization end times T as defined above. Combine these two facts For , determine exactly g ( x ) < f ( x ) + t . Nearly identical self-variables can be applied to . So, the purpose is to operate The standard way of doing this is dynamic programming. For any 0 m m max and m = m 0 < m 1 <...< m n -1 < m max , definition It corresponds to the average remaining write time, assuming that a new pulse starts at mt with a subsequent pulse end time {m, t} and that no switching occurs before time mt . Then define As the best choice for the pulse end time after the pulse time mt , it is assumed that the pulse starts at mt .

顯然=(0)。動態程式規劃涉及遞歸地運算(m),針對m’>m基於(m')。注意針對m=m max-1,恰有一個可能脈衝結束時間,亦即結束於m max t者,使得 針對m<m max -1,可使用單一脈衝結束於m max t,於該種情況下T avg(m,1)=(m max-m)t,或可使用n 2脈衝結束於中間時間。針對此種情況,轉而 如此顯示如下 組合T avg (m,1)=(m max-m)t T avg(m,n,m 1,...,m n-1)針對初始提供的表示式獲得 如此針對m’>m,從(m')可運算(m),一路直到m=0。針對各個m藉追蹤最佳化m 1 可找到最佳化脈衝結束時間,於該處 若藉第一項達成外最小值,相對應於結束在T max的一個脈衝,則最佳化m 1 可取作為m max Obviously = (0). Dynamic programming involves recursive operations ( m ), based on m' > m ( m '). Note that for m = m max -1, there is exactly one possible pulse end time, ie the end at m max t , For m < m max - 1 , a single pulse can be used to end m max t , in which case T avg ( m ,1)=( m max - m ) t , or n can be used 2 pulses end at intermediate time. In response to this situation, turn This is shown below Combine T avg ( m ,1)=( m max - m ) t with T avg ( m , n , m 1 ,..., m n -1 ) is obtained for the initially provided expression So for m' > m , from ( m ') can be operated ( m ), all the way until m = 0 . An optimized pulse end time can be found for each m- tracking optimization m 1 , where an external minimum is achieved by the first term, corresponding to ending a pulse at T max , the optimization m 1 is desirable As m max .

容易瞭解演算法的複雜度係不比O()操作差。相對於完整搜尋,大為加速m 1 最小化運算速度的一個簡單方式係針對m 1 的各個接續較大值運算移動最小值,始於m 1 =m+1;而當m 1 使得m 1 t-mt+t 1 超過移動最小值時,捨棄搜尋。因m 1 t-mt+t 1 係於m 1 增加且因成本的另一成分係經常性地非負,故以此方式捨棄保有最佳化。 It's easy to understand the complexity of the algorithm is not better than O ( ) Poor operation. A simple manner with respect to the complete search, greatly accelerate the operation speed is minimized m 1 of the system for connecting a large minimum value calculating respective mobile m 1, the starting m 1 = m + 1; such that when m 1 m 1 t - When mt + t 1 exceeds the minimum value of the move, the search is discarded. Since m 1 t - mt + t 1 is increased in m 1 and the other component due to cost is often non-negative, the optimization is discarded in this way.

各種寫方法的分析結果 Analysis results of various writing methods

第10圖提出一表顯示多種用以將資料寫入記憶體的不同寫方法之比較,該記憶體包括以對數-常態分布切換時間為特徵的記憶體元件。該表水平分割成水平區段1002及1004,水平區段1002顯示針對各種寫方法的計算特性,其中不考慮結合監視來自記憶體元件的回授信號的方法之讀取成本;而水平區段1004顯示多重脈衝寫方法的計算特性,其中估計讀取成本且含括於各個寫方法的特性計算。第10圖所顯示之該表係垂直切割成兩個垂直區段,包括一第一垂直區段1006,其中特性係經計算來確保切換失敗機率P b=10-12;及一第二垂直區段1008,其中特性係經計算來確保切換失敗機率P b=10-23。於各個水平區段的各個垂直區段中,或換言之,表中的各個象限,針對各種所考慮的寫方法顯示T avg T max、及增益,針對編碼方法明確地顯示。第二水平區段1004顯示針對多重寫方法所得特 性,具有特定T max且有脈衝間的讀取成本等於τ的各個因數。 Figure 10 presents a table showing a comparison of various writing methods for writing data into memory, the memory including memory elements characterized by log-normal distribution switching times. The table is horizontally partitioned into horizontal segments 1002 and 1004 that display computational characteristics for various write methods, wherein the read cost of the method of monitoring the feedback signals from the memory elements is not considered; and the horizontal segment 1004 The computational characteristics of the multiple pulse writing method are shown, where the reading cost is estimated and the characteristic calculations included in the respective writing methods are included. The table shown in Fig. 10 is vertically cut into two vertical sections, including a first vertical section 1006, wherein the characteristics are calculated to ensure a switching failure probability P b = 10 -12 ; and a second vertical zone Segment 1008, where the characteristics are calculated to ensure a switch failure probability P b = 10 -23 . In each vertical section of each horizontal section, or in other words, each quadrant in the table, is displayed for various considered writing methods , T avg , T max , And gain, clearly displayed for the encoding method . The second horizontal section 1004 for displaying the resultant multi-write method characteristics, and having a specific T max has read the respective cost factor between pulses is equal to τ.

藉分析第10圖所提供的表中顯示的資料可知,已編碼寫方法的增益G通常係大於未經編碼寫方法,平均或預期脈衝時間T avg 通常對對已編碼法係小於未經編碼法。全部情況下,已編碼法的T max電壓施加時間係顯著小於未經編碼法的T max。即便當計算中考慮讀取成本時,也出現已編碼法相對於未經編碼法的T max減低。又復,採用回授的多重脈衝法的增益係顯著大於一個脈衝編碼法。 By analyzing the data shown in the table provided in Figure 10, the gain G of the coded write method is usually larger than the uncoded write method, and the average or expected pulse time T avg is usually smaller than the uncoded method for the coded method. . In all cases, the T max voltage application time of the encoded method is significantly less than the T max of the uncoded method. Even when the cost of reading is taken into account in the calculation, the T max reduction of the encoded method relative to the uncoded method occurs. Again, the gain of the multi-pulse method using feedback is significantly greater than that of a pulse encoding method.

第11圖圖解例示說明得自第10圖所提供的表中第一水平區段之資料。於第11圖中,切換失敗機率係相對於縱軸1102及每個位元之預期脈衝時間作圖,係相對於橫軸1104作圖。各個曲線諸如曲線1106針對八種不同寫方法例示說明切換失敗機率與間的函式關係。可見係隨所採用的脈衝數目的增加而顯著減低;及已編碼法的值一般係小於未經編碼法。 Figure 11 is a diagram illustrating the information from the first horizontal section of the table provided in Figure 10. In Figure 11, the switching failure probability is plotted against the vertical axis 1102 and the expected pulse time for each bit. The plot is plotted against the horizontal axis 1104. Individual curves, such as curve 1106, illustrate the probability of switching failures for eight different write methods. The relationship between the functions. visible Significantly reduced as the number of pulses used increases; and the coded method The value is generally less than the unencoded method.

於Pb=10-23,已編碼2-脈衝法比較未經編碼2-脈衝法提供3分貝額外增益,更值得注意地,編碼將最惡劣情況對平均比從約50:1降至3:1。實際上,2-脈衝未經編碼法具有增益只比1-脈衝已編碼法超過1.8分貝。比較3-脈衝未經編碼法與已編碼法時,編碼提供預期總脈衝長度的額外增益(1分貝於Pb=10-23),及最惡劣情況對平均比大為改良。實際上,如第11圖所示,針對關注的Pb範圍,3-脈衝未經編碼法係極為接近2-脈衝已編碼法,3-脈衝未經編碼法於Pb=10-23獲得107:1的最惡劣情況對平均比,相較於2-脈衝已編碼 法的3:1比。針對連續寫方法,快速收歛至對數-常態密度平均f τ,σ 的效果於第11圖可見,於該處連續寫方法之曲線可見係以垂直斜率實質上下降,於未經編碼情況係在針對實例中使用的參數σ1),及針對已編碼法。結果,平均脈衝長度係實際上與目標BER獨立無關,及於此種情況下,在未經編碼法與已編碼法間的編碼增益差異為-10log10 R 0.2dB,未經編碼法係優於已編碼法。又,已編碼法再度提供最惡劣情況對平均比的重大改進:於Pb=10-23,從未經編碼情況的239:1改良至已編碼情況的6.9:1。 At P b =10 -23 , the coded 2-pulse method provides an additional 3 dB gain for the uncoded 2-pulse method. More notably, the code reduces the worst case to an average ratio from about 50:1 to 3: 1. In fact, the 2-pulse uncoded method has a gain of only 1.8 dB over the 1-pulse coded method. Comparing the 3-pulse uncoded and coded methods, the code provides an additional gain for the expected total pulse length (1 dB at P b = 10 -23 ), and the worst case ratio is greatly improved. In fact, as shown in Fig. 11, for the P b range of interest, the 3-pulse uncoded method is very close to the 2-pulse coded method, and the 3-pulse uncoded method obtains 107 from P b = 10 -23. The worst case vs. average ratio of 1 is compared to the 3:1 ratio of the 2-pulse coded method. For the continuous writing method, the fast convergence to the log-normal density average f τ , the effect of σ can be seen in Fig. 11, where the curve of the continuous writing method can be seen to decrease substantially with the vertical slope, and the uncoded condition is For the parameter σ 1 ) used in the example, and For the encoded method. As a result, the average pulse length is virtually independent of the target BER, and in this case, the difference in coding gain between the unencoded method and the encoded method is -10 log 10 R 0.2dB, the unencoded method is superior to the already encoded method. Again, the coded method again provides a significant improvement in the worst case ratio for the worst case: from P b = 10 -23 , from 239:1 for uncoded cases to 6.9:1 for coded cases.

使用連續回授,提供優於3-脈衝已編碼法的約2.3分貝之額外編碼增益(平均脈衝長度為1.7:1之比)。原則上,此一間隙在一離散脈衝設定可藉任意地增加脈衝數目而予縮窄。實際上,當脈衝數目傾向為無限時,連續脈衝情況可視為離散脈衝情況的極限。 Using continuous feedback, an additional coding gain of about 2.3 decibels (average pulse length of 1.7:1 ratio) over the 3-pulse coded method is provided. In principle, this gap can be narrowed by a random increase in the number of pulses in a discrete pulse setting. In fact, when the number of pulses tends to be infinite, the continuous pulse condition can be considered as the limit of the discrete pulse case.

摘要言之,已經分析兩個機制的效果及互作係針對於解決由某個憶阻器裝置的對數-常態切換表現所加諸的挑戰。於多個設定中,使用編碼藉縮短平均切換時間及最惡劣情況切換時間,可顯著改良系統的總體效能。此等改良轉譯成節省能耗及裝置磨耗,以及顯著增加寫入產出量。以回授機制與錯誤校正碼的明智組合,憶阻器的對數-常態切換表現不應成為滿足近代儲存系統的可信度要求的絆腳石。 In summary, the effects and interactions of the two mechanisms have been analyzed to address the challenges imposed by the log-normal switching performance of a memristor device. In multiple settings, using the code to shorten the average switching time and the worst case switching time can significantly improve the overall performance of the system. These improvements translate into energy savings and device wear, as well as a significant increase in write throughput. With the sensible combination of feedback mechanism and error correction code, the logarithmic-normal switching performance of memristor should not be a stumbling block to meet the credibility requirements of modern storage systems.

第12圖提供一表列舉針對所考慮的寫時間,達成期望 的寫入失敗機率屬於τ的各個不同分量,針對多重脈衝寫方法的最大脈衝數目及平均脈衝數目。如於第12圖提供的表中可見,最大脈衝數針對已編碼法係比未經編碼法顯著更小。 Figure 12 provides a table listing the expectations for the write time considered. The probability of write failure is a different component of τ, the maximum number of pulses and the number of average pulses for the multiple pulse write method. As can be seen in the table provided in Figure 12, the maximum number of pulses is significantly smaller for the coded method than for the uncoded method.

第13圖顯示針對未經編碼的2-脈衝寫方法及已編碼的2-脈衝寫方法,預期等候時間相對於寫中間到達時間之線圖。如於第13圖可知,針對全部寫中間到達時間,已編碼的2-脈衝寫方法的預期等候時間係比未經編碼的2-脈衝寫方法預期等候時間顯著更短。編碼額外負擔係結合入針對已編碼法的A*=A/R,而針對未編碼法的A*=A,許可兩種方法間公平地比較;時間T maxT avg 也具相同標度。資訊寫入通量係與1/A*成正比。在此通量編碼的正面衝擊於圖式中為顯見,包括無佇列系統(A *=)及有佇列系統(<A *<)二者。當使用佇列時,預期E[Q]提供寫要求的適當緩衝器設計指南。 Figure 13 shows a line graph of expected waiting time versus write intermediate arrival time for the uncoded 2-pulse write method and the encoded 2-pulse write method. As can be seen from Figure 13, the expected wait time for the encoded 2-pulse write method is significantly shorter than the expected wait time for the uncoded 2-pulse write method for all write intermediate arrival times. Encoding an additional burden for the system incorporated into the A law encoded * = A / R, while for the uncoded Method A * = A, permit fair comparison between the two methods; time T max and T avg also have the same scale. The information write flux is proportional to 1/A * . The frontal impact of this flux code is evident in the figure, including the no-column system ( A * = ) and the array system ( < A * < )both. When using a queue, E[Q] is expected to provide a suitable buffer design guide for write requirements.

本案有關的電子資料儲存裝置之實例 Examples of electronic data storage devices related to this case

第14圖例示說明結合回授信號及ECC編碼二者的資料儲存裝置。在寫入之前,藉由使用回授信號及藉由編碼資料二者,相對於當不採用ECC編碼時,如前文討論,如第10圖提供的資料顯示及如第11圖例示說明需要的T max,最大寫延遲T max係顯著縮短。最大寫延遲的縮短及T avg 的縮短結果導致針對資料儲存裝置的較短平均及最大寫週期及相對應的較高資料輸入帶寬。一旦針對全部預期的記憶體元件切換完成時,回授信號許可在欲結束或短路的記憶體內部切 換特定記憶體元件需要施加的寫電壓或其它力或梯度。使用ECC編碼許可寫電壓施加的最大持續時間,或切換記憶體元件的另一力或梯度施加時間的顯著縮短,但仍對資料儲存裝置提供期望的位元錯誤率。第3A圖中,縮短T maxT max沿PDF的橫軸向左移動,在PDF尾端內超過T max提供更多面積,相對應於施加寫電壓歷經長達T max時間不會出現切換的機率。但使用ECC編碼,允許讀操作後隨後校正許多切換錯誤,有效縮小尾面積達相對應於期望的位元錯誤率位準。容後詳述,使用回授信號的ECC編碼及監視二者,也許可對輸入的寫要求使用更小型緩衝器,減低資料儲存裝置的成本及複雜度。 Figure 14 illustrates a data storage device incorporating both a feedback signal and an ECC code. Prior to writing, by using both the feedback signal and by encoding the data, as opposed to when the ECC encoding is not used, as discussed above, the data display as provided in FIG. 10 and the required T as illustrated in FIG. max, maximum write delay T max system significantly shortened. The shortening of the maximum write latency and the shortening of the T avg result in a shorter average and maximum write period for the data storage device and a corresponding higher data input bandwidth. Once the switching for all expected memory elements is complete, the feedback signal permits a write voltage or other force or gradient that needs to be applied to switch a particular memory element within the memory to be terminated or shorted. The ECC encoding permits the maximum duration of the write voltage application, or a significant reduction in the switching of another force or gradient application time of the memory component, but still provides the desired bit error rate for the data storage device. In Figure 3A, shortening T max shifts T max to the left in the horizontal axis of the PDF, providing more area beyond T max in the PDF tail, corresponding to the application of the write voltage over a long period of T max without switching Probability. However, using ECC encoding, a number of switching errors are subsequently corrected after the read operation, effectively reducing the tail area to a level corresponding to the desired bit error rate. As detailed later, the use of ECC encoding and monitoring of the feedback signal may require smaller buffers for input writes, reducing the cost and complexity of the data storage device.

表示一個實例的資訊儲存裝置包括一或多個二維記憶體元件陣列1402。於第14圖中,各個記憶體元件係以碟片諸如碟片1404表示。記憶體元件係排列成列及成行,及在一列內部的該等記憶體元件係藉一水平電極互連,而在各行的記憶體元件係藉一垂直電極或信號線互連。舉例言之,於第14圖中,記憶體元件1406-1413係藉水平信號線1414互連。記憶體元件1413及1416-1423係藉水平信號線1424互連。第一解多工器或其它控制元件1426控制施加至水平信號線的電壓,第二解多工器或其它控制元件1428控制施加至垂直信號線的電壓。 An information storage device representing an instance includes one or more two-dimensional memory element arrays 1402. In Fig. 14, each memory element is represented by a disc such as a disc 1404. The memory elements are arranged in columns and rows, and the memory elements in a column are interconnected by a horizontal electrode, and the memory elements in each row are interconnected by a vertical electrode or signal line. For example, in FIG. 14, memory elements 1406-1413 are interconnected by horizontal signal lines 1414. Memory elements 1413 and 1416-1423 are interconnected by horizontal signal lines 1424. A first demultiplexer or other control element 1426 controls the voltage applied to the horizontal signal line, and a second demultiplexer or other control element 1428 controls the voltage applied to the vertical signal line.

參考第5圖,如前文討論,各個記憶體元件也產生一回授信號,係輸出至水平及垂直回授信號線二者。於第14圖中,由記憶體元件所產生的回授信號係顯示為對角線段, 諸如從記憶體元件1413伸出的對角線段1429。於寫操作期間,第一及第二控制器1426及1428監視此等回授信號來產生回送至讀/寫控制器的寫完成信號。當藉讀/寫控制器1430供給資料儲存單元位址給第一及第二控制器1426及1428,連同資料儲存單元的的資料欲寫至資料儲存裝置,第一及第二控制器1426及1428施加適當電壓至特定信號線來將相對應於位址資料儲存單元的記憶體元件置於欲寫至資料儲存裝置的資料內部位元值的狀態。輸入至寫入資訊儲存裝置1432的資料係藉寫緩衝組件1434緩衝,係緩衝資料於循環緩衝器1436。寫緩衝組件許可在短的叢發間隔期間,以比較資訊儲存裝置隨時間之經過所適應的速率更快速率,由資訊儲存裝置接收寫操作。寫叢發可結束而儲存在循環緩衝器內部,及然後,在接收叢發的終寫操作後,寫操作係由讀/寫控制器儘可能快速地處理,最終耗盡循環佇列。讀/寫控制器從寫緩衝組件接收寫操作可用信號1438,許可讀/寫控制器與寫緩衝組件合作來從循環佇列解除寫操作的佇列等候,及輸入至ECC編碼器1440。欲寫至該裝置的資料係首先供給ECC編碼器1440,如前文討論,ECC編碼器1440編碼資料成為一串列碼字組,然後傳輸至讀/寫控制器1430。讀/寫控制器不只控制第一及第二控制器1426及1428來將資料寫至資料儲存裝置,同時也控制第一及第二控制器1426及1428來從資料儲存裝置讀取所儲存的資料,及傳輸所讀取的資料給ECC解碼器1442,其解碼讀取自資料儲存裝置的碼字組,且輸出未經編碼資料1444。讀/寫控 制器1430接收資料1446且輸出資料1448,接收控制信號1450,及輸出非資料資訊1452,輸出資料及控制信號1454及1456分別地給第一及第二控制器1426及1428,及分別地從第一及第二控制器1426及1428,接收資料及控制信號1458及1460。 Referring to Figure 5, as discussed above, each memory component also produces a feedback signal that is output to both the horizontal and vertical feedback signal lines. In Figure 14, the feedback signal generated by the memory component is shown as a diagonal segment. A diagonal segment 1429, such as from memory element 1413. During a write operation, the first and second controllers 1426 and 1428 monitor the feedback signals to generate a write completion signal that is looped back to the read/write controller. When the borrowing/writing controller 1430 supplies the data storage unit address to the first and second controllers 1426 and 1428, and the data of the data storage unit is to be written to the data storage device, the first and second controllers 1426 and 1428 Applying an appropriate voltage to a particular signal line places the memory component corresponding to the address data storage unit in a state of the data internal bit value to be written to the data storage device. The data input to the write information storage device 1432 is buffered by the write buffer unit 1434, and buffers the data in the circular buffer 1436. The write buffer component permits the write operation to be received by the information storage device during a short burst interval at a rate that is faster than the rate at which the information storage device is adapted over time. The write burst can end and be stored inside the circular buffer, and then, after receiving the burst write end write operation, the write operation is processed as quickly as possible by the read/write controller, eventually exhausting the loop queue. The read/write controller receives a write operation available signal 1438 from the write buffer component, and the license read/write controller cooperates with the write buffer component to wait for the write operation to cancel the write operation from the loop queue and input to the ECC encoder 1440. The data to be written to the device is first supplied to the ECC encoder 1440. As previously discussed, the ECC encoder 1440 encodes the data into a series of codeword groups and then transmits to the read/write controller 1430. The read/write controller not only controls the first and second controllers 1426 and 1428 to write data to the data storage device, but also controls the first and second controllers 1426 and 1428 to read the stored data from the data storage device. And transmitting the read data to the ECC decoder 1442, which decodes the codeword group read from the data storage device, and outputs the uncoded data 1444. Read/write control The controller 1430 receives the data 1446 and outputs the data 1448, receives the control signal 1450, and outputs the non-data information 1452. The output data and control signals 1454 and 1456 are respectively provided to the first and second controllers 1426 and 1428, and respectively from the first The first and second controllers 1426 and 1428 receive the data and control signals 1458 and 1460.

於另一個實例中,ECC編碼器出現在寫緩衝上游的輸入序列中,已編碼資料佇列等候內部寫操作,而非如同前述實例,未經編碼資料佇列等候。於又另一個實例中,ECC編碼器可結合入讀/寫控制器,或出現在第一及第二控制器前方的輸入序列內部的額外位置。 In another example, the ECC encoder appears in the input sequence upstream of the write buffer, and the encoded data queue waits for an internal write operation instead of waiting for the uncoded data queue as in the previous example. In yet another example, the ECC encoder can be incorporated into a read/write controller, or an additional location within the input sequence that appears in front of the first and second controllers.

於另一個實例中,第一及第二控制器或讀/寫控制器使用前述多重脈衝法,迭代重複地將資料寫至記憶體元件,回讀資料,決定寫是否成功。於本替代實例中,記憶體元件不產生回授信號。取而代之,第一及第二控制器1426及1428施加多重寫脈衝至記憶體元件,在各個脈衝之後讀取被施加脈衝的該等記憶體元件內容,來決定資料是否正確地寫入。基於多重脈衝寫及中間讀操作用來確認正確資料儲存,第一及第二控制器產生寫完成信號,回送至讀/寫控制器,如同於首述實例,其中係連續地監視狀態或記憶體元件。 In another example, the first and second controllers or the read/write controller use the aforementioned multiple pulse method to iteratively repeatedly write data to the memory component, read back the data, and determine whether the write was successful. In this alternative example, the memory component does not generate a feedback signal. Instead, the first and second controllers 1426 and 1428 apply multiple overwrite pulses to the memory elements, and after each pulse, read the contents of the memory elements to which the pulses are applied to determine if the data was written correctly. Based on multiple pulse writes and intermediate read operations to confirm proper data storage, the first and second controllers generate a write completion signal that is sent back to the read/write controller, as in the first example, where the state or memory is continuously monitored. element.

後文討論中,注意假設寫操作含有某個最大量資料,其可在內部寫操作中,由第一及第二控制器寫至該一或多個記憶體元件陣列。因此,與寫操作相聯結的資料係經ECC編碼,然後送至第一及第二控制器,用來寫至該一或多個 記憶體元件陣列。由該一或多個記憶體元件陣列所提供的回授信號指示整個內部寫是否成功。第一及第二控制器可施加寫電壓歷經不同時間週期給個別記憶體元件,或可在內部寫操作期間,施加不同脈衝數給個別記憶體元件。另外,更複雜的緩衝機制可用來儲存與比單次內部寫操作所能寫入的更大量資料相聯結的寫操作,及針對與大量資料相聯結的所接收寫操作,產生多種內部寫操作。在內部寫操作期間,通常第一及第二控制器並列地控制儲存至多重記憶體元件。 In the discussion that follows, note that the write operation contains some maximum amount of data that can be written by the first and second controllers to the array of one or more memory elements during an internal write operation. Therefore, the data associated with the write operation is ECC encoded and then sent to the first and second controllers for writing to the one or more An array of memory components. The feedback signal provided by the one or more memory element arrays indicates whether the entire internal write was successful. The first and second controllers can apply write voltages to individual memory elements over different time periods, or can apply different numbers of pulses to individual memory elements during internal write operations. In addition, more sophisticated buffering mechanisms can be used to store write operations associated with larger amounts of data that can be written than a single internal write operation, and to generate multiple internal write operations for received write operations associated with large amounts of data. During an internal write operation, typically the first and second controllers control the storage to multiple memory elements in parallel.

第15圖顯示寫緩衝組件(第14圖中之1434)的操作之控制流程圖。於步驟1502,啟動多個變因。變因「inPtr」係設定為指向或含有循環緩衝器內部的第一資料儲存單元的位址。變因「outPtr」係設定為等於變因「inPtr」。變因「full」係設定為偽。此一變因係相對應於由寫緩衝組件發送至讀/寫控制器之一信號,來指示何時循環緩衝器係接近於滿載。變因「avail」係設定為偽。此一變因係相對應於由寫緩衝組件發送至讀/寫控制器之一信號來指示何時寫操作可用來遞送至讀/寫控制器。變因「newWrite」係設定為偽,而變因「writeDQ」也係設定為偽。變因「newWrite」係相對應於從外部裝置發送的信號,指示期望寫操作;而變因「writeDQ」係相對應於由讀/寫控制器發送至寫緩衝組件之一信號來指示該讀/寫控制器已從該循環緩衝器讀取下一個讀操作。 Figure 15 shows a control flow chart of the operation of the write buffer component (1434 in Fig. 14). In step 1502, multiple variables are initiated. The variable "inPtr" is set to point to or contain the address of the first data storage unit inside the circular buffer. The variation "outPtr" is set equal to the variation factor "inPtr". The variable "full" is set to false. This variation corresponds to a signal sent by the write buffer component to the read/write controller to indicate when the circular buffer is close to full load. The variable "avail" is set to false. This variation corresponds to a signal sent by the write buffer component to the read/write controller to indicate when a write operation is available for delivery to the read/write controller. The variable "newWrite" is set to false, and the variable "writeDQ" is also set to false. The variable "newWrite" corresponds to a signal transmitted from an external device indicating a desired write operation; and the variable "writeDQ" corresponds to a signal sent from the read/write controller to the write buffer component to indicate the read/ The write controller has read the next read from the circular buffer.

其次,於步驟1504-1508的連續迴圈中,於步驟1505, 寫緩衝組件決定外部裝置是否已經要求任何新的寫操作,及於步驟1506,藉呼叫常式「輸入」而處理此等寫操作。於步驟1507,寫緩衝組件也連續監視「wirteDQ」信號;及於步驟1508,當讀/寫控制器已經處理下一個寫操作時,呼叫常式「輸出」來調整循環佇列。 Next, in the continuous loop of steps 1504-1508, in step 1505, The write buffer component determines if the external device has requested any new write operations, and in step 1506, handles the write operations by calling the normal "input". In step 1507, the write buffer component also continuously monitors the "wirteDQ" signal; and in step 1508, when the read/write controller has processed the next write operation, the call routine "output" is used to adjust the loop queue.

第16圖提供常式「輸入」(第15圖之1506)的控制流程圖。於步驟1602,常式「輸入」決定該循環佇列是否已滿。循環佇列已滿係在下列情況時:當變因「outPtr」係等於儲存於變因「inPtr」的值遞增1時,或當outPtr指向緩衝器內最末資料儲存單元且inPtr指向緩衝器內第一資料儲存單元時。此種情況不應發生。但若一旦發生此種現象,則資訊儲存裝置應單純拋棄所接收的寫操作,由於無法處理所接收的寫操作,原因在於目前有大量先前已接收的寫操作儲存在循環緩衝器內。其次,於步驟1604,常式「輸入」將寫操作儲存入由變因「inPtr」所指向的循環佇列的槽內,及然後調整變因「inPtr」來指向一隨後的緩衝器槽。模組算術係用來環化一線性緩衝器。其次,於步驟1605,常式「輸入」將變因「avail」設定為真,產生一信號給讀/寫控制器,指示下一個寫操作為可用。如於步驟1606決定,當有兩個或更少個槽剩餘於循環緩衝器時,於步驟1608,常式「輸入」將變因「full」設定為真,產生一信號給讀/寫控制器,指示儘可能快速空出循環緩衝器,以免拋棄隨後接收的寫操作。最後,於步驟1610,變因「newWrite」係設定為偽,使得隨後可檢測接收自外部裝置的下個寫操作。 Figure 16 provides a control flow chart for the conventional "input" (1506 of Fig. 15). In step 1602, the routine "input" determines whether the loop queue is full. The loop queue is full when the variable "outPtr" is equal to the value stored in the variable "inPtr" incremented by 1, or when outPtr points to the last data storage unit in the buffer and inPtr points to the buffer. When the first data storage unit. This should not happen. However, if this happens, the information storage device should simply discard the received write operation because the received write operation cannot be processed because a large number of previously received write operations are currently stored in the circular buffer. Next, in step 1604, the normal "input" stores the write operation into the slot of the loop queue pointed to by the variable "inPtr", and then adjusts the variable "inPtr" to point to a subsequent buffer slot. Module arithmetic is used to circulate a linear buffer. Next, in step 1605, the normal "input" will change the "avail" to true, generating a signal to the read/write controller indicating that the next write operation is available. As determined in step 1606, when there are two or fewer slots remaining in the circular buffer, in step 1608, the normal "input" will change the "full" to true, generating a signal to the read/write controller. , indicating that the circular buffer is freed as quickly as possible to avoid discarding subsequent write operations. Finally, in step 1610, the variable "newWrite" is set to false so that the next write operation received from the external device can be subsequently detected.

第17圖提供常式「輸出」(第15圖之1508)的控制流程圖。於步驟1702,變因「outPtr」藉模組算術調整至指楶在讀/寫控制器接收一寫操作的該循環緩衝器槽後方之該循環緩衝器槽。如於步驟1704決定,當空出循環緩衝器槽已將有空循環緩衝器槽增至三個或以上時,則於步驟1706,變因「full」設定為偽來中斷傳訊通知讀/寫控制器儘快空出循環緩衝器。於步驟1708,變因「writeDQ」係設定為偽來傳訊讀/寫控制器,在從寫緩衝組件傳輸下一個寫操作至該讀/寫控制器後,該循環佇列已經被調整。於步驟1710,寫緩衝組件決定循環緩衝器目前是否空出。若是,則於步驟1712,變因「avail」係設定為偽,來指示讀/寫控制器並無目前可用的寫操作。 Figure 17 provides a control flow chart for the conventional "output" (1508 of Figure 15). In step 1702, the variable "outPtr" is arithmetically adjusted by the module to the circular buffer slot behind the circular buffer slot of the write/write controller that receives a write operation. If it is determined in step 1704, when the free loop buffer slot has increased the number of empty loop buffer slots to three or more, then in step 1706, the variable "full" is set to false to interrupt the communication notification read/write controller. Empty the circular buffer as soon as possible. In step 1708, the variable "writeDQ" is set to false to communicate the read/write controller, and after the next write operation is transferred from the write buffer component to the read/write controller, the loop queue has been adjusted. At step 1710, the write buffer component determines if the circular buffer is currently vacant. If so, then in step 1712, the variable "avail" is set to false to indicate that the read/write controller has no currently available write operations.

第18圖提供控制流程圖例示說明讀/寫控制器(第14圖之1430)之操作。於步驟1802,當供電啟動或復置時,讀/寫控制器經初始化。然後於步驟1804-1808的連續迴圈中,讀/寫控制器監視由變因「avail」表示的信號及來自外部來源的讀要求,當寫要求係得自寫緩衝組件時,呼叫常式「寫」1806,而當接收到新的讀要求時,呼叫常式「讀」1808。 Figure 18 provides a control flow diagram illustrating the operation of the read/write controller (1430 of Figure 14). At step 1802, the read/write controller is initialized when power is turned on or reset. Then, in the continuous loop of steps 1804-1808, the read/write controller monitors the signal indicated by the variable "avail" and the read request from the external source. When the write request is obtained from the write buffer component, the call routine " Write "1806" and when the new read request is received, the call routine "reads" 1808.

第19圖提供常式「寫」(第18圖之1806)的控制流程圖。常式「寫」包含步驟1902-1911之一外連續迴圈,其包括步驟1906-1909之一內迴圈。於步驟1903,當「avail」信號指示有寫要求待處置時,常式「寫」從循環緩衝器接收下一個寫要求且使用ECC,編碼與該寫要求相聯結的資料。然後於步驟1904,常式「寫」設定變因「writeDQ」為真,傳 訊通知寫緩衝組件下一個寫要求已經由讀/寫控制器接收,致能該寫緩衝組件來完成該寫要求的解除佇列等候過程。於步驟1905,初始化一計時器t,讀/寫控制器開始將與該寫要求相聯結的資料寫至記憶體。當資料被寫入時,常式「寫」監視相對應於變因「full」的信號、來自第一及第二控制器(第14圖的1426及1428)的回授信號、及計時器t來當指示結束時終結寫入操作。當已經宣告相對應於變因「full」的信號時,如於步驟1907決定,讀/寫控制器即刻地終結試圖進行的寫來處理且從該循環佇列中去除額外寫要求,來許可藉寫緩衝組件佇列等候輸入中的寫要求。寫入操作的早期結束可能導致一或多個記憶體元件未能切換。如前文討論,隨後當資料從記憶體回讀時,讀/寫控制器仰賴ECC編碼來校正此等型別的資料訛誤。當來自第一及第二控制器(第14圖的1426及1428)的回授信號指示寫入已經成功時,如於步驟1908決定,則結束寫入。否則,當計時器指示該寫入已經進行等於或大於T max的時間時,如於步驟1909決定,則結束寫入。於步驟1910,讀/寫控制器結束寫操作,而當仍有寫要求待處理時,如於步驟1911決定,則控制返回步驟1903。否則,返回「寫」。第19圖中,寫要求的資料係藉第一及第二控制器而並列地寫至相對應記憶體元件。於某些實例中,寫要求可能含有比較單一並列寫操作所能寫入的資料量更大量資料,於該種情況下,相對應於第16圖的額外迭代重複迴圈,額外邏輯將用來進行將與單一寫要求相聯結的全部資料寫至相對應記憶體元件所需 的二或多個寫操作。於若干其它實例中,記憶體胞元可串列地而非並列地寫入。 Figure 19 provides a control flow chart for the conventional "write" (1806 of Figure 18). The conventional "write" includes one of the outer continuous loops of steps 1902-1911, which includes one of the loops in steps 1906-1909. In step 1903, when the "avail" signal indicates that a write request is pending, the normal "write" receives the next write request from the circular buffer and uses ECC to encode the data associated with the write request. Then, in step 1904, the normal "write" setting variable "writeDQ" is true, and the communication notification write buffer component next write request has been received by the read/write controller, enabling the write buffer component to complete the write request release. Waiting for the process. At step 1905, a timer t is initialized, and the read/write controller begins writing data associated with the write request to the memory. When the data is written, the normal "write" monitors the signal corresponding to the "full", the feedback signals from the first and second controllers (1426 and 1428 of Figure 14), and the timer t. To terminate the write operation when the indication ends. When the signal corresponding to the "full" has been declared, as determined in step 1907, the read/write controller immediately terminates the attempted write processing and removes the extra write request from the loop queue to permit the borrowing. The write buffer component queues the write request in the input. The early end of a write operation may result in one or more memory elements failing to switch. As discussed above, then when the data is read back from the memory, the read/write controller relies on the ECC code to correct for data corruption of these types. When the feedback signals from the first and second controllers (1426 and 1428 of FIG. 14) indicate that the write has been successful, as determined at step 1908, the write is ended. Otherwise, when the timer indicates that the writing has been performed is equal to or greater than the T max of time, as determined at step 1909, the writing is ended. In step 1910, the read/write controller ends the write operation, and when there is still a write request pending, as determined in step 1911, control returns to step 1903. Otherwise, return to "write". In Fig. 19, the data required for writing is written in parallel to the corresponding memory element by the first and second controllers. In some instances, the write request may contain a larger amount of data than can be written by a single parallel write operation. In this case, the additional iterations corresponding to the additional iteration of Figure 16 are repeated, and additional logic is used. Performs two or more write operations required to write all of the material associated with a single write request to the corresponding memory component. In several other examples, memory cells can be written in series rather than in parallel.

於前述常式中,假設藉常式「寫」將與一寫操作相對應的資料寫至該一或多個記憶體元件陣列比較藉常式「寫入緩衝」來緩衝所接收的寫操作耗用顯著更長時間,因此當藉常式「寫入」writeDQ設定為真時,於步驟1904,常式「寫入緩衝」可緩衝下個寫操作,及處理緩衝指標器的調整,以及在常式寫入可完成目前內部寫操作且從事另一項操作前,藉呼叫常式「輸出」,設定writeDQ為偽。若無法做此假設,則額外測試及步驟將用來適當地同步化兩個常式的操作及/或額外同步化信號將用來同步化兩個常式的操作。當然,一般而言,如上使用常式來例示說明可以邏輯電路體現的硬體裝置的操作,其操作係於較低體現層面同步化。 In the above routine, it is assumed that the normal write "write" writes the data corresponding to a write operation to the one or more memory device arrays to compare the received write operation with the normal write buffer. It takes a significantly longer time, so when the normal write "write" is set to true, in step 1904, the normal "write buffer" buffers the next write operation, and handles the adjustment of the buffer indicator, and is often Write can complete the current internal write operation and before doing another operation, set the writeDQ to false by calling the routine "output". If this assumption cannot be made, additional tests and steps will be used to properly synchronize the two routines and/or the additional synchronization signals will be used to synchronize the two routines. Of course, in general, the operation of the hardware device that can be embodied by the logic circuit is exemplified as above using the routine, and the operation is synchronized at a lower embodiment level.

第19圖提供連續寫方法的概略說明,其中連續地監控記憶體元件的狀態。於前文討論的替代實例中,其中採用多重脈衝寫方法,步驟1906-1909的內部迴圈將迭代重複直到寫完成信號係接收自讀/寫控制器為止,無論寫是否成功,或直到滿旗標或信號被設定為止。 Figure 19 provides a schematic illustration of a continuous write method in which the state of the memory elements is continuously monitored. In the alternative example discussed above, where the multiple pulse write method is employed, the internal loop of steps 1906-1909 will iteratively repeat until the write completion signal is received from the read/write controller, whether the write was successful or until the full flag Or the signal is set.

如此,除了監視來自第一及第二控制器的回授信號外,藉使用ECC,可運用比較不使用ECC時所使用的循環緩衝器之更小型循環緩衝器。換言之,緩衝器大小可縮小至導致某個百分比的寫操作早期結束的大小,結果比較可容許的錯誤數目,在寫操作期間導致更大量的切換錯誤。 但隨後當資料從記憶體回讀時,藉ECC解碼器的錯誤校正能力,減少較大數目的切換錯誤。 In this way, in addition to monitoring the feedback signals from the first and second controllers, by using the ECC, a smaller circular buffer that compares the circular buffers used when the ECC is not used can be used. In other words, the buffer size can be shrunk to a size that causes a certain percentage of write operations to end early, resulting in a comparison of the number of errors that can be tolerated, resulting in a larger number of switching errors during the write operation. However, when the data is read back from the memory, the error correction capability of the ECC decoder is used to reduce a large number of switching errors.

雖然已經就特定實例描述本文揭示,但非意圖將本文揭示限於此等實例。修正將為熟諳技藝人士所顯然易知。舉例言之,回授信號及ECC編碼的使用可用在寬廣不同型別的資訊儲存裝置,包括具有非對稱切換時間PDF的記憶體元件,含括憶阻記憶體元件、相變記憶體元件、及其它型別的記憶體元件。資訊儲存裝置內部採用的特定ECC代碼及特定T max值分別地可設定為各個不同代碼及計算值,來確保資訊儲存裝置的位元錯誤率滿足或超過位元錯誤率要求。某些型別的資訊儲存裝置中,取決於BER要求、資訊儲存裝置的年齡、特別為記憶體元件年齡、在資訊儲存裝置上進行的讀/寫週期總數、及其它特性及參數,最大寫電壓施加時間T max及用來編碼資料的ECC代碼可經控制或動態地復置。 Although the disclosure herein has been described with respect to specific examples, it is not intended to limit the disclosure herein to such examples. The amendments will be apparent to those skilled in the art. For example, the use of feedback signals and ECC codes can be used in a wide variety of information storage devices, including memory elements with asymmetric switching time PDF, including memristive memory elements, phase change memory elements, and Other types of memory components. The specific ECC code and the specific T max value used in the information storage device can be respectively set to different codes and calculated values to ensure that the bit error rate of the information storage device satisfies or exceeds the bit error rate requirement. In some types of information storage devices, the maximum write voltage depends on the BER requirements, the age of the information storage device, especially the age of the memory component, the total number of read/write cycles on the information storage device, and other characteristics and parameters. application time T max and the ECC codes are used to encode information may be reset via a control or dynamically.

須瞭解所揭示實例之前文描述係供任何熟諳技藝人士可製作或利用本文揭示。此等實例的各項修改將為熟諳技藝人士所顯然易知,可未背離本文揭示之精髓及範圍,此處定義的通用原理適用於其它實例。如此本文揭示並非意圖囿限於此處顯示的實例,反而係涵蓋符合此處揭示原理及新穎特徵的最寬廣範圍。 It is to be understood that the foregoing description of the disclosed embodiments may be made or utilized by those skilled in the art. Modifications of these examples will be apparent to those skilled in the art, and the general principles defined herein may be applied to other examples without departing from the spirit and scope of the disclosure. The disclosure is not intended to be limited to the examples shown herein, but rather the broad scope of the principles and novel features disclosed herein.

102‧‧‧介電質、介電材料 102‧‧‧Dielectric, dielectric materials

104、106‧‧‧導體、導電電極 104, 106‧‧‧Conductor, conductive electrode

108‧‧‧低電阻率部分 108‧‧‧ Low resistivity part

110‧‧‧高電阻率部分 110‧‧‧High resistivity part

202、220‧‧‧低電阻態I-V曲線 202, 220‧‧‧Low-resistance I-V curve

204‧‧‧小幅度斜率I-V曲線 204‧‧‧Small slope I-V curve

206‧‧‧原點 206‧‧‧ origin

208‧‧‧電壓軸、V 208‧‧‧Voltage axis, V

210‧‧‧電流軸、I 210‧‧‧ Current axis, I

212‧‧‧電壓Vw + 212‧‧‧V voltage V w +

214‧‧‧I-V曲線的近垂直部 214‧‧‧ Near vertical part of the I-V curve

216、224、226‧‧‧點 216, 224, 226‧ ‧ points

222‧‧‧電壓VD + 222‧‧‧V Voltage V D +

230‧‧‧電壓VD - 230‧‧‧Voltage V D -

232‧‧‧電壓Vw - 232‧‧‧Voltage V w -

236‧‧‧中幅度電壓VR 236‧‧‧Amplitude voltage V R

302、314、1102‧‧‧縱軸 302, 314, 1102‧‧‧ vertical axis

304、312、1104‧‧‧橫軸 304, 312, 1104‧‧‧ horizontal axis

306‧‧‧峰 306‧‧‧ Peak

308‧‧‧延長右尾 308‧‧‧Extension of the right tail

310‧‧‧影線趨近 310‧‧‧ Shadow line approaching

402‧‧‧一位元記憶體元件 402‧‧‧One-dimensional memory component

404、406‧‧‧導體 404, 406‧‧‧ conductor

408‧‧‧記憶體元件 408‧‧‧ memory components

410‧‧‧回授信號 410‧‧‧Return signal

412、414‧‧‧輸入信號 412, 414‧‧‧ input signal

502‧‧‧二進制資料 502‧‧‧ Binary data

504-507、510、520-523‧‧‧長度k的次陣列 504-507, 510, 520-523‧‧‧ sub-array of length k

512‧‧‧記憶體 512‧‧‧ memory

514‧‧‧讀取操作 514‧‧‧Read operation

516‧‧‧解碼邏輯 516‧‧‧Decoding logic

602‧‧‧正電壓 602‧‧‧ positive voltage

604、608‧‧‧時間長度 604, 608‧‧ ‧ length of time

606‧‧‧負電壓 606‧‧‧ Negative voltage

702-732、1502-1508、1602-1610、1702-1712、1802-1808、1902-1911‧‧‧步驟 702-732, 1502-1508, 1602-1610, 1702-1712, 1802-1808, 1902-1911‧‧ steps

1002、1004‧‧‧水平節 1002, 1004‧‧‧ horizontal section

1006、1008‧‧‧垂直節 1006, 1008‧‧‧ vertical section

1106‧‧‧曲線 1106‧‧‧ Curve

1402‧‧‧二維記憶體元件陣列 1402‧‧‧Two-dimensional memory element array

1404‧‧‧碟片 1404‧‧ discs

1406-1413、1416-1423‧‧‧記憶體元件 1406-1413, 1416-1423‧‧‧ memory components

1414、1424‧‧‧水平信號線 1414, 1424‧‧‧ horizontal signal lines

1426、1428‧‧‧控制元件 1426, 1428‧‧‧ Control elements

1429‧‧‧對角線段 1429‧‧‧ diagonal segments

1430‧‧‧讀/寫控制器 1430‧‧‧Read/Write Controller

1432‧‧‧用於寫入的資訊儲存裝置 1432‧‧‧Information storage device for writing

1434‧‧‧寫緩衝組件 1434‧‧‧Write buffer assembly

1436‧‧‧循環緩衝器 1436‧‧ Circulating buffer

1438‧‧‧寫操作可用信號 1438‧‧‧Write operation available signal

1440‧‧‧錯誤控制碼(ECC)控制器 1440‧‧‧Error Control Code (ECC) Controller

1442‧‧‧ECC解碼器 1442‧‧‧ECC decoder

1444‧‧‧未經編碼資料 1444‧‧‧Uncoded material

1446、1448、1454、1458‧‧‧資料 1446, 1448, 1454, 1458‧‧‧ Information

1450、1456、1460‧‧‧控制信號 1450, 1456, 1460‧‧‧ control signals

1452‧‧‧非資料資訊 1452‧‧‧ Non-information information

第1A-B圖例示說明具有兩個穩定電子態特徵之奈米級單一位元資料儲存裝置之實例。 1A-B illustrate an example of a nanoscale single bit data storage device having two stable electronic states.

第2圖顯示於第1A-B圖例示說明的雙穩態奈米級電子裝置的電流對電壓表現。 Figure 2 shows the current versus voltage performance of the bistable nanoelectronic device illustrated in Figures 1A-B.

第3A圖例示說明對數-常態機率密度函式(PDF)。 Figure 3A illustrates a log-normal probability density function (PDF).

第3B圖顯示針對第3A圖所示對數-常態分布PDF,相對應的累進分布函式(CDF)。 Figure 3B shows the corresponding progressive distribution function (CDF) for the log-normal distribution PDF shown in Figure 3A.

第4圖例示說明兩種辦法中之第一者,用來改善由憶阻記憶體元件及其它非線性資料儲存裝置材料所具有的切換時間之對數-常態分布效應。 Figure 4 illustrates the first of two approaches to improve the log-normal distribution effect of switching time possessed by memristive memory components and other non-linear data storage devices.

第5圖例示說明針對憶阻記憶體元件及其它雙穩態資料儲存材料,改進對數-常態分布切換時間的效應之第二辦法。 Figure 5 illustrates a second approach to improving the effect of log-normal distribution switching time for memristive memory elements and other bistable data storage materials.

第6A-B圖例示說明施加切換脈衝至一憶阻記憶體元件或其它非線性資料儲存材料。 Figures 6A-B illustrate the application of switching pulses to a memristive memory element or other non-linear data storage material.

第7A-F圖例示說明用以將資料寫至包括記憶體元件以對數-常態分布切換時間為其特徵的一記憶體裝置之六種資料寫入方法。 The 7A-F diagram illustrates six data writing methods for writing data to a memory device including a memory element characterized by a log-normal distribution switching time.

第8圖例示說明在二脈衝寫方法中,施加寫電壓的總預期時間T avg 對第一脈衝長度T1的相依性。 Fig. 8 exemplifies the dependence of the total expected time T avg of the applied write voltage on the first pulse length T 1 in the two-pulse writing method.

第9圖例示說明針對連續寫方法,施加寫電壓的預期累進時間T avg 對最大施加時間T max的相依性。 Figure 9 illustrates the dependence of the expected progressive time T avg of the applied write voltage on the maximum application time T max for the continuous write method.

第10圖提出一表顯示多種用以將資料寫入記憶體的不同寫方法之比較,該記憶體包括以對數-常態分布切換時間為特徵的記憶體元件。 Figure 10 presents a table showing a comparison of various writing methods for writing data into memory, the memory including memory elements characterized by log-normal distribution switching times.

第11圖圖解例示說明得自第10圖所提供的表中第一水 平區段之資料。 Figure 11 illustrates an illustration of the first water from the table provided in Figure 10. Information on the flat section.

第12圖提供一表列舉針對所考慮的寫時間,達成期望的寫入失敗機率屬於τ的各個不同分量,針對多重脈衝寫方法的最大脈衝數目及平均脈衝數目。 Figure 12 provides a table listing the different number of pulses and the number of average pulses for the multiple pulse write method for each of the different components of the desired write failure probability that are expected for the write time.

第13圖顯示針對未經編碼的2-脈衝寫方法及已編碼的2-脈衝寫方法,預期等候時間相對於寫中間到達時間之線圖。 Figure 13 shows a line graph of expected waiting time versus write intermediate arrival time for the uncoded 2-pulse write method and the encoded 2-pulse write method.

第14圖例示說明結合回授信號及ECC編碼二者的資料儲存裝置。 Figure 14 illustrates a data storage device incorporating both a feedback signal and an ECC code.

第15圖顯示寫緩衝組件(第14圖中之1434)的操作之控制流程圖。 Figure 15 shows a control flow chart of the operation of the write buffer component (1434 in Fig. 14).

第16圖提供常式「輸入」(第15圖之1506)的控制流程圖。 Figure 16 provides a control flow chart for the conventional "input" (1506 of Fig. 15).

第17圖提供常式「輸出」(第15圖之1508)的控制流程圖。 Figure 17 provides a control flow chart for the conventional "output" (1508 of Figure 15).

第18圖提供控制流程圖例示說明讀/寫控制器(第14圖之1430)之操作。 Figure 18 provides a control flow diagram illustrating the operation of the read/write controller (1430 of Figure 14).

第19圖提供常式「寫」(第18圖之1806)的控制流程圖。 Figure 19 provides a control flow chart for the conventional "write" (1806 of Figure 18).

1402‧‧‧二維記憶體元件陣列 1402‧‧‧Two-dimensional memory element array

1404‧‧‧碟片 1404‧‧ discs

1406-1413、1416-1423‧‧‧記憶體元件 1406-1413, 1416-1423‧‧‧ memory components

1414、1424‧‧‧水平信號線 1414, 1424‧‧‧ horizontal signal lines

1426、1428‧‧‧控制元件 1426, 1428‧‧‧ Control elements

1429‧‧‧對角線段 1429‧‧‧ diagonal segments

1430‧‧‧讀/寫控制器 1430‧‧‧Read/Write Controller

1432‧‧‧用於寫入的資訊儲存裝置 1432‧‧‧Information storage device for writing

1434‧‧‧寫緩衝組件 1434‧‧‧Write buffer assembly

1436‧‧‧循環緩衝器 1436‧‧ Circulating buffer

1438‧‧‧寫操作可用信號 1438‧‧‧Write operation available signal

1440‧‧‧錯誤控制碼(ECC)控制器 1440‧‧‧Error Control Code (ECC) Controller

1442‧‧‧ECC解碼器 1442‧‧‧ECC decoder

1444‧‧‧未經編碼資料 1444‧‧‧Uncoded material

1446、1448、1454、1458‧‧‧資料 1446, 1448, 1454, 1458‧‧‧ Information

1450、1456、1460‧‧‧控制信號 1450, 1456, 1460‧‧‧ control signals

1452‧‧‧非資料資訊 1452‧‧‧ Non-information information

R‧‧‧讀取 R‧‧‧Read

W‧‧‧寫入 W‧‧‧written

Claims (15)

一種資料儲存裝置,其係包含:一或多個記憶體元件陣列,其各自包括一材料,藉施加一切換感應力或梯度至該材料而在至少兩個不同態間切換,及一回授信號;一寫要求緩衝器,緩衝一接收到的寫要求;一錯誤控制碼編碼器,編碼與該寫要求相聯結的資料;及一讀/寫控制器,將與接收自該寫要求緩衝器的該寫要求相聯結的、由該錯誤控制碼編碼器所編碼的資料寫入多個記憶體元件,該寫入係藉施加該切換感應力或梯度至該一或多個記憶體元件陣列直至多於一最大容許數目的寫要求已經佇列至該寫要求緩衝器,回授信號指示該寫操作已經完成,或該切換感應力或梯度已經施加歷經一最大施加時間為止。 A data storage device comprising: one or more memory element arrays each comprising a material, switching between at least two different states by applying a switching inductive force or gradient to the material, and a feedback signal a write request buffer buffering a received write request; an error control code encoder encoding data associated with the write request; and a read/write controller to be received from the write request buffer The write request requires that the data encoded by the error control code encoder be written to a plurality of memory elements by applying the switching induction force or gradient to the one or more memory element arrays until A write request for a maximum allowable number has been queued to the write request buffer, the feedback signal indicating that the write operation has completed, or the switching sense or gradient has been applied for a maximum application time. 如申請專利範圍第1項之資料儲存裝置,其中該等記憶體元件係藉對數-常態分布切換時間特徵化。 The data storage device of claim 1, wherein the memory elements are characterized by a log-normal distribution switching time. 如申請專利範圍第1項之資料儲存裝置,其中該最大施加時間係比將針對未經編碼的寫操作提供一特定位元錯誤率之一時間更短。 The data storage device of claim 1, wherein the maximum application time is shorter than one of a specific bit error rate that will be provided for an uncoded write operation. 如申請專利範圍第3項之資料儲存裝置,其係進一步包含一錯誤控制碼解碼器,其係解碼由該讀/寫控制器讀取自該一或多個記憶體元件陣列的資料。 The data storage device of claim 3, further comprising an error control code decoder for decoding data read by the read/write controller from the one or more memory element arrays. 如申請專利範圍第1項之資料儲存裝置,其中該寫要求 緩衝器的大小係比下述之一寫要求緩衝器大小更小,將確保相對應於一已接收的寫要求的任何寫操作不會在成功地完成或施加該切換感應力或梯度歷經一最大施加時間前結束。 For example, the data storage device of claim 1 of the patent scope, wherein the writing request The size of the buffer is smaller than the one of the following write-required buffer sizes, which will ensure that any write operation corresponding to a received write request does not successfully complete or apply the switching sense or gradient to a maximum End before the application time. 如申請專利範圍第5項之資料儲存裝置,其係進一步包含一錯誤控制碼解碼器,其係解碼由該讀/寫控制器讀取自該一或多個記憶體元件陣列的資料,於該解碼處理程序中,校正一足夠數目的錯誤位元值來提供一特定位元錯誤率,儘管由於相對應於已接收的寫要求的寫操作係在施加該切換感應力或梯度歷經一最大施加時間成功地完成或施加前結束,結果發生切換錯誤亦復如此。 The data storage device of claim 5, further comprising an error control code decoder for decoding data read by the read/write controller from the one or more memory element arrays In the decoding process, a sufficient number of error bit values are corrected to provide a particular bit error rate, although the write sensing force or gradient is applied over a maximum application time due to a write operation corresponding to the received write request. This is also the case when a successful completion or pre-application is completed. 如申請專利範圍第1項之資料儲存裝置,其中該資料儲存媒體為一憶阻材料,當橫過該資料儲存媒體施加一切換感應電壓時,該憶阻材料係在一第一電阻態與一第二電阻態間切換。 The data storage device of claim 1, wherein the data storage medium is a memristive material, and when a switching induced voltage is applied across the data storage medium, the memristive material is in a first resistance state and a Switching between the second resistance states. 一種寫入資料至一資料儲存裝置之方法,該裝置係包括一或多個記憶體元件陣列,其各自係包括一材料,該材料係藉施加一切換感應力或梯度至該材料而在至少兩個不同態間切換,及一回授信號,該方法係包含:藉一錯誤控制碼編碼器編碼與一所接受的寫要求相聯結的資料;將該寫要求佇列至一寫要求緩衝器;及將該已編碼資料寫入多個記憶體元件,該寫入係藉施加該切換感應力或梯度至該一或多個記憶體元件陣列直至多於一最大容許數目的寫要求已經佇列至該寫 要求緩衝器,回授信號指示該寫操作已經完成,或該切換感應力或梯度已經施加歷經一最大施加時間為止。 A method of writing data to a data storage device, the device comprising one or more arrays of memory elements each comprising a material that is applied to at least two by applying a switching induction force or gradient to the material Switching between different states, and a feedback signal, the method includes: encoding, by an error control code encoder, data associated with an accepted write request; and listing the write request to a write request buffer; And writing the encoded data to a plurality of memory elements by applying the switching inductive force or gradient to the one or more memory element arrays until more than one maximum allowable number of write requests have been queued to The write A buffer is required, the feedback signal indicating that the write operation has been completed, or the switching induction force or gradient has been applied for a maximum application time. 如申請專利範圍第8項之方法,其係進一步包含選擇該最大施加時間,係短於經計算確保一特定位元錯誤率用以將未經編碼資料寫至該一或多個陣列的一最小施加時間;但又夠長使得當該資料隨後係讀取自該一或多個陣列且係藉一錯誤控制碼解碼器解碼時,該解碼器係校正讀取自該一或多個陣列的資料中高達某個數目的位元錯誤,用以將資料寫至該資料儲存裝置及從該資料儲存裝置回讀該資料的該總位元錯誤率係小於或等於該特定位元錯誤率。 The method of claim 8, further comprising selecting the maximum application time, which is shorter than a minimum calculated to ensure that a particular bit error rate is used to write uncoded material to the one or more arrays. Applying time; but long enough for the decoder to correct data read from the one or more arrays when the data is subsequently read from the one or more arrays and decoded by an error control code decoder Up to a certain number of bit errors, the total bit error rate used to write data to and read back from the data storage device is less than or equal to the specific bit error rate. 如申請專利範圍第8項之方法,其係進一步包含針對該寫要求緩衝器選擇一大小,該大小係比下述之一寫要求緩衝器大小更小,將確保相對應於一已接收的寫要求的任何寫操作不會在成功地完成或施加該切換感應力或梯度歷經一最大施加時間前結束;但又夠大使得當該資料隨後係讀取自該一或多個陣列且係藉一錯誤控制碼解碼器解碼時,該解碼器係校正讀取自該一或多個陣列的資料中高達某個數目的位元錯誤,用以將資料寫至該資料儲存裝置及從該資料儲存裝置回讀該資料的該總位元錯誤率係小於或等於該特定位元錯誤率。 The method of claim 8, further comprising selecting a size for the write request buffer that is smaller than one of the write write buffer sizes described below, ensuring that a corresponding received write is ensured Any write operation required will not end before the successful completion or application of the switching induction force or gradient over a maximum application time; but large enough that the data is subsequently read from the one or more arrays and borrowed When the error control code decoder is decoded, the decoder corrects up to a certain number of bit errors in the data read from the one or more arrays for writing data to and from the data storage device. The total bit error rate of the material being read back is less than or equal to the specific bit error rate. 如申請專利範圍第8項之方法,其中該資料儲存媒體為一憶阻材料,當橫過該資料儲存媒體施加一切換感應電壓時,該憶阻材料係在一第一電阻態與一第二電阻態間切換。 The method of claim 8, wherein the data storage medium is a memristive material, and when a switching induced voltage is applied across the data storage medium, the memristive material is in a first resistance state and a second Switch between resistance states. 如申請專利範圍第8項之方法,其中該等記憶體元件係藉對數-常態分布切換時間特徵化。 The method of claim 8, wherein the memory elements are characterized by a log-normal distribution switching time. 如申請專利範圍第8項之方法,其中當該等回授信號係被連續地監測時,該切換感應力或梯度係連續地施加至該一或多個記憶體元件陣列。 The method of claim 8, wherein the switching inductive force or gradient is continuously applied to the one or more memory element arrays when the feedback signals are continuously monitored. 如申請專利範圍第8項之方法,其中該切換感應力或梯度係在離散間隔期間施加至該一或多個記憶體元件陣列,介於該等離散間隔,該等回授信號係用來決定該資料是否係已被成功地寫入。 The method of claim 8, wherein the switching inductive force or gradient is applied to the one or more memory element arrays during discrete intervals, wherein the feedback signals are used to determine Whether the material has been successfully written. 一種資料儲存裝置,其係包含:一或多個記憶體元件陣列,其各自係包括一資料儲存媒體,該資料儲存媒體係藉施加一切換感應力或梯度至該資料儲存媒體而在至少二不同態間切換;一寫要求緩衝器;一錯誤控制碼編碼器,其係編碼所接收的資料;及一讀/寫控制器,其係將由該錯誤控制碼編碼器所編碼的資料寫入多個記憶體元件,該寫入係藉於多個脈衝中施加該切換感應力或梯度至該一或多個記憶體元件陣列,於各個脈衝後藉一讀操作證實該寫操作已經成功,直至多於一最大容許數目的寫要求已經佇列至該寫要求緩衝器,直至該寫操作已經完成,或直至一最大數目的脈衝已經施加為止。 A data storage device comprising: one or more memory element arrays each comprising a data storage medium, the data storage medium being at least two different by applying a switching induction force or gradient to the data storage medium Inter-state switching; a write request buffer; an error control code encoder that encodes the received data; and a read/write controller that writes data encoded by the error control code encoder into a plurality of a memory component that applies the switching inductive force or gradient to the one or more memory element arrays by using a plurality of pulses, and confirms the write operation by a read operation after each pulse until more than A maximum allowable number of write requests has been queued to the write request buffer until the write operation has completed, or until a maximum number of pulses have been applied.
TW101127017A 2011-07-27 2012-07-26 Method and system for reducing write-buffer capacities within memristor-based data-storage devices TWI520149B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/045529 WO2013015803A1 (en) 2011-07-27 2011-07-27 Method and system for reducing write-buffer capacities within memristor-based data-storage devices

Publications (2)

Publication Number Publication Date
TW201320097A true TW201320097A (en) 2013-05-16
TWI520149B TWI520149B (en) 2016-02-01

Family

ID=47601411

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101127017A TWI520149B (en) 2011-07-27 2012-07-26 Method and system for reducing write-buffer capacities within memristor-based data-storage devices

Country Status (6)

Country Link
US (1) US9405614B2 (en)
EP (1) EP2737482A4 (en)
KR (1) KR101620761B1 (en)
CN (1) CN104025193A (en)
TW (1) TWI520149B (en)
WO (1) WO2013015803A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108215A1 (en) * 2013-01-14 2014-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Asymmetrical memristor
US9269432B2 (en) * 2014-01-09 2016-02-23 Micron Technology, Inc. Memory systems and memory programming methods
WO2016195637A1 (en) 2015-05-29 2016-12-08 Hewlett Packard Enterprise Development Lp Memristance feedback tuning
WO2017010991A1 (en) 2015-07-14 2017-01-19 Hewlett Packard Enterprise Development Lp Determining first write strength
CN108463613A (en) * 2016-03-11 2018-08-28 哈里伯顿能源服务公司 Position scrambling in Differential Pulse Position Modulation
CN105976023B (en) * 2016-04-29 2018-03-20 华中科技大学 A kind of episodic memory circuit and its operating method based on memristor
CN105976861B (en) * 2016-05-17 2018-10-09 华南理工大学 A kind of high-power memristor circuit realized using SPWM controls
RU169207U1 (en) * 2016-11-17 2017-03-09 Межрегиональное общественное учреждение "Институт инженерной физики" ERROR DATA STORAGE AND TRANSMISSION DEVICE
RU175054U1 (en) * 2017-06-20 2017-11-16 Межрегиональное общественное учреждение "Институт инженерной физики" STORAGE AND TRANSMISSION DEVICE WITH SINGLE AND DOUBLE ERRORS
CN108427843A (en) * 2018-03-14 2018-08-21 常州大学 It is a kind of that there is the three-dimensional memristor Hindmarsh-Rose precircuits hidden and asymmetric behavior coexists
US11244720B2 (en) 2020-01-09 2022-02-08 Kookmin University Industry Academy Cooperation Foundation Electronic device and operating method of electronic device
CN112489717B (en) * 2020-11-06 2023-09-01 苏州大学 Error correction method for self-fault-tolerant memristive memory cells based on implication logic

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4694040B2 (en) 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 Semiconductor memory device
US7224598B2 (en) * 2004-09-02 2007-05-29 Hewlett-Packard Development Company, L.P. Programming of programmable resistive memory devices
US7430701B2 (en) 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
CN101501779B (en) 2006-05-12 2013-09-11 苹果公司 Memory device with adaptive capacity
KR100843209B1 (en) 2006-11-02 2008-07-02 삼성전자주식회사 A resistive memory device including a buffer memory, a memory system including a resistive memory device, and a data writing / reading method of a resistive memory device
US8139432B2 (en) 2006-12-27 2012-03-20 Samsung Electronics Co., Ltd. Variable resistance memory device and system thereof
KR100855585B1 (en) 2007-01-23 2008-09-01 삼성전자주식회사 Resistive random access memory with source line sharing structure and data access method accordingly
EP1947652A1 (en) * 2007-09-13 2008-07-23 STMicroelectronics S.r.l. Phase-change memory device with error correction capability
JP2010146654A (en) * 2008-12-19 2010-07-01 Toshiba Corp Memory device
JP5197448B2 (en) 2009-03-13 2013-05-15 株式会社東芝 Resistance change memory device
US8199556B2 (en) 2009-09-22 2012-06-12 Micron Technology, Inc. Methods of reading and using memory cells
US8510631B2 (en) 2009-11-24 2013-08-13 Mediatek Inc. Multi-channel memory apparatus and method thereof
CN101916211B (en) 2010-07-16 2012-06-27 中国人民解放军国防科学技术大学 Feedback-based dynamic hierarchical data storage equipment reliability ensuring method

Also Published As

Publication number Publication date
EP2737482A1 (en) 2014-06-04
KR101620761B1 (en) 2016-05-23
US9405614B2 (en) 2016-08-02
CN104025193A (en) 2014-09-03
KR20140033215A (en) 2014-03-17
WO2013015803A1 (en) 2013-01-31
US20140149824A1 (en) 2014-05-29
TWI520149B (en) 2016-02-01
EP2737482A4 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
TWI520149B (en) Method and system for reducing write-buffer capacities within memristor-based data-storage devices
US20120017136A1 (en) Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory
WO2014089550A1 (en) Stopping criteria for layered iterative error correction
CN105869669B (en) Resistive random access memory and its control method
EP3368984B1 (en) Temperature dependent multiple mode error correction
US20120290778A1 (en) Increased capacity heterogeneous storage elements
KR102275717B1 (en) Flash memory system and operating method thereof
US10009043B2 (en) Technologies for providing efficient error correction with half product codes
TWI489480B (en) Efficient data-storage devices that include memory elements characterized by potentially large switching latencies
KR20200110624A (en) Memory system, and operating method of memory controller
JP7614876B2 (en) Memory System
US20140092667A1 (en) Data storage in memory array with less than half of cells in any row and column in low-resistance states
US10289348B2 (en) Tapered variable node memory
CN102761340B (en) Broadcast channel (BCH) parallel coding circuit
US8938575B2 (en) Minimized half-select current in multi-state memories
Mei et al. Polar codes for spin-torque transfer magnetic random access memory
Zhong et al. Deep-Learning-Based Adaptive Error-Correction Decoding for Spin-Torque Transfer Magnetic Random Access Memory (STT-MRAM)
Farkaš Scalable Family of Codes with Locality and Availability for Information Repair in Distributed Storage Systems
US12273124B2 (en) Systems and methods for irregular error correction code construction in order of weights
US20250095765A1 (en) Error condition monitoring in memory systems
Duangthong et al. Two-Dimensional Error Correction Code for Spin-Transfer Torque Magnetic Random-Access Memory (STT-MRAM) Caches
Dai et al. PAC Code Construction for Spin-Torque Transfer Magnetic Random Access Memory
Viet Adaptive Redundant Data Allocation Using Unused Blocks for Improving Access Efficiency in Dependable Storage Systems