• / 29
  • 下載費用:30 金幣  

數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置.pdf

摘要
申請專利號:

CN201410075692.6

申請日:

2014.03.03

公開號:

CN104898982A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 3/06申請日:20140303|||公開
IPC分類號: G06F3/06 主分類號: G06F3/06
申請人: 群聯電子股份有限公司
發明人: 朱健華
地址: 中國臺灣苗栗縣竹南鎮群義路1號
優先權:
專利代理機構: 北京同立鈞成知識產權代理有限公司11205 代理人: 劉芳
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410075692.6

授權公告號:

||||||

法律狀態公告日:

2018.04.24|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置,本方法包括:初始地設定第一門檻值與第一累加值;并且每隔第一預先定義時間,通過將第一門檻值加上第一累加值以更新第一門檻值。此外,當所檢測的存儲器儲存裝置的溫度大于或等于溫度門檻值時,判斷所接收的寫入數據的大小是否大于或等于第一門檻值;并且若非,則將寫入數據寫入至可復寫式非易失性存儲器模塊并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值。反之,則不將寫入數據寫入至可復寫式非易失性存儲器模塊。基此,本方法可有效地避免存儲器儲存裝置運作時所造成的系統過熱現象。

權利要求書

權利要求書
1.  一種數據傳輸方法,其特征在于,該方法用于具有一可復寫式非易失性存儲器模塊的一存儲器儲存裝置,該數據傳輸方法包括:
(a)初始地設定一第一門檻值與一第一累加值;
(b)每隔一第一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值;
(c)接收一寫入數據;
(d)檢測該存儲器儲存裝置的一溫度;
(e)判斷該存儲器儲存裝置的該溫度是否大于或等于一溫度門檻值,其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,執行步驟(f)并且倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,執行步驟(g);
(f)將該寫入數據寫入至該可復寫式非易失性存儲器模塊;
(g)判斷該寫入數據的大小是否大于或等于該第一門檻值,其中倘若該寫入數據的大小非大于或等于該第一門檻值時,執行步驟(h)并且倘若該寫入數據的大小大于或等于該第一門檻值時,執行步驟(i);
(h)將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且通過將該第一門檻值減去該寫入數據的大小以更新該第一門檻值;以及
(i)不將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且在一第一預設時間之后重新執行步驟(g)。

2.  根據權利要求1所述的數據傳輸方法,其特征在于,上述設定該第一累加值的步驟包括:
倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,以一第一值來設定該第一累加值;以及
倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,以一第二值來設定該第一累加值,
其中該第一值大于該第二值。

3.  根據權利要求1所述的數據傳輸方法,其特征在于,上述每隔該第一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值的步驟包括:
初始地設定一最大數據量值;
將該第一門檻值加上該第一累加值以獲得一更新值;
倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,以該更新值來更新該第一門檻值;
倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,判斷該更新值是否大于或等于該最大數據量值;
倘若該更新值非大于或等于該最大數據量值時,以該更新值來更新該第一門檻值;以及
倘若該更新值大于或等于該最大數據量值時,以該最大數據量值來更新該第一門檻值。

4.  根據權利要求3所述的數據傳輸方法,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該第一門檻值是大于或等于該最大數據量值。

5.  根據權利要求1所述的數據傳輸方法,其特征在于,還包括:
(j)初始地設定一第二門檻值與一第二累加值;
(k)每隔一第二預先定義時間,通過將該第二門檻值加上該第二累加值以更新該第二門檻值;
(l)接收一讀取指令;
(m)檢測該存儲器儲存裝置的該溫度;
(n)判斷該存儲器儲存裝置的該溫度是否大于或等于該溫度門檻值,其中倘若該溫度非大于或等于該溫度門檻值時,執行步驟(o)并且倘若該溫度大于或等于該溫度門檻值時,執行步驟(p);
(o)從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的一讀取數據;
(p)判斷欲從該可復寫式非易失性存儲器模塊讀取的該讀取數據的大小是否大于或等于該第二門檻值,其中倘若該讀取數據的大小非大于或等于該第二門檻值時,執行步驟(q)并且倘若該讀取數據的大小大于或等于該第二門檻值時,執行步驟(r);
(q)從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的該讀取數據并且通過將該第二門檻值減去該讀取數據的大小以更新該第二門檻值;以及
(r)不從該可復寫式非易失性存儲器模塊中讀取該讀取數據并且在一第二預設時間之后重新執行步驟(p)。

6.  根據權利要求5所述的數據傳輸方法,其特征在于,上述設定該第二累加值的步驟包括:
倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,以一第三值來設定該第二累加值;以及
倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,以一第四值來設定該第二累加值,
其中該第三值大于該第四值。

7.  一種存儲器控制電路單元,其特征在于,用于控制一存儲器儲存裝置的一可復寫式非易失性存儲器模塊,該存儲器控制電路單元包括:
一主機接口,用以耦接至一主機系統;
一存儲器接口,用以耦接至該可復寫式非易失性存儲器模塊;以及
一存儲器管理電路,耦接至該主機接口與該存儲器接口,
其中該存儲器管理電路初始地設定一第一門檻值與一第一累加值,并且每隔一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值,
其中該存儲器管理電路還用以接收一寫入數據,
其中該存儲器管理電路還用以檢測該存儲器儲存裝置的一溫度并且判斷該存儲器儲存裝置的該溫度是否大于或等于一溫度門檻值,
其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器管理電路用以發送一第一指令序列,該第一指令序列用以指示執行一數據寫入運作,以將該寫入數據寫入至該可復寫式非易失性存儲器模塊,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器管理電路還用以執行一第一數據量判斷運作,以判斷該寫入數據的大小是否大于或等于該第一門檻值,
其中倘若該寫入數據的大小非大于或等于該第一門檻值時,該存儲器管理電路發送該第一指令序列,該第一指令序列用以指示執行該數據寫入運作,以將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且通過將該第一門檻值減去該寫入數據的大小以更新該第一門檻值,
其中倘若該寫入數據的大小大于或等于該第一門檻值時,該存儲器管理電路執行一暫停寫入運作,不將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且在一第一預設時間之后重新執行上述該第一數據量判斷運作。

8.  根據權利要求7所述的存儲器控制電路單元,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器管理電路以一第一值來設定該第一累加值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器管理電路以一第二值來設定該第一累加值,
其中該第一值大于該第二值。

9.  根據權利要求8所述的存儲器控制電路單元,其特征在于,上述每隔該第一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值的運作中,該存儲器管理電路還用以初始地設定一最大數據量值并且將該第一門檻值加上該第一累加值以獲得一更新值,
其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器管理電路以該更新值來更新該第一門檻值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器管理電路還用以判斷該更新值是否大于或等于該最大數據量值,
其中倘若該更新值非大于或等于該最大數據量值時,該存儲器管理電路以該更新值來更新該第一門檻值,
其中倘若該更新值大于或等于該最大數據量值時,該存儲器管理電路以該最大數據量值來更新該第一門檻值。

