TWI646551B - 儲存裝置、記錄方法以及預載方法 - Google Patents
儲存裝置、記錄方法以及預載方法 Download PDFInfo
- Publication number
- TWI646551B TWI646551B TW106126215A TW106126215A TWI646551B TW I646551 B TWI646551 B TW I646551B TW 106126215 A TW106126215 A TW 106126215A TW 106126215 A TW106126215 A TW 106126215A TW I646551 B TWI646551 B TW I646551B
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- user data
- storage device
- access
- access table
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一種儲存裝置,包括快閃式記憶體陣列以及控制器。快閃式記憶體陣列儲存複數使用者資料。於完成初始化程序之後,控制器依據主機指令及H2F對照表存取快閃式記憶體陣列之使用者資料,並將被存取的使用者資料的位址資訊記錄至上電存取表。
Description
本發明係有關於一種快閃式記憶體裝置及其預載方法。
當系統上電時,固態硬碟往往也跟著直接上電。然而在固態硬碟上電後至固態硬碟被第一次存取之間,具有一空閒時間,為了有效的提昇固態硬碟的效能,我們有必要針對空閒時間進行更有效率的利用,進而提昇固態硬碟的存取速度。
有鑑於此,本發明提出一種儲存裝置,包括:一快閃式記憶體陣列、一動態隨機存取記憶體以及一控制器。上述快閃式記憶體陣列儲存複數使用者資料。上述控制器於完成一初始化程序之後,依據複數主機指令及一H2F對照表存取上述快閃式記憶體陣列之上述使用者資料,並將被存取的上述使用者資料的複數位址資訊記錄至一上電存取表。
根據本發明之一實施例,上述上電存取表的大小小於上述H2F對照表。
根據本發明之一實施例,上述位址資訊為上述使用者資料的複數邏輯位址資訊。
根據本發明之一實施例,上述位址資訊更包括上述使用者資料的複數物理位址資訊。
根據本發明之一實施例,上述控制器依據上述使用者資料的存取順序而將上述位址資訊依序記錄至上述上電存取表。
本發明更提出一種儲存裝置,包括一快閃式記憶體陣列以及一控制器。上述快閃式記憶體陣列儲存複數使用者資料。上述控制器於完成一初始化程序之後,判斷一上電存取表是否存在上述快閃式記憶體陣列,如果是,則將上述上電存取表所對應的上述使用者資料上傳至一資料暫存器。
根據本發明之一實施例,上述控制器更依據一H2F對照表而將上述上電存取表所對應的上述使用者資料上傳至上述資料暫存器。
根據本發明之一實施例,當上述資料暫存器不足以儲存上述上電存取表所對應的所有上述使用者資料時,上述控制器僅將上述上電存取表所對應的部份上述使用者資料上傳至上述資料暫存器。
根據本發明之一實施例,上述控制器依序將上述上電存取表所對應的上述使用者資料上傳至上傳資料暫存器。
根據本發明之一實施例,上述控制器於完成上述初始化程序之後,並於收到一主機指令之前,將上述上電存取表所對應的上述使用者資料上傳至上述資料暫存器。
本發明更提出一種記錄方法,用以建立一儲存裝置之一上電存取表,包括:執行一初始化程序;依據複數主機
指令及一H2F對照表存取一快閃式記憶體陣列所儲存的複數使用者資料;以及將上述使用者資料的複數位址資訊記錄至上述上電存取表。
本發明更提出一種預載方法,用以使用一儲存裝置之一上電存取表,包括:執行一初始化程序;以及判斷上述上電存取表是否存在,如果是則將上述上電存取表所對應的使用者資料自一快閃式記憶體陣列上傳至一資料暫存器。
根據本發明之一實施例,上述使用上述上電存取表方法更包括依據複數主機指令、上述上電存取表及一H2F對照表存取上述儲存裝置。
根據本發明之一實施例,當上述上電存取表不存在時,依據複數主機指令以及一H2F對照表存取上述儲存裝置。
100‧‧‧儲存裝置
101‧‧‧快閃式記憶體陣列
102‧‧‧動態隨機存取記憶體
103‧‧‧控制器
10‧‧‧主機
200A、200B‧‧‧上電存取表
INS‧‧‧存取指令
S10~S16‧‧‧步驟流程
S20~S26‧‧‧步驟流程
第1圖係顯示根據本發明之一實施例所述之儲存裝置之方塊圖;第2A圖係顯示根據本發明之一實施例所述之上電存取表之示意圖;第2B圖係顯示根據本發明之另一實施例所述之上電存取表之示意圖;第3A圖係顯示根據本發明之一實施例所述之建立上電存取表方法之流程圖;以及第3B圖係顯示根據本發明之一實施例所述之使用上電存取表方法之流程圖。
以下說明為本發明的實施例。其目的是要舉例說明本發明一般性的原則,不應視為本發明之限制,本發明之範圍當以申請專利範圍所界定者為準。
值得注意的是,以下所揭露的內容可提供多個用以實踐本發明之不同特點的實施例或範例。以下所述之特殊的元件範例與安排僅用以簡單扼要地闡述本發明之精神,並非用以限定本發明之範圍。此外,以下說明書可能在多個範例中重複使用相同的元件符號或文字。然而,重複使用的目的僅為了提供簡化並清楚的說明,並非用以限定多個以下所討論之實施例以及/或配置之間的關係。此外,以下說明書所述之一個特徵連接至、耦接至以及/或形成於另一特徵之上等的描述,實際可包含多個不同的實施例,包括該等特徵直接接觸,或者包含其它額外的特徵形成於該等特徵之間等等,使得該等特徵並非直接接觸。
第1圖係顯示根據本發明之一實施例所述之儲存裝置之方塊圖。如第1圖所示,儲存裝置100包括快閃式記憶體陣列101、動態隨機存取記憶體102以及控制器103,其中儲存裝置100耦接至主機10,並且主機10與儲存裝置100組成一系統,儲存裝置100產生並維持邏輯-物理(Host Logical-Flash Physical,H2F)對照表,記錄使用者資料的邏輯位址與物理位址的對應關係。根據本發明之一實施例,儲存裝置100可為一採用USB、SATA、PATA、PCIE物理介面或是採用USB、NVME、AHCI、SCSI通信協定的固態硬碟。
假設儲存裝置100的資料儲存量為256GB,於系統開機後,控制器103除了依據H2F對照表提供主機10所需的使用者資料,並將這些使用者資料的邏輯位址或物理位址記錄至上電存取表。假設在上電存取表中一筆邏輯位址或物理位址的大小為2B,一筆邏輯位址或物理位址對應至4KB的使用者資料,則控制器103可建立8MB大小的上電存取表以記錄16GB大小的使用者資料的邏輯位址。其中,上電存取表記錄主機10所欲讀取或寫入的使用者資料,依據主機10的運作特性,上電存取表所記錄的使用者資料可能是作業系統、應用程式、或電腦遊戲的檔案,且上電存取表主要是記錄主機10所欲讀取的使用者資料,少部份是主機10所欲更新/寫入的使用者資料。
當主機10開始初始化(Initializing)時,也會要求週邊裝置,例如儲存裝置100,開始初始化,然而,儲存裝置100完成初始化所需的時間比主機10完成初始化所需的時間短,因此,在儲存裝置100完成初始化後而主機10尚未完成初始化的期間(亦可稱為閒置時間),控制器103根據上電存取表所記錄之位址資訊,而將使用者資料自快閃式記憶體陣列101預先載入至動態隨機存取記憶體102,等主機10完成初始化並開始作業系統載入時,即主機10從儲存裝置100載入作業系統的檔案時,儲存裝置100可迅速地從動態隨機存取記憶體102,而非從快閃式記憶體陣列101,提供作業系統的檔案(即使用者資料)至主機10,以縮短資料存取所需的時間。由於儲存裝置100可以迅速完成初始化,所以,閒置時間也可視為儲存裝置100上電後至主機10開始存取儲存裝置100之前的時間。
根據本發明之另一實施例,上電存取表的記錄較佳依據使用者資料的讀取順序而記錄。如此一來,假設控制器103無法在閒置時間將上電存取表所對應的所有使用者資料載入至動態隨機存取記憶體102,由於先載入的使用者資料可能將被主機10所先讀取,在資料讀取及處理的過程中,控制器103可繼續將上電存取表所對應的剩餘使用者資料載入至動態隨機存取記憶體102,等待主機10來讀取而達到本發明的目的。
根據本發明之另一實施例,控制器103依據快閃式記憶體陣列101的參數對上電存取表的記錄進行排列,其中,快閃式記憶體陣列101的參數包括:通道(Channel)數目或晶片致能(Chip Enable)數目,以加速使用者資料的讀取速度。
根據本發明之另一實施例,上電存取表所對應的使用者資料的大小較佳小於動態隨機存取記憶體102的資料儲存量,如此一來,上電存取表所對應的全部使用者資料可儲存至動態隨機存取記憶體102。
根據本發明之另一實施例,當上電存取表所對應的使用者資料的大小大於動態隨機存取記憶體102的資料儲存量時,控制器103僅將上電存取表所對應的部份使用者資料載入至動態隨機存取記憶體102,待這些使用者資料被主機10所先讀取之後,以上電存取表所對應的剩餘使用者資料替代已儲存於動態隨機存取記憶體102的使用者資料。
第2A圖係顯示根據本發明之一實施例所述之上電存取表之示意圖。根據本發明之一實施例,上電存取表200A用以記錄使用者資料的邏輯位址,依據H2F對照表,控制器103
可以得知每一使用者資料儲存於快閃式記憶體陣列101的位址,並存取之。在此僅以10筆存取資料進行說明解釋,並非以任何形式限定於此。
第2B圖係顯示根據本發明之另一實施例所述之上電存取表之示意圖。根據本發明之一實施例,上電存取表200B如同小型的H2F對照表,記錄使用者資料的邏輯位址以及物理位址。因此,控制器103可依據上電存取表得知每一使用者資料儲存於快閃式記憶體陣列101的位址,並存取之。在此僅以10筆存取資料進行說明解釋,並非以任何形式限定於此。
第3A圖係顯示根據本發明之一實施例所述之建立上電存取表方法之流程圖,此建立上電存取表方法適用於儲存裝置100。首先,儲存裝置100執行初始化(步驟S10),其中,儲存裝置100的初始化可以由電源的再供應或主機10的主機命令所啟動。
接著,依據主機指令及H2F對照表存取快閃式記憶體陣列之使用者資料(步驟S12)。儲存裝置100完成初始化後,等待接收來自於主機10的主機命令。假設主機10也完成初始化並開始作業系統載入,則主機命令主要是資料讀取命令以要求儲存裝置100提供作業系統的檔案。儲存裝置100依據主機命令以及H2F對照表讀取快閃式記憶體陣列101之使用者資料(作業系統的檔案),並將使用者資料輸出至主機10。除了資料讀取命令之外,主機命令亦可能是資料寫入命令。
接著,將使用者資料的位址資訊記錄至上電存取表(步驟S14)並判斷上電存取表是否已儲滿位址資訊(步驟
S16),如果上電存取表尚未儲滿位址資訊則繼續記錄位址資訊至上電存取表;如果上電存取表已儲滿位址資訊(例如:已儲存8MB位址資訊)則結束本發明建立上電存取表方法之執行。
第3B圖係顯示根據本發明之一實施例所述之使用上電存取表方法之流程圖,此建立上電存取表方法適用於儲存裝置100。
首先,儲存裝置100執行初始化(步驟S20),其中,儲存裝置100的初始化可以由電源的再供應或主機10的主機命令所啟動。
接著,判斷上電存取表是否存在(步驟S22),如果存在則執行步驟S24,否則結束本發明使用上電存取表方法之執行。
接著,依據H2F對照表,依序將上電存取表所對應的使用者資料上傳至資料暫存器(步驟S24),其中,資料暫存器可為動態隨機存取記憶體102,如果上電存取表所對應的使用者資料的資料量大於資料暫存器的資料儲存量,則先上傳部份上電存取表所對應的使用者資料至資料暫存器,再上傳剩餘上電存取表所對應的使用者資料至資料暫存器。如果上電存取表的記錄如圖2B所示,則控制器103不需使用H2F對照表也能依序將上電存取表所對應的使用者資料上傳至資料暫存器。
接著,依據主機指令、上電存取表及H2F對照表存取儲存裝置100(步驟S26)。儲存裝置100接收來自於主機10的主機命令,首先判斷主機命令中的邏輯位址是否記錄於上電存取表,如果是,則儲存裝置100直接提供資料暫存器所儲存的
使用者資料至主機10;反之,儲存裝置100依據主機指令及H2F對照表存取儲存於快閃式記憶體陣列101之使用者資料。
以上所述為實施例的概述特徵。所屬技術領域中具有通常知識者應可以輕而易舉地利用本發明為基礎設計或調整以實行相同的目的和/或達成此處介紹的實施例的相同優點。所屬技術領域中具有通常知識者也應了解相同的配置不應背離本創作的精神與範圍,在不背離本創作的精神與範圍下他們可做出各種改變、取代和交替。說明性的方法僅表示示範性的步驟,但這些步驟並不一定要以所表示的順序執行。可另外加入、取代、改變順序和/或消除步驟以視情況而作調整,並與所揭露的實施例精神和範圍一致。
Claims (14)
- 一種儲存裝置,包括:一快閃式記憶體陣列,儲存複數使用者資料;以及一控制器,於完成一初始化程序之後,依據複數主機指令及一H2F對照表存取上述快閃式記憶體陣列之上述使用者資料,並將被存取的上述使用者資料的複數位址資訊記錄至一上電存取表。
- 如申請專利範圍第1項所述之儲存裝置,其中上述上電存取表的大小小於上述H2F對照表。
- 如申請專利範圍第1項所述之儲存裝置,其中上述位址資訊為上述使用者資料的複數邏輯位址資訊。
- 如申請專利範圍第3項所述之儲存裝置,其中上述位址資訊更包括上述使用者資料的複數物理位址資訊。
- 如申請專利範圍第1項所述之儲存裝置,其中上述控制器依據上述使用者資料的存取順序而將上述位址資訊依序記錄至上述上電存取表。
- 一種儲存裝置,包括:一快閃式記憶體陣列,儲存複數使用者資料;以及一控制器,於完成一初始化程序之後,判斷一上電存取表是否存在上述快閃式記憶體陣列,如果是,則將上述上電存取表所對應的上述使用者資料上傳至一資料暫存器。
- 如申請專利範圍第6項所述之儲存裝置,其中,上述控制器更依據一H2F對照表而將上述上電存取表所對應的上述使用者資料上傳至上述資料暫存器。
- 如申請專利範圍第6項所述之儲存裝置,其中當上述資料暫存器不足以儲存上述上電存取表所對應的所有上述使用者資料時,上述控制器僅將上述上電存取表所對應的部份上述使用者資料上傳至上述資料暫存器。
- 如申請專利範圍第6項所述之儲存裝置,其中上述控制器依序將上述上電存取表所對應的上述使用者資料上傳至上傳資料暫存器。
- 如申請專利範圍第6項所述之儲存裝置,其中上述控制器於完成上述初始化程序之後,並於收到一主機指令之前,將上述上電存取表所對應的上述使用者資料上傳至上述資料暫存器。
- 一種記錄方法,用以建立一儲存裝置之一上電存取表,包括:執行一初始化程序;依據複數主機指令及一H2F對照表存取一快閃式記憶體陣列所儲存的複數使用者資料;以及將上述使用者資料的複數位址資訊記錄至上述上電存取表。
- 一種預載方法,用以使用一儲存裝置之一上電存取表,包括:執行一初始化程序;以及判斷上述上電存取表是否存在,如果是則將上述上電存取表所對應的使用者資料自一快閃式記憶體陣列上傳至一資料暫存器。
- 如申請專利範圍第12項所述之預載方法,更包括:依據複數主機指令、上述上電存取表及一H2F對照表存取上述儲存裝置。
- 如申請專利範圍第12項所述之預載方法,其中,當上述上電存取表不存在時,依據複數主機指令以及一H2F對照表存取上述儲存裝置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810001496.2A CN108877856B (zh) | 2017-05-10 | 2018-01-02 | 储存装置、记录方法以及预载方法 |
| US15/954,307 US10635601B2 (en) | 2017-05-10 | 2018-04-16 | Flash memory devices and prefetch methods thereof |
| JP2018079759A JP6588595B2 (ja) | 2017-05-10 | 2018-04-18 | 記憶装置、記録方法、およびプリフェッチ方法 |
| US16/825,354 US11494312B2 (en) | 2017-05-10 | 2020-03-20 | Flash memory devices and prefetch methods thereof |
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 |
|---|---|
| TW201901677A TW201901677A (zh) | 2019-01-01 |
| TWI646551B true TWI646551B (zh) | 2019-01-01 |
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 After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106129948A TWI650641B (zh) | 2017-05-10 | 2017-09-01 | 儲存裝置以及刷新方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (2) | TWI646551B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050160217A1 (en) * | 2003-12-31 | 2005-07-21 | Gonzalez Carlos J. | Flash memory system startup operation |
| US20090172246A1 (en) * | 2007-12-26 | 2009-07-02 | Sandisk Il Ltd. | Device and method for managing initialization thereof |
| US20140223079A1 (en) * | 2013-02-05 | 2014-08-07 | Via Technologies, Inc. | Non-volatile memory apparatus and operating method thereof |
| US20160283250A1 (en) * | 2015-03-24 | 2016-09-29 | Fujitsu Limited | Boot controlling processing apparatus |
| WO2017039386A1 (ko) * | 2015-09-04 | 2017-03-09 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
Family Cites Families (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 |
| US7046568B2 (en) * | 2002-09-24 | 2006-05-16 | Sandisk Corporation | Memory sensing circuit and method for low voltage operation |
| US7443757B2 (en) * | 2002-09-24 | 2008-10-28 | Sandisk Corporation | Non-volatile memory and method with reduced bit line crosstalk errors |
| US7224614B1 (en) * | 2005-12-29 | 2007-05-29 | Sandisk Corporation | Methods for improved program-verify operations in non-volatile memories |
-
2017
- 2017-08-03 TW TW106126215A patent/TWI646551B/zh active
- 2017-09-01 TW TW106129948A patent/TWI650641B/zh active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050160217A1 (en) * | 2003-12-31 | 2005-07-21 | Gonzalez Carlos J. | Flash memory system startup operation |
| US20090172246A1 (en) * | 2007-12-26 | 2009-07-02 | Sandisk Il Ltd. | Device and method for managing initialization thereof |
| US20140223079A1 (en) * | 2013-02-05 | 2014-08-07 | Via Technologies, Inc. | Non-volatile memory apparatus and operating method thereof |
| US9218280B2 (en) * | 2013-02-05 | 2015-12-22 | Via Technologies, Inc. | Non-volatile memory apparatus and operating method thereof |
| US20160283250A1 (en) * | 2015-03-24 | 2016-09-29 | Fujitsu Limited | Boot controlling processing apparatus |
| WO2017039386A1 (ko) * | 2015-09-04 | 2017-03-09 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI650641B (zh) | 2019-02-11 |
| TW201901677A (zh) | 2019-01-01 |
| TW201901436A (zh) | 2019-01-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6142081B2 (ja) | 不揮発性メモリデバイスにおける揮発性メモリアーキテクチャ及び関連コントローラ | |
| KR101347285B1 (ko) | 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치 | |
| US8065482B2 (en) | Storage system and method for striping data | |
| US9405619B2 (en) | Method for performing error correction, associated memory apparatus and associated controller thereof | |
| US10977171B2 (en) | Method for creating multi-namespace and accessing data therein | |
| US20030097520A1 (en) | Control device applicable to flash memory card and method for building partial lookup table | |
| CN106354615A (zh) | 固态硬盘日志生成方法及其装置 | |
| US11494312B2 (en) | Flash memory devices and prefetch methods thereof | |
| US9898199B2 (en) | Data storage device and operating method thereof | |
| CN106033319A (zh) | 固态硬盘动态建立转换层的方法 | |
| KR102707997B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| US10733107B2 (en) | Non-volatile memory apparatus and address classification method thereof | |
| US10747462B2 (en) | Data processing system and operating method thereof | |
| KR101081948B1 (ko) | 불휘발성 메모리 장치 및 그것의 데이터 저장 방법 | |
| CN108877858B (zh) | 储存装置以及刷新方法 | |
| JP2009175877A (ja) | 半導体メモリ | |
| US20160117251A1 (en) | Managing method for cache memory of solid state drive | |
| TWI646551B (zh) | 儲存裝置、記錄方法以及預載方法 | |
| KR102730176B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| US12105988B2 (en) | Memory controller for reducing the number of error bits in read data and memory system including the same | |
| CN107807786B (zh) | 存储装置及其资料映射方法 | |
| US20220197548A1 (en) | Memory controller and storage device including the same | |
| TW201601063A (zh) | 儲存裝置及其位址對應方法、資料存取方法以及識別及存取方法 | |
| TW201506790A (zh) | 系統開機方法以及開機系統 | |
| TW201727491A (zh) | 複合式硬碟的存取方法 |