TWI747951B - 數據儲存裝置及其操作方法 - Google Patents
數據儲存裝置及其操作方法 Download PDFInfo
- Publication number
- TWI747951B TWI747951B TW106130622A TW106130622A TWI747951B TW I747951 B TWI747951 B TW I747951B TW 106130622 A TW106130622 A TW 106130622A TW 106130622 A TW106130622 A TW 106130622A TW I747951 B TWI747951 B TW I747951B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- test
- delay value
- strobe signal
- delay
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56012—Timing aspects, clock generation, synchronisation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Debugging And Monitoring (AREA)
Abstract
本發明關於一種數據儲存裝置,其包括:記憶體裝置,其適於儲存和
輸出與選通信號同步的數據;以及控制器,其適於基於不同的測試延遲值中的每一個來延遲選通信號,透過使用延遲選通信號來測試數據的捕獲,以及基於測試結果確定選通信號的延遲值。
Description
各個實施例整體關於一種數據儲存裝置,且更特別地,關於一種包括記憶體裝置的數據儲存裝置。
數據儲存裝置回應於寫入請求儲存由外部裝置提供的數據。數據儲存裝置還可回應於讀取請求將儲存的數據提供給外部裝置。使用數據儲存裝置的外部裝置的示例包括電腦、數位相機、手機等。數據儲存裝置可在外部裝置的製造期間被嵌入到外部裝置中,或者可被單獨製造,然後連接到外部裝置。
相關申請案的交叉引用:本申請案請求於2016年12月16日向韓國智慧財產局提交的申請案號為10-2016-0172570的韓國申請案的優先權,其全部內容透過引用併入本文。
在實施例中,數據儲存裝置可包括:記憶體裝置,其適於儲存和輸出與選通信號同步的數據;以及控制器,其適於基於不同的測試延遲值中
的每一個來延遲該選通信號,透過使用延遲選通信號來測試數據的捕獲,以及基於測試結果確定選通信號的延遲值。
在實施例中,用於操作數據儲存裝置的方法可包括:儲存從記憶體裝置接收的數據和選通信號;基於不同的測試延遲值中的每一個來延遲該選通信號,並透過使用延遲選通信號來測試數據的捕獲;以及基於測試結果確定選通信號的延遲值。
在實施例中,用於數據儲存裝置的控制器可包括:測試單元,其適於從記憶體裝置接收與選通信號同步的數據,基於不同的測試延遲值中的每一個來延遲該選通信號,透過使用延遲選通信號來測試數據的捕獲;以及延遲值計算器,其適於基於測試結果來確定選通信號的延遲值。
10:數據儲存裝置
11~13:數據讀取路徑
100:控制器
110:處理電路
120:記憶體介面
200:非揮發性記憶體裝置
210:控制器介面
220:數據緩衝器
230:記憶體區域
300:校準塊
310:測試單元
311:暫存器
312:移位器
313:捕獲部分
314:確定部分
320:延遲值計算單元
1000:固態硬碟
1100:控制器
1110:處理器
1120:隨機存取記憶體
1130:唯讀記憶體
1140:錯誤校正碼單元
1150:主機介面
1160:儲存介質介面
1170:內部匯流排
1200:儲存介質
1500:主機裝置
2000:數據處理系統
2100:主處理器
2200:主記憶體裝置
2300:數據儲存裝置
2310:控制器
2320:儲存介質
2400:輸入/輸出裝置
2500:系統匯流排
2600:網路
2700:伺服器
CH0~CHn:通道
DET:確定信號
DT:數據
DTC:捕獲數據
ECC:錯誤校正碼
IF:介面
MAXT:最大測試計數
MEM1~MEM4:非揮發性記憶體裝置
NVM0~NVMn:非揮發性記憶體裝置
RAM:隨機存取記憶體
ROM:唯讀記憶體
S110~S190:步驟
ST:選通信號
STD:延遲選通信號
T30~T38:時間
TVAL1~TVAL10:測試延遲值
UVAL:單位延遲值
VAL:延遲值
透過參照附圖描述本發明的各個實施例,本發明的上述和其它特徵及優點將對本發明所屬領域的技術人員變得更加顯而易見,其中:圖1是示出根據本發明的實施例的數據儲存裝置的方塊圖。
圖2是示出圖1所示的校準塊的示例性配置的方塊圖。
圖3是示出從圖2的校準塊中採用的移位器輸出的數據和延遲選通信號的時序圖。
圖4是示出圖2所示的校準塊中採用的捕獲部分、確定部分以及延遲值計算單元的示例性操作的簡圖。
圖5是示出根據本發明的實施例的圖1的數據儲存裝置的校準操作方法的流程圖。
圖6是示出根據本發明的實施例的圖2的校準塊對多個非揮發性記憶體裝置執行校準操作的方法的簡圖。
圖7是示出根據本發明的實施例的固態硬碟(SSD)的方塊圖。
圖8是示出根據本發明的實施例的採用數據儲存裝置的數據處理系統的方塊圖。
在下文中,將參照附圖描述包括數據儲存裝置及其操作方法的本發明的各個實施例。然而,注意到的是,本發明可以不同的形式實施,且不應被解釋為限於本文所闡述的實施例。相反,提供這些實施例以詳細地描述本發明至本發明所屬領域的技術人員能夠實施本發明的技術概念的程度。
將理解的是,本發明的實施例不限於附圖中所示的細節,附圖不一定按比例繪製,並且在一些情況下,可能已放大了比例以便更清楚地描繪本發明的某些特徵。雖然使用了特定術語,但是應當理解,所使用的術語僅用於描述特定實施例,而不旨在限制本發明的範圍。
將進一步理解的是,當元件被稱為「連接到」或「耦接到」另一元件時,其可直接在其它元件上、連接到或耦接到其它元件,或者可存在一個或多個中間元件。此外,還將理解的是,當元件被稱為在兩個元件「之間」時,其可以是這兩個元件之間的唯一元件,或者也可存在一個或多個中間元件。
短語「……和……中的至少一個」在本文中與項目列表一起使用時,表示列表中的單個項目或列表中項目的任何組合。例如,「A、B和C中的至少一個」是指僅有A或僅有B或僅有C,或A、B和C的任何組合。
本文所用的術語「或」是指兩種或更多種替代物中的任一種,但不是兩者或其任何組合。
如本文所使用的,除非上下文另有明確說明,否則單數形式也旨在包括複數形式。將進一步理解的是,當在本說明書中使用術語「包括」、「包括有」、「包含」和「包含有」時,其說明所陳述元件的存在,但並不排除一個或多個其它元件的存在或添加。如本文所使用的,術語「和/或」包括一個或多個相關所列項目的任何和全部組合。
除非另有定義,否則本文使用的包括技術術語和科學術語的所有術語具有與本發明所屬領域的普通技術人員基於本發明所通常理解的含義相同的含義。將進一步理解的是,諸如在常用字典中定義的那些術語的術語應當被解釋為具有與其在本發明和相關技術語境中的含義一致的含義,並且將不以理想化或過於正式的意義來解釋,除非本文中明確地這樣定義。
在下面的描述中,為了提供對本發明的全面理解,描述了大量具體細節。可在沒有一些或全部這些具體細節的情況下實踐本發明。在其它情況下,為了不使本發明被不必要地模糊,未詳細地描述公眾知悉的製程結構和/或製程。
還注意到的是,在一些情況下,如對於相關領域的技術人員顯而易見的是,除非另有特別說明,否則結合一個實施例所描述的也被稱為特徵的元件可以單獨使用或與另一實施例的其它元件組合使用。
在下文中,將參照附圖詳細描述本發明的各個實施例。
圖1是示出根據本發明的實施例的數據儲存裝置10的方塊圖。
數據儲存裝置10可被配置成回應於來自外部裝置的寫入請求,儲存從外部裝置提供的數據。此外,數據儲存裝置10可被配置成回應於來自外部裝置的讀取請求,將儲存的數據提供給外部裝置。
數據儲存裝置10可被配置成個人電腦記憶卡國際協會(PCMCIA)卡、標準快閃記憶體(CF)卡、智慧媒體卡、記憶卡、各種多媒體卡(例如,MMC、eMMC、RS-MMC和MMC-Micro)、各種安全數位卡(例如,SD、迷你-SD和微型-SD)、通用快閃記憶體(UFS)、固態硬碟(SSD)等。
數據儲存裝置10可包括控制器100和至少一個非揮發性記憶體裝置200。
控制器100可包括處理電路110和記憶體介面(IF)120。
處理電路110可控制非揮發性記憶體裝置200的寫入操作和讀取操作。處理電路110可處理將透過記憶體介面120傳輸至非揮發性記憶體裝置200的信號和將透過記憶體介面120從非揮發性記憶體裝置200接收的信號。例如,處理電路110可從記憶體介面120接收數據DT和選通信號ST。數據DT可與選通信號ST同步。處理電路還可透過使用選通信號ST來捕獲數據DT,並且可處理捕獲的數據。
處理電路110可包括校準塊300。校準塊300可計算選通信號ST的延遲值,以透過數據讀取路徑11、12和13來最小化偏斜(skew)在數據DT和選通信號ST中的發生。數據讀取路徑11、12和13提供經由控制器介面
210和記憶體介面120將非揮發性記憶體裝置200的數據緩衝器220與處理電路110鏈接的數據路徑。處理電路110可透過將由校準塊300計算的延遲值應用於選通信號ST來控制選通信號ST的時序,並透過使用時間控制的選通信號ST來精確地捕獲數據DT。
在實施例中,校準塊300可基於不同的測試延遲值中的每一個來延遲選通信號ST,使用延遲的選通信號測試捕獲數據DT,以及基於測試結果來計算選通信號ST的延遲值。校準塊300可儲存透過記憶體介面120從非揮發性記憶體裝置200接收的數據DT和選通信號ST,並且可使用所儲存的數據和選通信號來執行校準操作,因此,不需要多次請求對非揮發性記憶體裝置200的讀取操作。因此,可更快地執行校準操作。此外,在執行校準操作時,校準操作不會發生因為外部環境而可能對數據讀取路徑11至13造成的錯誤。因此,可計算出更精確的延遲值。
對於校準操作,校準塊300可將測試數據(未示出)儲存在非揮發性記憶體裝置200中,並且控制非揮發性記憶體裝置200與選通信號ST同步地輸出所儲存的測試數據DT。在這方面,校準塊300可控制非揮發性記憶體裝置200將測試數據僅儲存在數據緩衝器220中。因此,校準塊300控制非揮發性記憶體裝置200不將任何測試數據儲存在記憶體區域230中。因為這樣可防止由於包括在記憶體區域230中的記憶體單元的物理特性的劣化而引起的錯誤,所以其是有益處的。
此外,為進一步提高校準操作的精確性,校準塊300可以單倍數據速率(SDR)模式將測試數據DT傳輸到控制器介面(IF)210,並以雙倍數據速率(DDR)模式從控制器介面210接收數據DT和選通信號ST。
記憶體介面120可經由一個或多個合適的通信協定與非揮發性記憶體裝置200的控制器介面210進行通信。記憶體介面120可將從控制器介面210接收的數據DT和選通信號ST傳輸到用於校準操作的校準塊300。
非揮發性記憶體裝置200可根據控制器100的控制對記憶體區域230執行寫入操作和讀取操作。非揮發性記憶體裝置200可包括諸如NAND快閃記憶體或NOR快閃記憶體的快閃記憶體、鐵電隨機存取記憶體(FeRAM)、相變隨機存取記憶體(PCRAM)、磁阻隨機存取記憶體(MRAM)、電阻式隨機存取記憶體(ReRAM)等。
非揮發性記憶體裝置200可包括控制器介面210、數據緩衝器220和記憶體區域230。
控制器介面210可與控制器100的記憶體介面120進行通信。控制器介面210可將從數據緩衝器220接收的數據DT與選通信號ST同步地傳輸到記憶體介面120。控制器介面210可將從記憶體介面120接收的數據,例如,待儲存在記憶體區域230中的數據或用於校準操作的測試數據傳輸到數據緩衝器220。
數據緩衝器220可以是揮發性裝置。數據緩衝器220可在記憶體區域230和控制器介面210之間臨時儲存待寫入在記憶體區域230中的數據或待從記憶體區域230讀取的數據。如上所述,用於校準操作的測試數據並未被儲存在記憶體區域230中,而是可僅被儲存在數據緩衝器220中。
記憶體區域230可儲存從數據緩衝器220接收的數據(測試數據除外)。非揮發性記憶體裝置200可包括能夠儲存數據的多個記憶體單元。記憶體單元可以是單位元記憶體單元或多位元記憶體單元。記憶體區域的記憶體
單元可以二維或三維結構佈置。在較佳實施例中,記憶體區域230的記憶體單元可以是以三維結構佈置的多位元單元。
雖然圖1僅示出了一個非揮發性記憶體裝置200,但將注意的是,根據實施例,數據儲存裝置10可包括多個非揮發性記憶體裝置。
圖2是示出圖1所示的校準塊300的示例性配置的方塊圖。
校準塊300可包括測試單元310和延遲值計算單元320。
當執行校準操作時,測試單元310可從非揮發性記憶體裝置200接收數據DT和選通信號ST,透過使用延遲了測試延遲值中的每一個的選通信號ST來捕獲數據DT,並且確定針對多個測試延遲值中的每一個的捕獲是成功還是失敗。測試單元310可包括暫存器311、移位器312、捕獲部分313和確定部分314。
暫存器311可儲存單位延遲值UVAL和最大測試計數MAXT。
單位延遲值UVAL可以是延遲選通信號ST的單位。待應用於選通信號ST的不同的測試延遲值可根據單位延遲值UVAL來確定。也就是說,測試延遲值可能因單位延遲值UVAL而分別不同。較小的單位延遲值UVAL表示校準操作可被更精細地執行。
最大測試計數MAXT可以是基於選通信號ST的不同的測試延遲值對數據DT的捕獲進行測試的總計數。最大測試計數MAXT可根據透過將選通信號ST的週期除以單位延遲值UVAL而獲得的數值來確定。例如,最大測試計數MAXT可被確定為小於透過將選通信號ST的週期除以單位延遲值UVAL而獲得的數值的最大整數。
移位器312可儲存從非揮發性記憶體裝置200接收的數據DT和選通信號ST,並將數據DT和延遲選通信號STD輸出最大測試計數MAXT次。延遲選通信號STD可基於由單位延遲值UVAL確定的測試延遲值中的每一個來對於數據DT進行延遲。將參照圖3詳細描述移位器312的操作方法。
捕獲部分313可透過使用從移位器312接收的延遲選通信號STD來捕獲從移位器312接收的數據DT,並且可將捕獲數據DTC輸出到確定部分314。
確定部分314可基於從捕獲部分313接收的捕獲數據DTC確定捕獲是成功還是失敗,並輸出指示成功或失敗結果的確定信號DET。確定部分314可透過將捕獲數據DTC與儲存在非揮發性記憶體裝置200的數據緩衝器220中用於校準操作的預定測試數據進行比較來確定捕獲是成功還是失敗,並輸出指示成功或失敗結果的確定信號DET。
延遲值計算單元320可基於確定信號DET來計算選通信號ST的延遲值VAL。更詳細地,延遲值計算單元320可儲存包括在針對測試延遲值中的每個的確定信號DET中的成功/失敗結果,並計算針對其每一個的捕獲被確定為成功的測試延遲值的中間值作為選通信號ST的延遲值VAL。
圖3是示出從圖2的移位器312輸出的數據DT和延遲選通信號STD的時序圖。數據DT和延遲選通信號STD可被傳輸到捕獲部分313。
參照圖3,在時間T30處,移位器312可從非揮發性記憶體裝置200接收並儲存數據DT和選通信號ST。即使在時間T30處,處理電路110可透過根據預設的延遲值控制選通信號ST的時序來接收選通信號ST。然而,由
於這處於校準操作完成之前,所以處理電路110可透過將選通信號ST的延遲值設置為「0」來接收選通信號ST。
然後,在時間T31至T38處,移位器312可基於儲存的數據DT和儲存的選通信號ST,將數據DT和延遲選通信號STD輸出最大測試計數MAXT次。在時間T31至T38處,延遲選通信號STD的測試延遲值TVAL1至TVAL8可以逐漸增加單位延遲值UVAL。例如,在時間T31處,延遲選通信號STD的測試延遲值TVAL1可增加單位延遲值UVAL。在時間T32處,延遲選通信號STD的測試延遲值TVAL2可增加兩倍單位延遲值UVAL。在時間T38處,延遲選通信號STD的測試延遲值TVAL8可增加八倍單位延遲值UVAL。在時間T31至T38處,如下面將參照圖4所述的,捕獲部分313可透過使用延遲選通信號STD來捕獲數據DT,並且確定部分314可接收捕獲數據DTC並基於捕獲數據DTC透過確定捕獲是成功還是失敗來輸出確定信號DET。
圖4是示出圖2所示的捕獲部分313、確定部分314和延遲值計算單元320的操作的簡圖。雖然在圖4中數據DT在延遲選通信號STD的上升邊緣被捕獲,但由於數據DT在DDR模式下被從非揮發性記憶體裝置200輸出,所以數據DT可以在延遲選通信號STD的下降邊緣被捕獲。
參照圖4,捕獲部分313可依序地接收從移位器312接收的數據DT和延遲選通信號STD最大測試計數MAXT次。在圖4所示的示例中,最大測試計數為八(8)。每當接收到數據DT和延遲選通信號STD時,捕獲部分313可在延遲選通信號STD的上升邊緣捕獲數據DT。
當捕獲數據與預定測試數據匹配時,確定部分314可確定捕獲成功。例如,數據DT可透過應用了測試延遲值TVAL1至TVAL3中的每一個的延遲選通信號STD被精確地捕獲。在這種情況下,數據DT與測試數據匹配,並且可確定針對測試延遲值TVAL1至TVAL3中的每一個的捕獲都是成功的。然而,數據DT可能未透過應用了測試延遲值TVAL4至TVAL8中的每一個的延遲選通信號STD被捕獲。在這種情況下,數據DT與測試數據不匹配,並且可確定針對測試延遲值TVAL4至TVAL8的每一個的捕獲是失敗的。
延遲值計算單元320可計算針對其每一個的捕獲都被確定為成功的測試延遲值TVAL1至TVAL3的中間值TVAL2作為選通信號ST的延遲值VAL。此後,當對非揮發性記憶體裝置200執行讀取操作時,處理電路110可透過利用計算的延遲值VAL控制選通信號ST的時序來精確地捕獲數據DT。
圖5是示出圖1的數據儲存裝置10的校準操作方法的流程圖。
在步驟S110中,校準塊300可將預定測試數據儲存在非揮發性記憶體裝置200的數據緩衝器220中。
在步驟S120中,校準塊300可讀取儲存在數據緩衝器220中的數據DT。非揮發性記憶體裝置200可與選通信號ST同步地將數據DT傳輸到控制器100。
在步驟S130中,校準塊300可儲存從非揮發性記憶體裝置200接收的數據DT和選通信號ST。
在步驟S140中,校準塊300可以使測試延遲值增加單位延遲值UVAL。當校準操作開始時,測試延遲值可被設置為單位延遲值UVAL。
在步驟S150中,校準塊300可基於測試延遲值產生延遲選通信號STD。
在步驟S160中,校準塊300可透過延遲選通信號STD來捕獲數據。
在步驟S170中,校準塊300可透過將捕獲數據DTC與測試數據DT進行比較來確定捕獲是成功還是失敗。
在步驟S180中,校準塊300可確定測試已經執行的次數是否等於最大測試計數MAXT。換言之,在步驟S180中,校準塊300可確定是否已達到最大測試計數MAXT。當確定尚未達到最大測試計數MAXT時,進程可進行到步驟S140,以重複測試,其中選通信號ST基於增加了單位延遲值UVAL的新的測試延遲值被延遲。然後對增加的測試延遲值重複步驟S150至S170。步驟S140至S180的循環可被多次重複,直到其最大次數等於最大測試計數MAXT。當在步驟S180中確定測試已經執行的次數等於最大測試計數MAXT時,進程可進行到步驟S190。
在步驟S190中,校準塊300可僅基於針對其每一個的捕獲被確定為成功的測試延遲值來計算選通信號ST的延遲值VAL。當針對多於一個的測試延遲值的捕獲成功時,校準塊300可計算針對其每一個的捕獲都被確定為成功的測試延遲值的中間值作為選通信號ST的延遲值VAL。
圖6是示出圖2的校準塊300對多個非揮發性記憶體裝置執行校準操作的方法的簡圖。
根據實施例,數據儲存裝置10可包括多個非揮發性記憶體裝置,非揮發性記憶體裝置中的每一個以與圖1的非揮發性記憶體裝置200基本
相同的方式構造。例如,數據儲存裝置10可包括4個非揮發性記憶體裝置MEM1至MEM4。在這種情況下,圖2的測試單元310可基於10個不同的測試延遲值TVAL1至TVAL10中的每一個,延遲從非揮發性記憶體裝置MEM1至MEM4接收的各個選通信號。對於測試延遲值TVAL1至TVAL10中的每一個,測試單元310可確定透過使用延遲的選通信號對從非揮發性記憶體裝置MEM1至MEM4中的每一個接收的數據的捕獲是成功還是失敗。延遲值計算單元320可計算測試延遲值TVAL3至TVAL5的中間值TVAL4作為非揮發性記憶體裝置MEM1至MEM4的選通信號的延遲值VAL,其中針對測試延遲值TVAL3至TVAL5中的每一個的捕獲,對於所有的非揮發性記憶體裝置MEM1至MEM4都被確定為是成功的。此後,對於非揮發性記憶體裝置MEM1至MEM4中的每一個,處理電路110可透過利用由校準塊300計算的延遲值VAL控制選通信號的時序來精確地捕獲數據。換言之,由校準塊300計算的延遲值VAL可被共同地應用於從非揮發性記憶體裝置MEM1至MEM4接收的所有的選通信號。
然而,根據實施例,校準塊300可透過根據上述方法對非揮發性記憶體裝置MEM1至MEM4中的每一個執行校準操作來計算不同的延遲值。
圖7是示出根據實施例的固態硬碟(SSD)1000的方塊圖。
SSD 1000可包括經由多個通道CH0至CHn而彼此可操作地耦接的控制器1100和儲存介質1200。
控制器1100可控制主機裝置1500和儲存介質1200之間的數據交換。控制器1100可包括透過內部匯流排1170耦接的處理器1110、隨機存取
記憶體(RAM)1120、唯讀記憶體(ROM)1130、錯誤校正碼(ECC)單元1140、主機介面(IF)1150和儲存介質介面(IF)1160。
控制器1100還可包括包含圖1和圖2的校準單元300的處理電路110,並且可基本上類似於如圖1至圖6所描述的控制器100執行校準操作。控制器1100可基於各個不同的測試延遲值來延遲從多個非揮發性記憶體裝置NVM0至NVMn接收的選通信號。對於各個測試延遲值,控制器1100可確定透過使用延遲的選通信號中的每一個對從非揮發性記憶體裝置NVM0至NVMn中的每一個接收的數據的捕獲是成功還是失敗。控制器1100可計算針對其每一個的捕獲對於全部非揮發性記憶體裝置NVM0至NVMn都被確定為是成功的測試延遲值的中間值,來作為非揮發性記憶體裝置NVM0至NVMn的選通信號的延遲值。
處理器1110可控制控制器1100的一般操作。根據來自主機裝置1500的數據處理請求,處理器1110可將數據儲存在儲存介質1200中以及從儲存介質1200讀取所儲存的數據。為有效地管理儲存介質1200,處理器1110可控制SSD 1000的諸如合併操作、損耗均衡操作等的內部操作。
RAM 1120可儲存將由處理器1110使用的程式和程式數據。RAM 1120可在將從主機介面1150接收的數據轉移至儲存介質1200之前臨時儲存這些數據,並且可在將從儲存介質1200接收的數據轉移至主機裝置1500之前臨時儲存這些數據。
ROM 1130可儲存將由處理器1110讀取的程式碼。程式碼可包括將由處理器1110處理以用於處理器1110控制控制器1100的內部單元的命令。
ECC單元1140可對將儲存在儲存介質1200中的數據進行編碼,並且可對從儲存介質1200讀取的數據進行解碼。ECC單元1140可根據ECC演算法檢測並校正數據中發生的錯誤。
主機介面1150可與主機裝置1500交換數據處理請求、數據等。
儲存介質介面1160可將控制信號和數據傳輸至儲存介質1200。儲存介質介面1160可從儲存介質1200接收數據。儲存介質介面1160可透過多個通道CH0至CHn與儲存介質1200耦接。
儲存介質1200可包括多個非揮發性記憶體裝置NVM0至NVMn。多個非揮發性記憶體裝置NVM0至NVMn中的每一個可根據控制器1100的控制來執行寫入操作和讀取操作。
圖8是示出根據本發明的實施例的採用數據儲存裝置2300的數據處理系統2000的方塊圖。
數據處理系統2000可以是任何適當的電子裝置,例如,包括電腦、膝上型電腦、小筆電、智慧型手機、數位電視(TV)、數位相機、導航器等。數據處理系統2000可包括主處理器2100、主記憶體裝置2200、數據儲存裝置2300和輸入/輸出裝置2400。數據處理系統2000的內部單元可透過系統匯流排2500交換數據、控制信號等。
主處理器2100可控制數據處理系統2000的一般操作。主處理器2100可以是例如微處理器的中央處理單元。主處理器2100可執行主記憶體裝置2200上的諸如作業系統、應用程式、裝置驅動程式等的軟體。
主記憶體裝置2200可儲存將由主處理器2100使用的程式及程式數據。主記憶體裝置2200可臨時儲存將傳輸至數據儲存裝置2300和輸入/輸出裝置2400的數據。
數據儲存裝置2300可包括控制器2310和儲存介質2320。數據儲存裝置2300可基本上類似於圖1的數據儲存裝置10進行配置和操作。因此,控制器2310可包括包含校準塊300的處理單元110,並且可基本上類似於如圖1至圖6所描述的控制器100執行校準操作。
輸入/輸出裝置2400可包括鍵盤、掃描器、觸碰式螢幕、螢幕監視器、印表機、滑鼠等,其能夠與使用者交換數據,諸如從使用者接收用於控制數據處理系統2000的命令或向使用者提供處理結果。
根據實施例,數據處理系統2000可透過諸如區域網路(LAN)、廣域網路(WAN)、無線網路等的網路2600與至少一個伺服器2700進行通信。數據處理系統2000可包括用於存取網路2600的網路介面(未示出)。
雖然上面已經描述了各個實施例,但是本領域技術人員將理解的是,所描述的實施例僅是本發明的示例,並不意在限制本發明的範圍。因此,本文所描述的數據儲存裝置及其操作方法不應基於所描述的實施例而受到限制。
10:數據儲存裝置
11~13:數據讀取路徑
100:控制器
110:處理電路
120:記憶體介面
200:非揮發性記憶體裝置
210:控制器介面
220:數據緩衝器
230:記憶體區域
300:校準塊
DT:數據
ST:選通信號
Claims (20)
- 一種數據儲存裝置,其包括:記憶體裝置,其適於儲存和輸出與選通信號同步的數據;以及控制器,其適於儲存來自所述記憶體裝置的所述數據以及所述選通信號以做為儲存數據以及儲存選通信號,並適於基於不同的測試延遲值中的每一個來延遲所述儲存選通信號以產生延遲選通信號,所述測試延遲值係基於單位延遲值以及最大測試計數來計算,透過使用所述延遲選通信號來測試所述儲存數據的捕獲,以及基於測試結果確定所述選通信號的延遲值。
- 如請求項1所述的數據儲存裝置,其中所述控制器包括:測試單元,其適於針對所述測試延遲值中的每一個,確定所述捕獲是成功還是失敗;以及延遲值計算單元,其適於基於針對其每一個的所述捕獲都被確定為成功的所述測試延遲值來計算所述延遲值。
- 如請求項2所述的數據儲存裝置,其中所述測試單元包括:移位器,其適於儲存從所述記憶體裝置接收的所述數據和所述選通信號,並基於所述測試延遲值中的每一個輸出所述儲存數據和所述延遲選通信號;捕獲部分,其適於透過使用所述延遲選通信號來捕獲所述儲存數據,並輸出所捕獲的數據;以及確定部分,其適於透過將所捕獲的數據與測試數據進行比較來確定所述捕獲是成功還是失敗。
- 如請求項3所述的數據儲存裝置, 其中所述測試延遲值中的兩個相鄰的測試延遲值相差一個單位延遲值,並且其中所述移位器將所述儲存數據和所述延遲選通信號輸出多次,直到由所述單位延遲值和所述選通信號的週期確定的最大測試計數。
- 如請求項2所述的數據儲存裝置,其中所述延遲值計算單元計算針對其每一個的所述捕獲都被確定為成功的所述測試延遲值的中間值作為所述延遲值。
- 如請求項2所述的數據儲存裝置,其進一步包括:一個或多個其它記憶體裝置,其適於輸出與所述選通信號同步的數據,其中對於所述測試延遲值中的每一個,所述測試單元確定對從所述其它記憶體裝置中的每一個接收的數據的所述捕獲是成功還是失敗,並且其中所述延遲值計算單元計算針對其每一個的所述捕獲對於所有的所述其它記憶體裝置和所述記憶體裝置都被確定為成功的所述測試延遲值的中間值作為所述延遲值。
- 如請求項1所述的數據儲存裝置,其中所述記憶體裝置包括揮發性的數據緩衝器,並且其中所述控制器將測試數據儲存在所述數據緩衝器中,並將儲存在所述數據緩衝器中的所述測試數據作為所述數據進行讀取。
- 如請求項7所述的數據儲存裝置,其中所述控制器以單倍數據速率模式將所述測試數據儲存在所述數據緩衝器中,並以雙倍數據速率模式從所述數據緩衝器讀取所述測試數據。
- 一種用於操作數據儲存裝置的方法,其包括:儲存從記憶體裝置接收的數據和選通信號作為儲存數據和儲存選通信號;基於不同的測試延遲值中的每一個來延遲所述儲存選通信號以產生延遲選通信號,所述測試延遲值係基於單位延遲值以及最大測試計數來計算;透過使用所述延遲選通信號來測試所述儲存數據的捕獲;以及基於測試結果來確定所述選通信號的延遲值。
- 如請求項9所述的方法,其中所述捕獲的測試包括:透過將透過使用所述延遲選通信號捕獲的數據與測試數據進行比較來確定所述捕獲是成功還是失敗。
- 如請求項9所述的方法,其中所述延遲值的確定包括:計算針對其每一個的所述捕獲都被確定為成功的所述測試延遲值的中間值作為所述延遲值。
- 如請求項9所述的方法,其中所述測試延遲值中的兩個相鄰的測試延遲值相差一個單位延遲值,並且所述測試延遲值的數量由所述單位延遲值和所述選通信號的週期確定。
- 如請求項9所述的方法,其進一步包括:將測試數據儲存在所述記憶體裝置的數據緩衝器中,所述數據緩衝器為揮發性;以及將儲存在所述數據緩衝器中的所述測試數據作為所述數據進行讀取。
- 如請求項13所述的方法,其中所述測試數據以單倍數據速率(single data rate,SDR)模式被儲存在所述數據緩衝器中,並以 雙倍數據速率(double data rate,DDR)模式從所述數據緩衝器中被讀取。
- 一種用於數據儲存裝置的控制器,其包括:測試單元,其適於從記憶體裝置接收與選通信號同步的數據,儲存從所述記憶體裝置接收的所述數據以及所述選通信號作為儲存數據以及儲存選通信號,基於不同的測試延遲值中的每一個來延遲所述儲存選通信號以產生延遲選通信號,所述測試延遲值係基於單位延遲值以及最大測試計數來計算,以及透過使用所述延遲選通信號來測試所述儲存數據的捕獲;以及延遲值計算器,其適於基於測試結果來確定所述選通信號的延遲值。
- 如請求項15所述的控制器,其中所述測試單元適於針對所述測試延遲值中的每一個,確定所述捕獲是成功還是失敗,並且所述延遲值計算器適於基於針對其每一個的所述捕獲都被確定為成功的所述測試延遲值來計算所述延遲值。
- 如請求項16所述的控制器,其中所述測試單元包括:移位器,其適於儲存從所述記憶體裝置接收的所述數據和所述選通信號,並基於所述測試延遲值中的每一個來輸出所述儲存數據和所述延遲選通信號;捕獲部分,其適於透過使用所述延遲選通信號來捕獲所述儲存數據,並輸出所捕獲的數據;以及確定部分,其適於透過將所捕獲的數據與測試數據進行比較來確定所述捕獲是成功還是失敗。
- 如請求項17所述的控制器, 其中所述測試延遲值中的兩個相鄰的測試延遲值相差一個單位延遲值,並且其中所述移位器將所述儲存數據和所述延遲選通信號輸出多次,直到由所述單位延遲值和所述選通信號的週期確定的最大測試計數。
- 如請求項16所述的控制器,其中所述延遲值計算器計算針對其每一個的捕獲都被確定為成功的測試延遲值的中間值作為所述延遲值。
- 如請求項15所述的控制器,其中所述控制器將測試數據儲存在所述記憶體裝置的數據緩衝器中,並將儲存在所述數據緩衝器中的所述測試數據作為所述數據進行讀取。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ??10-2016-0172570 | 2016-12-16 | ||
| KR1020160172570A KR102671708B1 (ko) | 2016-12-16 | 2016-12-16 | 데이터 저장 장치 및 그것의 동작 방법 |
| KR10-2016-0172570 | 2016-12-16 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201824290A TW201824290A (zh) | 2018-07-01 |
| TWI747951B true TWI747951B (zh) | 2021-12-01 |
Family
ID=62561838
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106130622A TWI747951B (zh) | 2016-12-16 | 2017-09-07 | 數據儲存裝置及其操作方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10056125B2 (zh) |
| KR (1) | KR102671708B1 (zh) |
| CN (1) | CN108206043B (zh) |
| TW (1) | TWI747951B (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10580476B2 (en) * | 2018-01-11 | 2020-03-03 | International Business Machines Corporation | Simulating a single data rate (SDR) mode on a dual data rate (DDR) memory controller for calibrating DDR memory coarse alignment |
| KR102694497B1 (ko) * | 2019-05-09 | 2024-08-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
| CN113450867B (zh) * | 2020-03-27 | 2022-04-12 | 长鑫存储技术有限公司 | 形成用于存储器测试的数据库的方法及存储器测试方法 |
| CN113064844B (zh) * | 2021-04-27 | 2022-10-28 | 长江存储科技有限责任公司 | 存储器写入的训练方法和系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW469699B (en) * | 1998-03-19 | 2001-12-21 | Intel Corp | Method and apparatus for glitch protection for input buffers in a source-synchronous environment |
| TW533421B (en) * | 2000-11-25 | 2003-05-21 | Advantest Corp | Scan vector support for event based test system |
| US20090244997A1 (en) * | 2008-03-31 | 2009-10-01 | Advanced Micro Devices, Inc. | Method for Training Dynamic Random Access Memory (DRAM) Controller Timing Delays |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6889334B1 (en) * | 2001-10-02 | 2005-05-03 | Advanced Micro Devices, Inc. | Multimode system for calibrating a data strobe delay for a memory read operation |
| US7443741B2 (en) * | 2005-07-07 | 2008-10-28 | Lsi Corporation | DQS strobe centering (data eye training) method |
| JP2008210487A (ja) * | 2007-02-28 | 2008-09-11 | Fujitsu Ltd | Ddr−sdramインターフェース回路、その試験方法、およびその試験システム |
| JP2010108217A (ja) * | 2008-10-30 | 2010-05-13 | Nec Electronics Corp | メモリインターフェース及びメモリインターフェースの動作方法 |
| JP5733126B2 (ja) * | 2011-09-15 | 2015-06-10 | 富士通セミコンダクター株式会社 | メモリインタフェース回路及びタイミング調整方法 |
| US8760946B2 (en) * | 2012-05-22 | 2014-06-24 | Advanced Micro Devices | Method and apparatus for memory access delay training |
| US20150194196A1 (en) * | 2014-01-09 | 2015-07-09 | Sunplus Technology Co., Ltd. | Memory system with high performance and high power efficiency and control method of the same |
| CN103927131B (zh) | 2014-03-25 | 2017-02-15 | 四川和芯微电子股份有限公司 | 同步闪存u盘的启动方法及其控制系统 |
| US9524799B2 (en) * | 2014-12-30 | 2016-12-20 | Sandisk Technologies Llc | Method and apparatus to tune a toggle mode interface |
-
2016
- 2016-12-16 KR KR1020160172570A patent/KR102671708B1/ko active Active
-
2017
- 2017-04-11 US US15/484,923 patent/US10056125B2/en active Active
- 2017-09-07 TW TW106130622A patent/TWI747951B/zh active
- 2017-09-29 CN CN201710911655.8A patent/CN108206043B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW469699B (en) * | 1998-03-19 | 2001-12-21 | Intel Corp | Method and apparatus for glitch protection for input buffers in a source-synchronous environment |
| TW533421B (en) * | 2000-11-25 | 2003-05-21 | Advantest Corp | Scan vector support for event based test system |
| US20090244997A1 (en) * | 2008-03-31 | 2009-10-01 | Advanced Micro Devices, Inc. | Method for Training Dynamic Random Access Memory (DRAM) Controller Timing Delays |
Also Published As
| Publication number | Publication date |
|---|---|
| US10056125B2 (en) | 2018-08-21 |
| KR20180070174A (ko) | 2018-06-26 |
| US20180174628A1 (en) | 2018-06-21 |
| KR102671708B1 (ko) | 2024-06-04 |
| CN108206043A (zh) | 2018-06-26 |
| TW201824290A (zh) | 2018-07-01 |
| CN108206043B (zh) | 2021-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105723351B (zh) | 对存储器控制器进行读训练 | |
| CN106710631B (zh) | 数据存储装置及其操作方法 | |
| US8856579B2 (en) | Memory interface having extended strobe burst for read timing calibration | |
| TWI747951B (zh) | 數據儲存裝置及其操作方法 | |
| US10916301B2 (en) | Data storage device and operating method thereof | |
| US10741261B1 (en) | Method and system for improving performance of a storage device using asynchronous independent plane read functionality | |
| US9898199B2 (en) | Data storage device and operating method thereof | |
| US10474374B2 (en) | Method and apparatus for storage device latency/bandwidth self monitoring | |
| US10268540B2 (en) | Data storage device and operating method thereof | |
| CN106205728B (zh) | 奇偶校验电路及包括该奇偶校验电路的存储器装置 | |
| TWI725102B (zh) | 資料儲存裝置及固態驅動器 | |
| US11461036B2 (en) | Technologies for logging and visualizing storage events | |
| CN108074622A (zh) | 存储器控制器、数据芯片及其控制方法 | |
| US20240061746A1 (en) | Controller controlling non-volatile memory device, storage device including the same, and operating method thereof | |
| CN108628545A (zh) | 数据存储装置及其操作方法 | |
| CN107507638A (zh) | 数据存储装置及其操作方法 | |
| US20180196620A1 (en) | Data storage device and operating method thereof | |
| KR20220032816A (ko) | 메모리 시스템에서 데이터 통신을 보정하는 장치 및 방법 | |
| US8635487B2 (en) | Memory interface having extended strobe burst for write timing calibration | |
| US9823853B2 (en) | Data storage device including controller for controlling nonvolatile memory devices | |
| US20250191627A1 (en) | Device with improved data receiving logic using multiple latching and method thereof | |
| TW202349217A (zh) | 記憶體系統和記憶體系統的操作方法 | |
| KR20150082930A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| KR20160009527A (ko) | 소프트 정보에 대한 데이터 전송의 수행 최적화 |