10.  根據權利要求9所述的存儲器控制電路單元,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該第一門檻值是大于或等于該最大數據量值。

11.  根據權利要求7所述的存儲器控制電路單元,其特征在于,該存儲器管理電路還用以初始地設定一第二門檻值與一第二累加值,并且每隔一第二預先定義時間,通過將該第二門檻值加上該第二累加值以更新該第二門檻值,
其中該存儲器管理電路還用以從該主機系統接收一讀取指令,
其中該存儲器管理電路還用以檢測該存儲器儲存裝置的該溫度并且判斷 該存儲器儲存裝置的該溫度是否大于或等于該溫度門檻值,
其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器管理電路用以發送一第二指令序列,該第二指令序列用以指示執行一數據讀取運作,以從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的一讀取數據,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器管理電路還用以執行一第二數據量判斷運作,以判斷欲從該可復寫式非易失性存儲器模塊讀取的該讀取數據的大小是否大于或等于該第二門檻值,
其中倘若該讀取數據的大小非大于或等于該第二門檻值時,該存儲器管理電路發送該第二指令序列,該第二指令序列用以指示執行該數據讀取運作,以從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的該讀取數據并且通過將該第二門檻值減去該讀取數據的大小以更新該第二門檻值,
其中倘若該讀取數據的大小大于或等于該第二門檻值時,該存儲器管理電路執行一暫停讀取運作,不從該可復寫式非易失性存儲器模塊中讀取該讀取數據并且在一第二預設時間之后重新執行上述該第二數據量判斷運作。

12.  根據權利要求11所述的存儲器控制電路單元,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器管理電路以一第三值來設定該第二累加值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器管理電路以一第四值來設定該第二累加值,
其中該第三值大于該第四值。

13.  一種存儲器儲存裝置,其特征在于,包括:
一連接器,用以耦接至一主機系統;
一可復寫式非易失性存儲器模塊;以及
一存儲器控制電路單元,耦接至該連接器與該可復寫式非易失性存儲器模塊,
其中該存儲器控制電路單元初始地設定一第一門檻值與一第一累加值,并且每隔一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值,
其中該存儲器控制電路單元還用以接收一寫入數據,
其中該存儲器控制電路單元還用以檢測該存儲器儲存裝置的一溫度并且判斷該存儲器儲存裝置的該溫度是否大于或等于一溫度門檻值,
其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器控制電路單元用以發送一第一指令序列,該第一指令序列用以指示執行一數據寫入運作,以將該寫入數據寫入至該可復寫式非易失性存儲器模塊,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器控制電路單元還用以執行一第一數據量判斷運作,以判斷該寫入數據的大小是否大于或等于該第一門檻值,
其中倘若該寫入數據的大小非大于或等于該第一門檻值時,該存儲器控制電路單元發送該第一指令序列,該第一指令序列用以指示執行該數據寫入運作,以將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且通過將該第一門檻值減去該寫入數據的大小以更新該第一門檻值,
其中倘若該寫入數據的大小大于或等于該第一門檻值時,該存儲器控制電路單元執行一暫停寫入運作,不將該寫入數據寫入至該可復寫式非易失性存儲器模塊并且在一第一預設時間之后重新執行上述第一數據量判斷運作。

14.  根據權利要求13所述的存儲器儲存裝置,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器控制電路單元以一第一值來設定該第一累加值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器控制電路單元以一第二值來設定該第一累加值,
其中該第一值大于該第二值。

15.  根據權利要求14所述的存儲器儲存裝置,其特征在于,上述每隔該第一預先定義時間,通過將該第一門檻值加上該第一累加值以更新該第一門檻值的運作中,該存儲器控制電路單元還用以初始地設定一最大數據量值并且將該第一門檻值加上該第一累加值以獲得一更新值,
其中倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器控制電路單元以該更新值來更新該第一門檻值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器控制電路單元還用以判斷該更新值是否大于或等于該最大數據量值,
其中倘若該更新值非大于或等于該最大數據量值時,該存儲器控制電路 單元以該更新值來更新該第一門檻值,
其中倘若該更新值大于或等于該最大數據量值時,該存儲器控制電路單元以該最大數據量值來更新該第一門檻值。

16.  根據權利要求15所述的存儲器儲存裝置,其特征在于,倘若該存儲器儲存裝置的該溫度非大于或等于該溫度門檻值時,該第一門檻值是大于或等于該最大數據量值。

17.  根據權利要求13所述的存儲器儲存裝置,其特征在于,該存儲器控制電路單元還用以初始地設定一第二門檻值與一第二累加值,并且每隔一第二預先定義時間,通過將該第二門檻值加上該第二累加值以更新該第二門檻值,
其中該存儲器控制電路單元還用以從該主機系統接收一讀取指令,
其中該存儲器控制電路單元還用以檢測該存儲器儲存裝置的該溫度并且判斷該存儲器儲存裝置的該溫度是否大于或等于該溫度門檻值,
其中倘若該存儲器控制電路單元的該溫度非大于或等于該溫度門檻值時,該存儲器控制電路單元用以發送一第二指令序列,該第二指令序列用以指示執行一數據讀取運作,以從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的一讀取數據,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器控制電路單元還用以執行一第二數據量判斷運作,以判斷欲從該可復寫式非易失性存儲器模塊讀取的該讀取數據的大小是否大于或等于該第二門檻值,
其中倘若該讀取數據的大小非大于或等于該第二門檻值時,該存儲器控制電路單元發送該第二指令序列,該第二指令序列用以指示執行該數據讀取運作,以從該可復寫式非易失性存儲器模塊讀取對應該讀取指令的該讀取數據并且通過將該第二門檻值減去該讀取數據的大小以更新該第二門檻值,
其中倘若該讀取數據的大小大于或等于該第二門檻值時,該存儲器控制電路單元執行一暫停讀取運作,不從該可復寫式非易失性存儲器模塊中讀取該讀取數據并且在一第二預設時間之后重新執行上述該第二數據量判斷運作。

18.  根據權利要求17所述的存儲器儲存裝置,其特征在于,倘若該存儲 器儲存裝置的該溫度非大于或等于該溫度門檻值時,該存儲器控制電路單元以一第三值來設定該第二累加值,
其中倘若該存儲器儲存裝置的該溫度大于或等于該溫度門檻值時,該存儲器控制電路單元以一第四值來設定該第二累加值,
其中該第三值大于該第四值。

說明書

