TWI650641B - 儲存裝置以及刷新方法 - Google Patents
儲存裝置以及刷新方法 Download PDFInfo
- Publication number
- TWI650641B TWI650641B TW106129948A TW106129948A TWI650641B TW I650641 B TWI650641 B TW I650641B TW 106129948 A TW106129948 A TW 106129948A TW 106129948 A TW106129948 A TW 106129948A TW I650641 B TWI650641 B TW I650641B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage device
- flash memory
- memory array
- page
- idle time
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一種儲存裝置,包括:快閃式記憶體陣列以及控制器。快閃式記憶體陣列包括複數區塊,用以儲存資料。控制器在儲存裝置上電後之一閒置時間內,掃描快閃式記憶體陣列,以確認快閃式記憶體陣列儲存之資料之正確性。
Description
本發明係有關於一種快閃式記憶體裝置及其刷新方法。
當系統上電時,固態硬碟往往也跟著直接上電。然而在固態硬碟上電後至固態硬碟被第一次存取之間,具有一空閒時間,為了有效的提昇固態硬碟的效能,我們有必要針對空閒時間進行更有效率的利用,進而提昇固態硬碟的存取速度。
有鑑於此,本發明提出本發明提出一種儲存裝置,包括:一快閃式記憶體陣列以及一控制器。上述快閃式記憶體陣列包括複數區塊,其中上述區塊用以儲存資料。上述控制器在一閒置時間內,掃描上述快閃式記憶體陣列,以確認上述快閃式記憶體陣列儲存之資料之正確性。
根據本發明之一實施例,上述閒置時間係為上述儲存裝置完成初始化之後至一主機完成初始化的時間。
根據本發明之另一實施例,上述閒置時間係為上述儲存裝置完成初始化至接收來自一主機的存取指令之前的時間。
根據本發明之一實施例,當上述控制器掃描上述
快閃式記憶體陣列時,上述控制器選擇上述區塊之每一者之至少一頁面進行掃描,並判斷上述頁面對應之錯誤位元是否超過一臨限值。
根據本發明之一實施例,當上述頁面之任一者之錯誤位元超過上述臨限值時,上述控制器對上述快閃式記憶體陣列進行一刷新程序。
根據本發明之一實施例,當上述頁面之一者之錯誤位元超過上述臨限值時,上述控制器對上述頁面對應之上述區塊進行一刷新程序。
本發明更提出一種刷新方法,適用於一儲存裝置,上述刷新方法包括:初始化上述儲存裝置;於一閒置時間內掃描上述儲存裝置,以確認上述儲存裝置儲存之資料之正確性;以及進入一待命狀態,準備接自外部接收一存取指令。
根據本發明之一實施例,上述閒置時間係為上述儲存裝置完成初始化之後至一主機完成初始化的時間。
根據本發明之另一實施例,上述閒置時間係為上述儲存裝置完成初始化至接收來自一主機的存取指令之前的時間。
根據本發明之一實施例,上述儲存裝置包括一快閃式記憶體陣列,上述快閃式記憶體陣列包括複數區塊,其中上述於上述閒置時間內掃描上述快閃式記憶體陣列以確認上述快閃式記憶體陣列儲存之資料之正確性之步驟更包括:掃描上述區塊之每一者之至少一頁面;判斷上述頁面之錯誤位元是否超過一臨限值;以及當上述頁面之任一者之錯誤位元超過上
述臨限值時,對上述快閃式記憶體陣列進行一刷新程序。
根據本發明之一實施例,上述儲存裝置包括一快閃式記憶體陣列,上述快閃式記憶體陣列包括複數區塊,其中上述於上述閒置時間內掃描上述快閃式記憶體陣列以確認上述快閃式記憶體陣列儲存之資料之正確性之步驟更包括:掃描上述區塊之每一者之至少一頁面;判斷上述頁面之錯誤位元是否超過一臨限值;以及當上述頁面之任一者之錯誤位元超過上述臨限值時,對上述頁面對應之上述區塊進行一刷新程序。
100‧‧‧儲存裝置
101‧‧‧快閃式記憶體陣列
102‧‧‧控制器
10‧‧‧主機
INS‧‧‧存取指令
S202~S210‧‧‧步驟流程
第1圖係顯示根據本發明之一實施例所述之儲存裝置之方塊圖;以及第2圖係顯示根據本發明之一實施例所述之上電存取表之示意圖。
以下說明為本發明的實施例。其目的是要舉例說明本發明一般性的原則,不應視為本發明之限制,本發明之範圍當以申請專利範圍所界定者為準。
值得注意的是,以下所揭露的內容可提供多個用以實踐本發明之不同特點的實施例或範例。以下所述之特殊的元件範例與安排僅用以簡單扼要地闡述本發明之精神,並非用以限定本發明之範圍。此外,以下說明書可能在多個範例中重複使用相同的元件符號或文字。然而,重複使用的目的僅為了提供簡化並清楚的說明,並非用以限定多個以下所討論之實施
例以及/或配置之間的關係。此外,以下說明書所述之一個特徵連接至、耦接至以及/或形成於另一特徵之上等的描述,實際可包含多個不同的實施例,包括該等特徵直接接觸,或者包含其它額外的特徵形成於該等特徵之間等等,使得該等特徵並非直接接觸。
第1圖係顯示根據本發明之一實施例所述之儲存裝置之方塊圖。如第1圖所示,儲存裝置100包括快閃式記憶體陣列101以及控制器102,其中儲存裝置100耦接至主機10,並且主機10與儲存裝置100組成一系統。根據本發明之一實施例,儲存裝置100可為一採用USB、UFS、eMMC、SD、Memory Stick、Compact Flash、CFast、SAS(Serial Attached SCSI)、SATA、PATA、PCIE物理介面或是採用USB、NVME、AHCI、SCSI通信協定的固態硬碟。
當主機10開始初始化(Initializing)時,也會要求週邊裝置,例如儲存裝置100,開始初始化,然而,儲存裝置100完成初始化所需的時間比主機10完成初始化所需的時間短,因此,在儲存裝置100完成初始化後而主機10完成初始化的期間(亦可稱為閒置時間)。根據本發明之一實施例,快閃式記憶體陣列101包括複數區塊,其中每一區塊包括複數頁面,用以儲存資料。由於儲存裝置100可以迅速完成初始化,所以,閒置時間亦可以是儲存裝置100上電後,從完成儲存裝置100之初始化至接收主機10所發出存取指令INS而開始存取儲存裝置100之前的時間。
在閒置時間中,控制器102可主動地掃描快閃式記
憶體陣列101之頁面,用以確認快閃式記憶體陣列101儲存之資料的正確性。根據本發明之一實施例,當控制器102主動地掃描快閃式記憶體陣列101時,控制器102抽樣選取快閃式記憶體陣列101之頁面進行掃描,並判斷抽樣之頁面的錯誤位元是否超過臨限值。根據本發明之其他實施例,控制器102可利用任何抽樣方式,對快閃式記憶體陣列101之複數區塊之每一者之至少一頁面進行掃描,並判斷抽樣之頁面的錯誤位元是否超過臨限值。
根據本發明之一實施例,當抽樣之頁面之任一者的錯誤位元超過臨限值時,代表快閃式記憶體陣列101儲存之資料具有資料保存(data retention)之問題,因此控制器102對整個快閃式記憶體陣列101執行刷新(refresh)程序,用以提昇快閃式記憶體陣列101之資料的正確性。
根據本發明之另一實施例,當控制器102掃描快閃式記憶體陣列101時,控制器102於每一區塊中選取至少一頁面進行掃描,並判斷抽樣之頁面的錯誤位元是否超過臨限值。當掃描之頁面的錯誤位元超過臨限值時,代表該頁面對應之區塊所儲存之資料具有資料保存之問題,因此控制器102對錯誤位元過高之頁面所對應之區塊執行刷新程序,使得該區塊之資料的正確性得以提昇。
根據本發明之其他實施例,控制器102可利用各種抽樣方式選取快閃式記憶體陣列101之頁面並進行掃描,在此並非以任何形式限定抽樣方式,並對對應之區塊、晶粒(die)或整個快閃式記憶體陣列101執行刷新程序,在此僅作為說明
解釋,並非以任何形式限定於此。
第2圖係顯示根據本發明之一實施例所述之刷新方法之流程圖。以下關於第2圖之流程圖,將結合第1圖,以利詳細說明。首先,初始化儲存裝置100(步驟S202)。當儲存裝置100上電、重新上電或重新啟動後,可迅速完成初始化。並且在閒置時間內控制器102掃描快閃式記憶體陣列101之頁面(步驟S204),以確認快閃式記憶體陣列101之資料正確性。根據本發明之一實施例,在儲存裝置100完成初始化後到主機10完成初始化,或儲存裝置100完成初始化後到接收來自主機10的存取指令INS之前的期間,稱為閒置時間。根據本發明之一實施例,第1圖之控制器102隨機選擇快閃式記憶體陣列101之頁面進行掃描。根據本發明之其他實施例,控制器102可利用任何抽樣方式,對快閃式記憶體陣列101之複數區塊之每一者之至少一頁面進行掃描。
接著,判斷被掃描之頁面的錯誤位元是否超過臨限值(步驟S206)。根據本發明之一實施例,步驟S204結合步驟S206係為掃描儲存裝置100儲存之資料,用以確認儲存裝置儲存之資料之正確性。當被掃描之頁面的錯誤位元超過臨限值時,進行刷新程序(步驟S208);隨後,儲存裝置100進入待命狀態,準備接收來自於主機10的存取指令INS(步驟S210)。當被掃描之頁面之錯誤位元並未超過臨限值,可重覆執行步驟S204,待全部或預設的頁面都完成掃描後,執行步驟S210。另外,當掃描頁面的過程中,如果接收來自於主機10的指令時,則中斷頁面的掃描,直接跳至步驟S210,待儲存裝置100重新
進入待命狀態後,再繼續頁面的掃描,直到全部或預設的頁面都完成掃描後,才完成本發明刷新方法之流程。
根據本發明之一實施例,當被掃描之頁面之任一者的錯誤位元超過臨限值時,對整個快閃式記憶體陣列101進行刷新程序,以提昇快閃式記憶體陣列101之資料的正確性。根據本發明之另一實施例,當被掃描之頁面之某一者的錯誤位元超過臨限值時,對錯誤位元超過臨限值之頁面所對應之區塊進行刷新程序,以提昇該區塊之資料的正確性。
根據本發明之其他實施例,控制器102可利用各種抽樣方式選取快閃式記憶體陣列101之頁面並進行掃描,在此並非以任何形式限定抽樣方式,並對對應之區塊、晶粒(die)或整個快閃式記憶體陣列101執行刷新程序,在此僅作為說明解釋,並非以任何形式限定於此。
由於在閒置時間(即,儲存裝置100完成初始化後而主機10尚未完成初始化的期間)中,儲存裝置100處於閒置狀態,因此儲存裝置100在閒置時間內進行掃描以及刷新程序不但能夠有效利用主機10完成初始化前的時間,更有助於提高往後主機10存取資料的正確性。
以上所述為實施例的概述特徵。所屬技術領域中具有通常知識者應可以輕而易舉地利用本發明為基礎設計或調整以實行相同的目的和/或達成此處介紹的實施例的相同優點。所屬技術領域中具有通常知識者也應了解相同的配置不應背離本創作的精神與範圍,在不背離本創作的精神與範圍下他們可做出各種改變、取代和交替。說明性的方法僅表示示範性
的步驟,但這些步驟並不一定要以所表示的順序執行。可另外加入、取代、改變順序和/或消除步驟以視情況而作調整,並與所揭露的實施例精神和範圍一致。
Claims (9)
- 一種儲存裝置,包括:一快閃式記憶體陣列,包括複數區塊,其中上述區塊用以儲存資料;以及一控制器在一閒置時間內,掃描上述快閃式記憶體陣列,以確認上述快閃式記憶體陣列儲存之資料之正確性,其中上述閒置時間係為上述儲存裝置完成初始化之後至一主機完成初始化的時間。
- 一種儲存裝置,包括:一快閃式記憶體陣列,包括複數區塊,其中上述區塊用以儲存資料;以及一控制器在一閒置時間內,掃描上述快閃式記憶體陣列,以確認上述快閃式記憶體陣列儲存之資料之正確性,其中上述閒置時間係為上述儲存裝置完成初始化至接收來自一主機的存取指令之前的時間。
- 如申請專利範圍第1項所述之儲存裝置,其中當上述控制器掃描上述快閃式記憶體陣列時,上述控制器選擇上述區塊之每一者之至少一頁面進行掃描,並判斷上述頁面對應之錯誤位元是否超過一臨限值。
- 如申請專利範圍第3項所述之儲存裝置,其中當上述頁面之任一者之錯誤位元超過上述臨限值時,上述控制器對上述快閃式記憶體陣列進行一刷新程序。
- 如申請專利範圍第3項所述之儲存裝置,其中當上述頁面之一者之錯誤位元超過上述臨限值時,上述控制器對上述 頁面對應之上述區塊進行一刷新程序。
- 一種刷新方法,適用於一儲存裝置,上述刷新方法包括:初始化上述儲存裝置;於一閒置時間內掃描上述儲存裝置,以確認上述儲存裝置儲存之資料之正確性;以及進入一待命狀態,準備自外部接收一存取指令,其中上述閒置時間係為上述儲存裝置完成初始化之後至一主機完成初始化的時間。
- 一種刷新方法,適用於一儲存裝置,上述刷新方法包括:初始化上述儲存裝置;於一閒置時間內掃描上述儲存裝置,以確認上述儲存裝置儲存之資料之正確性;以及進入一待命狀態,準備自外部接收一存取指令,其中上述閒置時間係為上述儲存裝置完成初始化至接收來自一主機的存取指令之前的時間。
- 如申請專利範圍第6項所述之刷新方法,其中上述儲存裝置包括一快閃式記憶體陣列,上述快閃式記憶體陣列包括複數區塊,其中於上述閒置時間內掃描上述快閃式記憶體陣列以確認上述快閃式記憶體陣列儲存之資料之正確性之步驟更包括:掃描上述區塊之每一者之至少一頁面;判斷上述頁面之錯誤位元是否超過一臨限值;以及當上述頁面之任一者之錯誤位元超過上述臨限值時,對上述快閃式記憶體陣列進行一刷新程序。
- 如申請專利範圍第6項所述之刷新方法,其中上述儲存裝置包括一快閃式記憶體陣列,上述快閃式記憶體陣列包括複數區塊,其中於上述閒置時間內掃描上述快閃式記憶體陣列以確認上述快閃式記憶體陣列儲存之資料之正確性之步驟更包括:掃描上述區塊之每一者之至少一頁面;判斷上述頁面之錯誤位元是否超過一臨限值;以及當上述頁面之任一者之錯誤位元超過上述臨限值時,對上述頁面對應之上述區塊進行一刷新程序。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810001350.8A CN108877858B (zh) | 2017-05-10 | 2018-01-02 | 储存装置以及刷新方法 |
US15/954,308 US20180329649A1 (en) | 2017-05-10 | 2018-04-16 | Flash Memory Devices and Prefetch Methods Thereof |
JP2018079740A JP6734320B2 (ja) | 2017-05-10 | 2018-04-18 | 記憶装置およびリフレッシュ方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762504140P | 2017-05-10 | 2017-05-10 | |
US62/504,140 | 2017-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201901436A TW201901436A (zh) | 2019-01-01 |
TWI650641B true TWI650641B (zh) | 2019-02-11 |
Family
ID=65803390
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106126215A TWI646551B (zh) | 2017-05-10 | 2017-08-03 | 儲存裝置、記錄方法以及預載方法 |
TW106129948A TWI650641B (zh) | 2017-05-10 | 2017-09-01 | 儲存裝置以及刷新方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106126215A TWI646551B (zh) | 2017-05-10 | 2017-08-03 | 儲存裝置、記錄方法以及預載方法 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI646551B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040057318A1 (en) * | 2002-09-24 | 2004-03-25 | Sandisk Corporation | Non-volatile memory and method with reduced bit line crosstalk errors |
US6738289B2 (en) * | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
US20050169082A1 (en) * | 2002-09-24 | 2005-08-04 | Raul-Adrian Cernea | Memory sensing circuit and method for low voltage operation |
US7224614B1 (en) * | 2005-12-29 | 2007-05-29 | Sandisk Corporation | Methods for improved program-verify operations in non-volatile memories |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US20090172246A1 (en) * | 2007-12-26 | 2009-07-02 | Sandisk Il Ltd. | Device and method for managing initialization thereof |
TWI514140B (zh) * | 2013-02-05 | 2015-12-21 | Via Tech Inc | 非揮發性記憶裝置及其操作方法 |
JP2016181106A (ja) * | 2015-03-24 | 2016-10-13 | 富士通株式会社 | 情報処理装置、およびプログラム |
WO2017039386A1 (ko) * | 2015-09-04 | 2017-03-09 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
-
2017
- 2017-08-03 TW TW106126215A patent/TWI646551B/zh active
- 2017-09-01 TW TW106129948A patent/TWI650641B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738289B2 (en) * | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
US20040057318A1 (en) * | 2002-09-24 | 2004-03-25 | Sandisk Corporation | Non-volatile memory and method with reduced bit line crosstalk errors |
US20050169082A1 (en) * | 2002-09-24 | 2005-08-04 | Raul-Adrian Cernea | Memory sensing circuit and method for low voltage operation |
US7224614B1 (en) * | 2005-12-29 | 2007-05-29 | Sandisk Corporation | Methods for improved program-verify operations in non-volatile memories |
Also Published As
Publication number | Publication date |
---|---|
TW201901436A (zh) | 2019-01-01 |
TWI646551B (zh) | 2019-01-01 |
TW201901677A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10255192B2 (en) | Data storage device and data maintenance method thereof | |
US9400744B2 (en) | Magnetic random access memory journal for multi-level cell flash memory | |
US20200350929A1 (en) | Memory system | |
CN111752487B (zh) | 一种数据恢复方法、装置及固态硬盘 | |
US10474573B2 (en) | Method for managing flash memory module and associated flash memory controller and electronic device | |
US9760433B2 (en) | Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof | |
US20170038969A1 (en) | Data storage device and operating method thereof | |
KR102349382B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
TWI691965B (zh) | 資料處理裝置及其操作方法 | |
US10475517B2 (en) | Characterizing and operating a non-volatile memory device | |
US10768860B2 (en) | Data storage device, operating method of the same, and electronic system including the same | |
CN108877858B (zh) | 储存装置以及刷新方法 | |
US20160049204A1 (en) | Memory system and method of controlling non-volatile memory | |
US8848448B2 (en) | Semiconductor memory device and operating method thereof | |
US20150220394A1 (en) | Memory system and method of controlling memory system | |
US20150149858A1 (en) | Memory controller and method of operating memory controller for reading data from memory device at high speed | |
TW202018518A (zh) | 資料儲存裝置與資料處理方法 | |
KR20060054538A (ko) | 플래시 메모리의 데이터 처리 장치 및 방법 | |
CN109284070B (zh) | 一种基于stt-mram固态存储器件断电恢复方法 | |
KR20180092422A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
TWI650641B (zh) | 儲存裝置以及刷新方法 | |
US9471227B2 (en) | Implementing enhanced performance with read before write to phase change memory to avoid write cancellations | |
US11494312B2 (en) | Flash memory devices and prefetch methods thereof | |
JP6107625B2 (ja) | 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法 | |
KR20050076156A (ko) | 플래시 메모리의 데이터 복구 장치 및 방법 |