說明書數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置
技術領域
本發明是有關于一種數據傳輸方法,且特別是有關于一種數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置。
背景技術
數碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可復寫式非易失性存儲器(rewritable non-volatile memory)具有數據非易失性、省電、體積小、無機械結構、讀寫速度快等特性,因此,近年可復寫式非易失性存儲器產業成為電子產業中相當熱門的一環。例如,以快閃存儲器作為儲存媒體的固態硬盤(Solid-state drive)已廣泛應用作為電腦主機的硬盤,以提升電腦的存取效能。
此外,由于當此類具有可復寫式非易失性存儲器的存儲器儲存裝置處于高速運作時,例如,執行大量數據的寫入與讀取時,需要消耗大量的能源并且產生大量的熱量,因此容易造成存儲器儲存裝置溫度過高,而使其存取效率降低亦或是造成其損毀。基此,在兼顧存儲器儲存裝置的存取效能與執行性能下,為了避免存儲器儲存裝置運作時所造成的系統過熱現象,維持系統產熱與散熱平衡即成為電腦系統工作效能不斷提升下,不可或缺的重要課題。
發明內容
本發明提供一種數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置,其能夠有效地減少功率消耗,進而使存儲器儲存裝置的熱的產生與散熱達到穩定狀態。
本發明的一實施例提出一種用于具有可復寫式非易失性存儲器模塊的存儲器儲存裝置的數據傳輸方法,本數據傳輸方法包括:(a)初始地設定第一門檻值與第一累加值;(b)每隔一第一預先定義時間,通過將第一門檻值加上第 一累加值以更新第一門檻值;(c)接收寫入數據;(d)檢測存儲器儲存裝置的溫度;(e)判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值,其中倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,執行步驟(f)并且倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,執行步驟(g);(f)將寫入數據寫入至可復寫式非易失性存儲器模塊;(g)判斷寫入數據的大小是否大于或等于第一門檻值,其中倘若寫入數據的大小非大于或等于第一門檻值時,執行步驟(h)并且倘若寫入數據的大小大于或等于第一門檻值時,執行步驟(i);(h)為將寫入數據寫入至可復寫式非易失性存儲器模塊并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值;以及(i)為不將寫入數據寫入至可復寫式非易失性存儲器模塊并且于第一預設時間之后重新執行步驟(g)。
在本發明的一實施例中,上述設定第一累加值的步驟包括:倘若此存儲器儲存裝置的溫度非大于或等于溫度門檻值時,以第一值來設定第一累加值;以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,以第二值來設定第一累加值。特別是,第一值大于第二值。
在本發明的一實施例中,上述每隔第一預先定義時間,初始地設定最大數據量值;通過將第一門檻值加上第一累加值以更新第一門檻值的步驟包括:將第一門檻值加上第一累加值以獲得一更新值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,以此更新值來更新第一門檻值;倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,判斷此更新值是否大于或等于最大數據量值;倘若此更新值非大于或等于最大數據量值時,以此更新值來更新第一門檻值;以及倘若此更新值大于或等于最大數據量值時,以最大數據量值來更新第一門檻值。
在本發明的一實施例中,當存儲器儲存裝置的溫度非大于或等于溫度門檻值時,第一門檻值是大于或等于最大數據量值。
在本發明的一實施例中,上述的數據傳輸方法還包括:(j)初始地設定第二門檻值與第二累加值;(k)每隔一第二預先定義時間,通過將第二門檻值加上第二累加值以更新第二門檻值;(l)接收一讀取指令;(m)檢測存儲器儲存裝置的溫度;(n)判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值,其中倘若溫度非大于或等于溫度門檻值時,執行步驟(o)并且倘若溫度大于或等于溫度門檻值時,執行步驟(p);(o)從可復寫式非易失性存儲器模塊讀取對應此 讀取指令的讀取數據;以及(p)判斷欲從可復寫式非易失性存儲器模塊讀取的讀取數據的大小是否大于或等于第二門檻值,倘若讀取數據的大小非大于或等于第二門檻值時,執行步驟(q)并且倘若讀取數據的大小大于或等于第二門檻值時,執行步驟(r);其中步驟(q)為從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據并且通過將第二門檻值減去讀取數據的大小以更新第二門檻值;以及步驟(r)為不從可復寫式非易失性存儲器模塊中讀取此讀取數據并且在第二預設時間之后重新執行步驟(p)。
在本發明的一實施例中,上述設定第二累加值的步驟包括:倘若此存儲器儲存裝置的溫度非大于或等于溫度門檻值時,以第三值來設定第二累加值;以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,以第四值來設定第二累加值。特別是,第三值大于第四值。
本發明一實施例提供一種存儲器控制電路單元,用于控制存儲器儲存裝置的可復寫式非易失性存儲器模塊,此存儲器控制電路單元包括:用以耦接至主機系統的主機接口;用以耦接至可復寫式非易失性存儲器模塊的存儲器接口;以及耦接至主機接口與存儲器接口的存儲器管理電路。存儲器管理電路會初始地設定第一門檻值與第一累加值,并且每隔一預先定義時間,通過將第一門檻值加上第一累加值以更新第一門檻值。其中存儲器管理電路還用以接收寫入數據;其中存儲器管理電路還用以檢測存儲器儲存裝置的溫度并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器管理電路會發送一第一指令序列(command sequence),此第一指令序列用以指示執行一數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊;倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器管理電路還用以執行第一數據量判斷運作,以判斷寫入數據的大小是否大于或等于第一門檻值;倘若寫入數據的大小非大于或等于第一門檻值時,存儲器管理電路會發送第一指令序列,此第一指令序列用以指示執行數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值;倘若寫入數據的大小非大于或等于第一門檻值時,存儲器管理電路會執行暫停寫入運作,以不將寫入數據寫入至可復寫式非易失性存儲器模塊并且在一預設時間之后重新執行上述第一數據量判斷運作。
在本發明的一實施例中,上述在設定第一累加值的運作中,存儲器管理電路會檢測存儲器儲存裝置的溫度,并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器管理電路會以第一值來設定第一累加值,以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器管理電路會以第二值來設定第一累加值,其中第一值大于第二值。
在本發明的一實施例中,上述每隔第一預先定義時間,通過將第一門檻值加上第一累加值以更新第一門檻值的運作中,存儲器管理電路會初始地設定最大數據量值并且將第一門檻值加上第一累加值以獲得一更新值,其中倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器管理電路會以更新值來更新第一門檻值,反之,倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器管理電路會判斷此更新值是否大于或等于最大數據量值;其中倘若此更新值非大于或等于最大數據量值時,存儲器管理電路會以此更新值來更新第一門檻值;以及倘若此更新值大于或等于最大數據量值時,存儲器管理電路會以最大數據量值來更新第一門檻值。
在本發明的一實施例中,當存儲器儲存裝置的溫度非大于或等于溫度門檻值時,第一門檻值是大于或等于最大數據量值。
在本發明的一實施例中,上述存儲器管理電路還用以初始地設定第二門檻值與第二累加值,并且每隔第二預先定義時間,通過將第二門檻值加上第二累加值以更新第二門檻值。其中存儲器管理電路還用以從主機系統接收一讀取指令以及檢測存儲器儲存裝置的溫度并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器管理電路會發送第二指令序列,此第二指令序列用以指示執行數據讀取運作,以從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據;倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器管理電路還用以執行第二數據量判斷運作,以判斷欲從可復寫式非易失性存儲器模塊讀取的讀取數據的大小是否大于或等于第二門檻值。倘若讀取數據的大小非大于或等于第二門檻值時,存儲器管理電路會發送第二指令序列,此第二指令序列用以指示執行數據讀取運作,以從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據并且通過將第二門檻值減去讀取數據的大 小以更新第二門檻值,以及倘若讀取數據的大小大于或等于第二門檻值時,存儲器管理電路會執行暫停讀取運作,以不從可復寫式非易失性存儲器模塊中讀取此讀取數據并且在一第二預設時間之后重新執行上述第二數據量判斷運作。
在本發明的一實施例中,上述在設定第二累加值的運作中,存儲器管理電路會檢測存儲器儲存裝置的溫度,并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器管理電路會以第三值來設定第二累加值,以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器管理電路會以第四值來設定第二累加值,其中第三值大于第四值。
本發明的一實施例提供一種存儲器儲存裝置,其包括:用以耦接至主機系統的連接器、可復寫式非易失性存儲器模塊與存儲器控制電路單元。存儲器控制電路單元耦接至連接器與可復寫式非易失性存儲器模塊,并且初始地設定第一門檻值與第一累加值,并且每隔一預先定義時間,通過將第一門檻值加上第一累加值以更新第一門檻值。存儲器控制電路單元還用以接收寫入數據以及檢測存儲器儲存裝置的溫度并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器控制電路單元會發送第一指令序列,此第一指令序列用以指示執行數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊;倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器控制電路單元會執行第一數據量判斷運作,以判斷寫入數據的大小是否大于或等于第一門檻值;倘若寫入數據的大小非大于或等于第一門檻值時,存儲器控制電路單元會發送第一指令序列,此第一指令序列用以指示執行數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值;以及倘若寫入數據的大小非大于或等于第一門檻值時,存儲器控制電路單元執行一暫停寫入運作,以不將寫入數據寫入至可復寫式非易失性存儲器模塊并且在一預設時間之后重新執行上述第一數據量判斷運作。
在本發明的一實施例中,上述在設定第一累加值的運作中,倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器控制電路單元會以第一 值來設定第一累加值,以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器控制電路單元會以第二值來設定第一累加值。其中第一值大于第二值。
在本發明的一實施例中,上述每隔第一預先定義時間,通過將第一門檻值加上第一累加值以更新第一門檻值的運作中,存儲器控制電路單元會初始地設定最大數據量值并且將第一門檻值加上第一累加值以獲得一更新值,其中倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器控制電路單元會以更新值來更新第一門檻值;反之,倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器控制電路單元會判斷此更新值是否大于或等于最大數據量值;其中倘若此更新值非大于或等于最大數據量值時,存儲器控制電路單元會以此更新值來更新第一門檻值,以及倘若此更新值大于或等于最大數據量值時,存儲器控制電路單元會以最大數據量值來更新第一門檻值。
在本發明的一實施例中,上述存儲器儲存裝置的溫度非大于或等于溫度門檻值時,第一門檻值大于或等于最大數據量值。
在本發明的一實施例中,上述存儲器控制電路單元還用以初始地設定第二門檻值與第二累加值,并且每隔第二預先定義時間,通過將第二門檻值加上第二累加值以更新第二門檻值。存儲器控制電路單元還用以從主機系統接收一讀取指令以及檢測存儲器儲存裝置的溫度并且判斷存儲器儲存裝置的溫度是否大于或等于溫度門檻值;倘若存儲器控制電路單元的溫度非大于或等于溫度門檻值時,存儲器控制電路單元會發送第二指令序列,此第二指令序列用以指示執行數據讀取運作,以從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據;倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器控制電路單元會執行第二數據量判斷運作,以判斷欲從可復寫式非易失性存儲器模塊讀取的讀取數據的大小是否大于或等于第二門檻值,其中倘若讀取數據的大小非大于或等于第二門檻值時,存儲器控制電路單元會發送第二指令序列,此第二指令序列用以指示執行數據讀取運作,以從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據并且通過將第二門檻值減去讀取數據的大小以更新第二門檻值,以及倘若讀取數據的大小大于或等于第二門檻值時,存儲器控制電路單元會執行暫停讀取運作,以不從可復寫式非易失性存儲器模塊中讀取此讀取數據并且在第二預設時間之后重新 執行上述第二數據量判斷運作。
在本發明的一實施例中,上述在設定第二累加值的運作中,倘若存儲器儲存裝置的溫度非大于或等于溫度門檻值時,存儲器控制電路單元會以第三值來設定第二累加值,以及倘若存儲器儲存裝置的溫度大于或等于溫度門檻值時,存儲器控制電路單元會以第四值來設定第二累加值。其中第三值大于第四值。
基于上述,上述實施例的數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置在存儲器儲存裝置之溫度上升至門檻時,可有效地控制數據存取的速率,進而減少功率的消耗,由此避免因不斷地存取大量數據而造成之存儲器儲存系統過熱的情況。
為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。
附圖說明
圖1A是根據本發明第一實施例所示出的主機系統與存儲器儲存裝置的示意圖;
圖1B是根據本發明實施例所示出的電腦、輸入/輸出裝置與存儲器儲存裝置的示意圖;
圖1C是根據本發明實施例所示出的主機系統與存儲器儲存裝置的示意圖;
圖2是示出圖1A所示的存儲器儲存裝置的結構示意圖;
圖3是根據本發明第一實施例所示出的存儲器控制電路單元的結構示意圖;
圖4是根據本發明第一實施例所示出的寫入數據傳輸方法流程圖;
圖5是根據本發明第一實施例所示出的讀取數據傳輸方法流程圖;
圖6是根據本發明第一實施例所示出的更新門檻值的步驟的流程圖;
圖7是根據本發明第二實施例所示出的動態更新累加值的寫入數據傳輸方法流程圖;
圖8是根據本發明第二實施例所示出的動態更新累加值的讀取數據傳輸方法流程圖。
附圖標記說明
1000:主機系統;
1100:電腦;
1102:微處理器;
1104:隨機存取存儲器(RAM);
1106:輸入/輸出裝置;
1108:系統總線;
1110:數據傳輸接口;
1202:鼠標;
1204:鍵盤;
1206:顯示器;
1208:打印機;
1212:隨身聽;
1214:存儲卡;
1216:固態硬盤;
1310:數碼相機;
1312:SD卡;
1314:MMC卡;
1316:存儲棒;
1318:CF卡;
1320:嵌入式儲存裝置;
100:存儲器儲存裝置;
102:連接接口單元;
104:存儲器控制電路單元;
106:可復寫式非易失性存儲器模塊;
108(0)~108(R):物理刪除單元;
202:存儲器管理電路;
204:主機接口;
206:存儲器接口;
208:緩沖存儲器;
210:電源管理電路;
212:錯誤檢查與校正電路;
S401、S403、S405、S407、S409、S411、S413、S415、S417:寫入數據傳輸方法的步驟;
S501、S503、S505、S507、S509、S511、S513、S515、S517:讀取數據傳輸方法的步驟;
S601、S603、S605、S607、S609、S611、S613:更新門檻值的步驟;
S701、S703、S705、S707、S709、S711、S713、S715、S717、S719、S721、S723、S725:動態更新累加值的寫入數據傳輸方法的步驟;
S801、S803、S805、S807、S809、S811、S813、S815、S817、S819、S821、S823、S825:動態更新累加值的讀取數據傳輸方法的步驟。
具體實施方式
[第一實施例]
一般而言,存儲器儲存裝置(也稱,存儲器儲存系統)包括可復寫式非易失性存儲器模塊與控制器(也稱,控制電路)。通常存儲器儲存裝置是與主機系統一起使用,以使主機系統可將數據寫入至存儲器儲存裝置或從存儲器儲存裝置中讀取數據。
圖1A是根據本發明第一實施例所示出的主機系統與存儲器儲存裝置的示意圖,圖1B是根據本發明實施例所示出的電腦、輸入/輸出裝置與存儲器儲存裝置的示意圖,圖1C是根據本發明實施例所示出的主機系統與存儲器儲存裝置的示意圖。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,簡稱:I/O)裝置1106。電腦1100包括微處理器1102、隨機存取存儲器(random access memory,簡稱:RAM)1104、系統總線1108與數據傳輸接口1110。輸入/輸出裝置1106包括如圖1B的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。
在本發明實施例中,存儲器儲存裝置100是通過數據傳輸接口1110與主機系統1000的其他元件電性連接。通過微處理器1102、隨機存取存儲器1104 與輸入/輸出裝置1106的運作可將數據寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數據。例如,存儲器儲存裝置100可以是如圖1B所示的隨身聽1212、存儲卡1214或固態硬盤(Solid State Drive,簡稱:SSD)1216等的可復寫式非易失性存儲器儲存裝置。
一般而言,主機系統1000為可實質地與存儲器儲存裝置100配合以儲存數據的任意系統。雖然在本實施例中,主機系統1000是以電腦系統來做說明,然而,在本發明另一實施例中主機系統1000可以是數碼相機、攝影機、通信裝置、音頻播放器或視頻播放器等系統。例如,在主機系統為圖1C中的數碼相機(攝影機)1310時,可復寫式非易失性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、存儲棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,簡稱:eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統的基板上。
圖2是示出圖1A所示的存儲器儲存裝置的結構示意圖。
請參照圖2,存儲器儲存裝置100包括連接接口單元102、存儲器控制電路單元104與可復寫式非易失性存儲器模塊106。
在本實施例中,連接接口單元102是相容于序列先進附件(Serial Advanced Technology Attachment,簡稱:SATA)標準。然而,必須了解的是,本發明不限于此,連接接口單元102也可以是符合并列先進附件(Parallel Advanced Technology Attachment,簡稱:PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,簡稱:IEEE)1394標準、高速周邊零件連接接口(Peripheral Component Interconnect Express,簡稱:PCI Express)標準、通用序列總線(Universal Serial Bus,簡稱:USB)標準、超高速一代(Ultra High Speed-I,簡稱:UHS-I)接口標準、超高速二代(Ultra High Speed-II,簡稱:UHS-II)接口標準、安全數字(Secure Digital,簡稱:SD)接口標準、存儲棒(Memory Stick,簡稱:MS)接口標準、多媒體儲存卡(Multi Media Card,簡稱:MMC)接口標準、小型快閃(Compact Flash,簡稱:CF)接口標準、整合式驅動電子接口(Integrated Device Electronics,簡稱:IDE)標準或其他適合的標準。在本實施例中,連接器可與存儲器控制電路單元封裝在一個芯片中,或布設于一包含存儲器控制電路單元的芯片外。
存儲器控制電路單元104用以執行以硬件形式或固件形式實作的多個邏輯閘或控制指令,并且根據主機系統1000的指令在可復寫式非易失性存儲器模塊106中進行數據的寫入、讀取、刪除與合并等運作。
可復寫式非易失性存儲器模塊106是耦接至存儲器控制電路單元104,并且用以儲存主機系統1000所寫入的數據。可復寫式非易失性存儲器模塊106具有物理刪除單元108(0)~108(R)。例如,物理刪除單元108(0)~108(R)可屬于同一個存儲器晶粒(die)或者屬于不同的存儲器晶粒。每一物理刪除單元分別具有復數個物理程序化單元,其中屬于同一個物理刪除單元的物理程序化單元可被獨立地寫入且被同時地刪除。此外,每一物理刪除單元可由64個物理程序化單元、256個物理程序化單元或其他任意個物理程序化單元所組成。
更詳細來說,物理刪除單元為刪除的最小單位。亦即,每一物理刪除單元含有最小數目之一并被刪除的存儲單元。物理程序化單元為程序化的最小單元。即,物理程序化單元為寫入數據的最小單元。每一物理程序化單元通常包括數據比特區與冗余比特區。數據比特區包含多個物理存取地址用以儲存使用者的數據,而冗余比特區用以儲存系統的數據(例如,控制信息與錯誤更正碼)。在本實施例中,每一個物理程序化單元的數據比特區中會包含4個物理存取地址,且一個物理存取地址的大小為512字節(byte)。然而,在其他實施例中,數據比特區中也可包含數目更多或更少的物理存取地址,本發明并不限制物理存取地址的大小以及個數。例如,在一實施例中,物理刪除單元為物理區塊,并且物理程序化單元為物理頁面或物理扇區,但本發明不以此為限。
在本實施例中,可復寫式非易失性存儲器模塊106為多層存儲單元(Multi Level Cell,簡稱:MLC)NAND型快閃存儲器模塊(即,一個存儲單元中可儲存2個比特數據的快閃存儲器模塊)。然而,本發明不限于此,可復寫式非易失性存儲器模塊106也可是單層存儲單元(Single Level Cell,簡稱:SLC)NAND型快閃存儲器模塊(即,一個存儲單元中可儲存1個比特數據的快閃存儲器模塊)、復數層存儲單元(Trinary Level Cell,簡稱:TLC)NAND型快閃存儲器模塊(即,一個存儲單元中可儲存3個比特數據的快閃存儲器模塊)、其他快閃存儲器模塊或其他具有相同特性的存儲器模塊。
圖3是根據本發明第一實施例所示出的存儲器控制電路單元的結構示意圖。
請參照圖3,存儲器控制電路單元104包括存儲器管理電路202、主機接口204與存儲器接口206。
存儲器管理電路202用以控制存儲器控制電路單元104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器儲存裝置100運作時,此些控制指令會被執行以進行數據的寫入、讀取與刪除等運作。
在本實施例中,存儲器管理電路202的控制指令是以固件形式來實作。例如,存儲器管理電路202具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與刪除等運作。
在本發明另一實施例中,存儲器管理電路202的控制指令也可以程序碼形式儲存于可復寫式非易失性存儲器模塊106的特定區域(例如,存儲器模塊中專用于存放系統數據的系統區)中。此外,存儲器管理電路202具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有驅動碼,并且當存儲器控制電路單元104被智能時,微處理器單元會先執行此驅動碼段來將儲存于可復寫式非易失性存儲器模塊106中的控制指令載入至存儲器管理電路202的隨機存取存儲器中。之后,微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與刪除等運作。
主機接口204是耦接至存儲器管理電路202并且用以耦接至連接接口單元102,以接收與識別主機系統1000所傳送的指令與數據。也就是說,主機系統1000所傳送的指令與數據會通過主機接口204來傳送至存儲器管理電路202。在本實施例中,主機接口204是相容于SATA標準。然而,必須了解的是本發明不限于此,主機接口204也可以是相容于PATA標準、IEEE1394標準、PCI Express標準、USB標準、UHS-I接口標準、UHS-II接口標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的數據傳輸標準。
存儲器接口206是耦接至存儲器管理電路202并且用以存取可復寫式非易失性存儲器模塊106。也就是說,欲寫入至可復寫式非易失性存儲器模塊 106的數據會經由存儲器接口206轉換為可復寫式非易失性存儲器模塊106所能接受的格式。
在本發明一實施例中,存儲器控制電路單元104還包括緩沖存儲器208、電源管理電路210與錯誤檢查與校正電路212。
緩沖存儲器208是耦接至存儲器管理電路202并且用以暫存來自于主機系統1000的數據與指令或來自于可復寫式非易失性存儲器模塊106的數據。
電源管理電路210是耦接至存儲器管理電路202并且用以控制存儲器儲存裝置100的電源。
錯誤檢查與校正電路212是耦接至存儲器管理電路202并且用以執行錯誤檢查與校正程序以確保數據的正確性。具體來說,當存儲器管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路212會為對應此寫入指令的數據產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,簡稱:ECC Code),并且存儲器管理電路202會將對應此寫入指令的數據與對應的錯誤檢查與校正碼寫入至可復寫式非易失性存儲器模塊106中。之后,當存儲器管理電路202從可復寫式非易失性存儲器模塊106中讀取數據時會同時讀取此數據對應的錯誤檢查與校正碼,并且錯誤檢查與校正電路212會依據此錯誤檢查與校正碼對所讀取的數據執行錯誤檢查與校正程序。
請再參照圖2,存儲器控制電路單元104(或存儲器管理電路202)會初始地設定第一門檻值與第一累加值,并且每隔一預先定義時間(例如,1毫秒)將第一門檻值加上第一累加值以更新第一門檻值。特別是,當接收到主機系統1000所傳送的欲寫入可復寫式非易失性存儲器模塊106的數據時,存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度并且判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會發送一指令序列(command sequence),此指令序列用以指示將寫入數據寫入至可復寫式非易失性存儲器模塊,特別是,此指令序列可為一個或復數個指令。反之,倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會執行第一數據量判斷運作,以判斷寫入數據的大小是否大于或等于所設定的第一門檻值。倘若寫入數據的大小非大于或等于第一門檻值時,存儲器控制電 路單元104(或存儲器管理電路202)會發送一指令序列,此指令序列用以指示執行數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊106并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值。反之,當寫入數據的大小大于或等于第一門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會執行暫停寫入運作,而不將寫入數據寫入至可復寫式非易失性存儲器模塊106并且在一第一預設時間之后(例如,1毫秒)重新執行上述判斷寫入數據的大小是否大于或等于第一門檻值的運作。
具體而言,通過上述的數據傳輸方法,可通過限定數據傳輸速率來減少功耗。例如,倘若欲將數據傳輸速率限制在100MB/s(相當于每1毫秒(ms)傳輸200個512字節(Byte)的扇區數據),以及假設存儲器控制電路單元104(或存儲器管理電路202)初始地設定第一門檻值為300以及第一累加值為200,并且存儲器控制電路單元104(或存儲器管理電路202)會每隔1毫秒將第一門檻值加上第一累加值以更新第一門檻值。當欲寫入可復寫式非易失性存儲器模塊106的數據為200個扇區數據時,存儲器控制電路單元104(或存儲器管理電路202)會判斷寫入數據的大小(200個扇區數據)非大于或等于所設定的第一門檻值(300),而將200個扇區數據寫入至可復寫式非易失性存儲器模塊106并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值。此時,更新后的第一門檻值為100。倘若經過1毫秒后由于第一門檻值加上第一累加值,則第一門檻值會變成為300,同時存儲器控制電路單元104(或存儲器管理電路202)接收到的寫入數據為500個扇區數據時,則存儲器控制電路單元104(或存儲器管理電路202)判斷寫入數據的大小(500個扇區數據)大于或等于目前的第一門檻值(300),因此會執行暫停寫入運作,而不將寫入數據寫入至可復寫式非易失性存儲器模塊106并且在1毫秒之后重新判斷寫入數據的大小是否大于或等于第一門檻值。由于存儲器控制電路單元104(或存儲器管理電路202)每隔1毫秒將第一門檻值加上第一累加值以更新第一門檻值,因此當重新判斷寫入數據的大小是否大于或等于第一門檻值時,更新的第一門檻值已成為500,此時存儲器控制電路單元104(或存儲器管理電路202)會判斷寫入數據的大小(500個扇區數據)非大于或等于目前的第一門檻值(500),而將寫入數據寫入至可復寫式非易失性存儲器模塊106且依照上述步驟更新第一門檻值,由此,可達到控制數據寫入速率維持在100MB/s。
值得一提的是,可復寫式非易失性存儲器模塊106的數據寫入運作與數據讀取運作所需消耗的功率不同,特別是,當執行數據讀取運作時,其輸出/輸入的動作較數據寫入運作多,因此相對的在數據讀取運作下,存儲器儲存裝置100的溫度上升的速度較快。因此,在一實施例中,為了使熱的產生與散熱達到穩定狀態,可通過分別地對數據寫入運作與數據讀取運作設定不同的門檻值與累加值,來限定數據傳輸的速度。
存儲器控制電路單元104(或存儲器管理電路202)會初始地為數據讀取運作設定第二門檻值與第二累加值,并且每隔一第二預先定義時間(例如,1毫秒)將第二門檻值加上第二累加值以更新第二門檻值。當存儲器控制電路單元104(或存儲器管理電路202)從主機系統接收到一讀取指令,欲讀取可復寫式非易失性存儲器模塊106中的數據時,存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度并且判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會發送一指令序列(command sequence),此指令序列用以指示從可復寫式非易失性存儲器模塊讀取對應此讀取指令的讀取數據。反之,倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會執行第二數據量判斷運作,以判斷欲從可復寫式非易失性存儲器模塊106讀取的讀取數據的大小是否大于或等于第二門檻值。倘若讀取數據的大小非大于或等于第二門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會發送指令序列,此指令序列用以指示執行數據讀取運作,以從可復寫式非易失性存儲器模塊106讀取對應此讀取指令的讀取數據并且通過將第二門檻值減去此讀取數據的大小以更新第二門檻值。反之,若讀取數據的大小大于或等于第二門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會執行暫停讀取運作,而不從可復寫式非易失性存儲器模塊106中讀取此讀取數據并且在第二預設時間之后(例如,1毫秒)重新執行上述判斷讀取數據的大小是否大于或等于第二門檻值的第二數據量判斷運作。
具體而言,由于數據讀取運作時所需消耗的功率較數據寫入運作大,因此可將上述第二門檻值與第二累加值設成分別小于第一門檻值與第一累加值的數值。例如,當第一門檻值被設為300時,第二門檻值可被設為200,以 及當第一累加值被設為200時,第二累加值可被設為100。
值得一提的是,由于當存儲器儲存裝置100運作時,例如,不斷地寫入與讀取大量的數據時,其需要消耗大量的能源并且產生大量的熱能,因此容易導致存儲器儲存裝置100過熱。在本實施例中,存儲器控制電路單元104(或存儲器管理電路202)還用以檢測存儲器儲存裝置100的溫度且判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。當存儲器控制電路單元104(或存儲器管理電路202)判斷存儲器儲存裝置100的溫度大于或等于溫度門檻值時,亦即,存儲器儲存裝置100過熱時,才會執行上述第一數據量判斷運作或第二數據量判斷運作,并且根據此第一數據量判斷運作來執行數據寫入運作或暫停寫入運作以及根據第二數據量判斷運作來執行數據讀取運作或暫停讀取運作。
特別是,由于存儲器控制電路單元104(或存儲器管理電路202)會在每隔一預先定義時間(例如,1毫秒)將第一門檻值加上第一累加值以更新第一門檻值,因此為了在存儲器儲存裝置100的溫度超過溫度門檻值時,控制此第一門檻值維持在一定的范圍內,存儲器控制電路單元104(或存儲器管理電路202)會在更新第一門檻值之前計算一最大數據量值,并且將第一門檻值加上第一累加值獲得第一門檻值的更新值之后,檢測存儲器儲存裝置100的溫度并且判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值;倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會以更新值來更新第一門檻值;特別是,倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會判斷此更新值是否大于或等于所計算的最大數據量值。倘若更新值非大于或等于最大數據量值,則存儲器控制電路單元104(或存儲器管理電路202)會以更新值來更新第一門檻值,反之,則以最大數據量值來更新第一門檻值。在此,最大數據量值為一系統預設值,然,本發明不限于此,最大數據量值也可以根據可復寫式非易失性存儲器模塊106的執行性能來調整與設定。
圖4是根據本發明第一實施例所示出的寫入數據傳輸方法的流程圖。
請參照圖4,在步驟S401中,存儲器控制電路單元104(或存儲器管理電路202)會初始地設定第一門檻值與第一累加值。并且,在步驟S403中,存儲 器控制電路單元104(或存儲器管理電路202)會每隔一第一預先定義時間(例如,1毫秒),通過將第一門檻值加上第一累加值以更新第一門檻值。
在步驟S405中,存儲器控制電路單元104(或存儲器管理電路202)接收主機系統1000所傳送的欲寫入可復寫式非易失性存儲器模塊106的數據,并且在步驟S407中存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度。
在步驟S409中,存儲器控制電路單元104(或存儲器管理電路202)會判斷所檢測的存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值,則在步驟S411中,存儲器控制電路單元104(或存儲器管理電路202)會執行一般的數據寫入運作,以將所接收的寫入數據寫入至可復寫式非易失性存儲器模塊106。反之,當存儲器儲存裝置100的溫度大于或等于溫度門檻值時,在步驟S413中,存儲器控制電路單元104(或存儲器管理電路202)會執行數據量判斷運作。
在步驟S413中,存儲器控制電路單元104(或存儲器管理電路202)會判斷寫入數據的大小是否大于或等于第一門檻值。倘若寫入數據的大小非大于或等于第一門檻值時,則在步驟S415中,存儲器控制電路單元104(或存儲器管理電路202)會執行數據寫入運作,以將寫入數據寫入至可復寫式非易失性存儲器模塊106并且通過將第一門檻值減去寫入數據的大小以更新第一門檻值。反之,當寫入數據的大小大于或等于第一門檻值時,則在步驟S417中,存儲器控制電路單元104(或存儲器管理電路202)會執行暫停寫入運作,而不將寫入數據寫入至可復寫式非易失性存儲器模塊106并且在第一預設時間之后(例如,1毫秒)重新執行步驟S413。
特別是,由于在步驟S403中,存儲器控制電路單元104(或存儲器管理電路202)會每隔一第一預先定義時間(例如,1毫秒),通過將第一門檻值加上第一累加值來更新第一門檻值,因此第一門檻值會不斷地變動,也就是說,在上述步驟S417中所執行的暫停寫入運作,會直到第一門檻值更新至相當于寫入數據的大小(亦即,寫入數據的大小非大于或等于第一門檻值)時,步驟S415才會被執行,由此控制數據寫入速度以減少功耗。
圖5是根據本發明第一實施例所示出的讀取數據傳輸方法的流程圖。
請參照圖5,首先,在步驟S501中,存儲器控制電路單元104(或存儲器 管理電路202)會初始地設定第二門檻值與第二累加值。并且,在步驟S503中,存儲器控制電路單元104(或存儲器管理電路202)會每隔一第二預先定義時間(例如,1毫秒),通過將第二門檻值加上第二累加值以更新第二門檻值。
在步驟S505中,當存儲器控制電路單元104(或存儲器管理電路202)從主機系統1000接收一讀取指令,欲從可復寫式非易失性存儲器模塊106讀取數據時,會接著在步驟S507中,檢測存儲器儲存裝置100的溫度。
在步驟S509中,存儲器控制電路單元104(或存儲器管理電路202)會判斷所檢測的存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值,則在步驟S511中,存儲器控制電路單元104(或存儲器管理電路202)會執行一般的數據讀取運作,以從可復寫式非易失性存儲器模塊106讀取對應此讀取指令的讀取數據。反之,當存儲器儲存裝置100的溫度大于或等于溫度門檻值時,在步驟S513中,存儲器控制電路單元104(或存儲器管理電路202)會執行數據量判斷運作。
在步驟S513中,存儲器控制電路單元104(或存儲器管理電路202)會判斷欲從可復寫式非易失性存儲器模塊106讀取的讀取數據的大小是否大于或等于第二門檻值。倘若讀取數據的大小非大于或等于第二門檻值時,則在步驟S515中,存儲器控制電路單元104(或存儲器管理電路202)會執行數據讀取運作,以從可復寫式非易失性存儲器模塊106讀取所欲讀取的數據并且通過將第二門檻值減去讀取數據的大小以更新第二門檻值。反之,當寫入數據的大小大于或等于第二門檻值時,則在步驟S517中,存儲器控制電路單元104(或存儲器管理電路202)會執行暫停讀取運作,而不從可復寫式非易失性存儲器模塊106中讀取所欲讀取的數據并且在第二預設時間之后(例如,1毫秒)重新執行步驟S513。
特別是,由于在步驟S503中,存儲器控制電路單元104(或存儲器管理電路202)會每隔一第二預先定義時間(例如,1毫秒),通過將第二門檻值加上第二累加值來更新第二門檻值,因此第二門檻值會不斷地變動。也就是說,在上述步驟S517中所執行的暫停讀取運作,會直到第二門檻值更新至相當于讀取數據的大小(亦即,讀取數據的大小非大于或等于第二門檻值)時,步驟S515才會被執行,由此可控制數據讀取速度以減少功耗。
圖6是根據本發明第一實施例所示出的更新門檻值的步驟的流程圖。
請參照圖6,在步驟S601中,存儲器控制電路單元104(或存儲器管理電路202)會初始地設定一最大數據量值,此最大數據量值為一系統預設值,然,本發明不限于此,最大數據量值也可以根據可復寫式非易失性存儲器模塊106的執行性能來調整與設定。
由于在本實施例中存儲器控制電路單元104(或存儲器管理電路202)會不斷地每隔一預先定義時間將第一門檻值加上第一累加值以更新第一門檻值,因此,在步驟S603中,存儲器控制電路單元104(或存儲器管理電路202)會先取得此第一門檻值加上第一累加值的更新值。
接著,在步驟S605中,存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度,并且在步驟S607中,判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。特別是,倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)才會執行用以限制第一門檻值的步驟S609~S613。在步驟S609中,存儲器控制電路單元104(或存儲器管理電路202)會判斷此更新值是否大于或等于最大數據量值。倘若更新值大于或等于最大數據量值,則在步驟S611中,存儲器控制電路單元104(或存儲器管理電路202)會以最大數據量值來更新第一門檻值,反之,則在步驟S613中,存儲器控制電路單元104(或存儲器管理電路202)會以更新值來更新第一門檻值。由此在存儲器儲存裝置100的溫度上升至溫度門檻值的狀態下,存儲器控制電路單元104(或存儲器管理電路202)會控制此第一門檻值維持在一定的范圍內。值得一提的是,倘若存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會以更新值來更新第一門檻值(步驟S615),并不會以最大數據量值來限制第一門檻值,也就是說,當存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,第一門檻值可大于或等于最大數據量值。
[第二實施例]
本發明第二實施例的存儲器儲存裝置與主機系統本質上是相同于第一實施例的存儲器儲存裝置與主機系統,其中差異在于第二實施例的第一累加值可依據存儲器儲存裝置的溫度的改變而被調整。以下將使用圖1A、圖2與圖3的裝置結構來描述第二實施例與第一實施例的差異部分。
在本實施例中,在設定第一累加值的運作中,存儲器控制電路單元104(或 存儲器管理電路202)會檢測存儲器儲存裝置100的溫度,并且判斷存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若當存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)會以第一值來設定第一累加值。反之,當存儲器儲存裝置100的溫度大于或等于溫度門檻值時,則以第二值來設定第一累加值,其中第一值大于或等于第二值。具體而言,由于存儲器儲存裝置100的溫度未達到溫度門檻值時,存儲器控制電路單元104(或存儲器管理電路202)不會執行第一實施例所述用以限定數據傳輸速率的數據傳輸方法,因此可使用較大的第一值來設定第一累加值,以提升數據傳輸速率以及提升存儲器儲存裝置100的運作時的存取效能。
圖7是根據本發明第二實施例所示出的動態更新累加值的寫入數據傳輸方法流程圖。
請參照圖7,在步驟S701中,存儲器控制電路單元104(或存儲器管理電路202)會初始地設定第一門檻值、第一值與第二值。其中第一值會被設為大于第二值的數值。
在步驟S703中,存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度,并且在步驟S705中,判斷所檢測的存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值,則在步驟S707中,存儲器控制電路單元104(或存儲器管理電路202)會以較小的第二值設定第一累加值,反之,當存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,則在步驟S709中,存儲器控制電路單元104(或存儲器管理電路202)會以較大的第一值設定第一累加值。
接著,步驟S711到步驟S725是相同于第一實施例的圖4中的寫入數據傳輸方法的步驟S403到步驟S417,在此不再重復。特別是,當執行完步驟S719與步驟S723后會回到步驟S703,以執行動態的設定第一累加值的步驟S703到S709。
圖8是根據本發明第二實施例所示出的動態更新累加值的讀取數據傳輸方法流程圖。
請參照圖8,在步驟S801中,存儲器控制電路單元104(或存儲器管理電路202)會初始地設定第二門檻值、第三值與第四值。其中第三值會被設為大 于第四值的數值。
在步驟S803中,存儲器控制電路單元104(或存儲器管理電路202)會檢測存儲器儲存裝置100的溫度,并且在步驟S805中,判斷所檢測的存儲器儲存裝置100的溫度是否大于或等于溫度門檻值。倘若存儲器儲存裝置100的溫度大于或等于溫度門檻值,則在步驟S807中,存儲器控制電路單元104(或存儲器管理電路202)會以較小的第四值設定第二累加值,反之,當存儲器儲存裝置100的溫度非大于或等于溫度門檻值時,則在步驟S809中,存儲器控制電路單元104(或存儲器管理電路202)會以較大的第三值設定第二累加值。
接著,步驟S811到步驟S825是相同于第一實施例的圖5中的讀取數據傳輸方法的步驟S503到步驟S517,在此不再重復。特別是,當執行完步驟S819與步驟S823后會回到步驟S803,以執行調整第二累加值的步驟S803到步驟S809。
綜上所述,本發明實施例的數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置會在存儲器儲存裝置的溫度達到門檻值時,通過控制門檻值來限制數據傳輸速率,由此降低功率消耗,進而避免存儲器儲存裝置運作時快速且大量存取數據所造成的系統過熱現象。此外,在本實施例的數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置還可依據存儲器儲存裝置的溫度動態的設定累加值,由此可在兼顧存儲器儲存裝置的熱的產生與散熱平衡狀態下,提升數據傳輸速率以及數據存取效能。
最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。

關 鍵 詞:
數據傳輸 方法 存儲器 控制電路 單元 儲存 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:數據傳輸方法、存儲器控制電路單元與存儲器儲存裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373718.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图