TWI435215B - 下達讀取指令與資料讀取方法、控制器與儲存系統 - Google Patents

下達讀取指令與資料讀取方法、控制器與儲存系統 Download PDF

Info

Publication number
TWI435215B
TWI435215B TW098128718A TW98128718A TWI435215B TW I435215 B TWI435215 B TW I435215B TW 098128718 A TW098128718 A TW 098128718A TW 98128718 A TW98128718 A TW 98128718A TW I435215 B TWI435215 B TW I435215B
Authority
TW
Taiwan
Prior art keywords
host
flash memory
command
data
instruction
Prior art date
Application number
TW098128718A
Other languages
English (en)
Other versions
TW201107971A (en
Inventor
Chih Kang Yeh
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW098128718A priority Critical patent/TWI435215B/zh
Priority to US12/568,039 priority patent/US8244963B2/en
Publication of TW201107971A publication Critical patent/TW201107971A/zh
Priority to US13/494,672 priority patent/US9122611B2/en
Application granted granted Critical
Publication of TWI435215B publication Critical patent/TWI435215B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

下達讀取指令與資料讀取方法、控制器與儲存系統
本發明是有關於一種對快閃記憶體下達讀取指令的方法以及使用此方法的快閃記憶體控制器與快閃記憶體儲存系統。
由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,最適合使用於由電池供電的可攜式電子產品上。例如,固態硬碟就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置,並且已廣泛配置於筆記型電腦中作為主要的儲存裝置。
圖1是繪示一般快閃記憶體儲存裝置的概要方塊圖。一般來說,當主機系統110透過連接器122與快閃記憶體儲存裝置120耦接並且欲讀取儲存在快閃記憶體儲存裝置120中的資料時,主機系統110從快閃記憶體儲存裝置120之快閃記憶體晶片126中讀取資料的程序可區分為資料上載(load)、內部資料傳輸(transfer)與外部資料傳輸等部分。具體來說,當主機系統110欲從快閃記憶體儲存裝置120中讀取資料時,快閃記憶體控制器124會對快閃記憶體晶片126下達一般讀取指令,此時快閃記憶體晶片126會依據一般讀取指令將資料從記憶胞(即,儲存區)134中搬移至快閃記憶體晶片126內的緩衝區132中,此過程稱之為資料上載。例如,當快閃記憶體控制器124從主機系統110接收到主機讀取指令時,快閃記憶體控制器124會對快閃記憶體晶片126下達由“指令C1”、“實體位址”與“指令C2”等字串所組成的一般讀取指令,其中“指令C1”用以指示快閃記憶體晶片準備執行讀取程序,“實體位址”用以指示快閃記憶體晶片欲讀取的位址,“指令C2”用以指示快閃記憶體晶片將資料從記憶胞134中搬移至緩衝區132。此時,快閃記憶體晶片126就會依據一般讀取指令中的“實體位址”將資料從記憶胞134中搬移至緩衝區132中。
在完成資料上載之後,暫存於緩衝區132中的資料會被傳輸至快閃記憶體控制器124(例如,配置於快閃記憶體控制器124中的緩衝記憶體),此過程稱之為內部資料傳輸。
最後,快閃記憶體控制器124再將所接收的資料透過連接器122傳送至主機系統110,此過程稱之為外部資料傳輸。
特別是,在進行資料上載與內部資料傳輸的過程中,快閃記憶體控制器124在下達一般讀取指令後,快閃記憶體晶片126會處於一忙碌(busy)狀態,且當快閃記憶體晶片126處於忙碌狀態下快閃記憶體控制器124無法對其下達任何指令。也就是說,快閃記憶體控制器124必須於快閃記憶體晶片126完成將資料從記憶胞134中讀取至緩衝區132的資料上載以及將資料從緩衝區132傳輸至快閃記憶體控制器124的內部資料傳輸後,快閃記憶體控制器124才能再對快閃記憶體晶片126下達下一個指令。例如,在依據主機系統110的一個主機讀取指令而需讀取連續之2邏輯位址(即,2個頁面)中的資料時,快閃記憶體控制器124必須先對快閃記憶體晶片126下達第一個由“指令C1”、“實體位址”與“指令C2”等字串所組成的一般讀取指令以進行第1個頁面的資料上載,之後再進行內部資料傳輸以將所讀取的第1個頁面的資料傳送至快閃記憶體控制器124,然後再對快閃記憶體晶片126下達第二個由“指令C1”、“實體位址”與“指令C2”等字串所組成的一般讀取指令以進行第2個頁面的資料上載,最後再進行內部資料傳輸以將所讀取的第2個頁面的資料傳送至快閃記憶體控制器124。換言之,既使欲讀取的資料是儲存於連續的邏輯位址中,快閃記憶體控制器124也必須反覆地下達由“指令C1”、“實體位址”與“指令C2”等字串所組成的一般讀取指令才能從快閃記憶體晶片中讀取資料。
隨著傳輸技術的發展,使得連接器的傳輸速度已大幅提昇,例如,序列先進附件(Serial Advanced Technology Attachment,SATA)連接器已可達到每秒15億位元(Gigabit,Gb),甚至每秒30Gb。然而,在上述資料上載與內部資料傳輸的速度低於連接器的速度下,整體儲存的效能仍無法有效改善,因此如何縮短執行主機讀取指令的時間是此領域技術人員所致力的目標。
本發明提供一種下達讀取指令的方法,其能夠有效地縮短執行主機讀取指令的時間。
本發明提供一種快閃記憶體控制器,其能夠有效地縮短執行主機讀取指令的時間。
本發明提供一種快閃記憶體儲存系統,其能夠有效地縮短執行主機讀取指令的時間。
本發明提供一種資料讀取方法,其能夠有效地縮短執行主機讀取指令的時間。
本發明範例實施例提出一種下達讀取指令的方法用於從快閃記憶體晶片中讀取主機系統欲存取的資料。本下達讀取指令的方法包括提供快閃記憶體控制器,以及從主機系統中接收主機指令,其中此主機指令為主機讀取指令並且此主機指令包括第一起始邏輯位址。本下達讀取指令的方法也包括由快閃記憶體控制器依據主機指令向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應主機指令的第一資料,以及由快閃記憶體控制器向快閃記憶體晶片下達至少一個快取讀取指令以在第一資料的至少一部分被傳送至快閃記憶體控制器期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。本下達讀取指令的方法亦包括從主機系統中接收下一個主機指令,其中下一個主機指令包括第二起始邏輯位址。本下達讀取指令的方法更包括判斷此下一個主機指令是否為主機讀取指令且此下一個主機指令是否為接續於上述主機指令,以及當下一個主機指令為主機讀取指令且下一個主機指令為接續於上述主機指令時,則由快閃記憶體控制器依據下一個主機指令向快閃記憶體晶片直接下達至少一個快取讀取指令。
在本發明之一實施例中,當上述下一個主機指令為主機讀取指令且下一個主機指令不為接續於上述主機指令時,則由快閃記憶體控制器向快閃記憶體晶片下達一重置指令,並且再向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第二起始邏輯位址的實體位址開始依序地讀取對應上述下一個主機指令的第三資料。
在本發明之一實施例中,當上述下一個主機指令不為主機讀取指令時,則由快閃記憶體控制器向快閃記憶體晶片下達一重置指令。
在本發明之一實施例中,所述之判斷上述下一個主機指令是否為接續於上述主機指令的步驟包括:判斷第二起始邏輯位址是否接續於儲存第一資料的實體位址所對映的邏輯位址,並且當第二起始邏輯位址接續於儲存第一資料的實體位址所對映的邏輯位址時,則判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,所述之判斷上述下一個主機指令是否為接續於上述主機指令的步驟包括:判斷第二起始邏輯位址是否相同於儲存第二資料的實體位址所對映的邏輯位址,並且當第二起始邏輯位址相同於儲存第二資料的實體位址所對映的邏輯位址時,則判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,所述之下達讀取指令的方法更包括在從快閃記憶體晶片中讀取非主機指令請求之第二資料之前判斷第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,其中僅當第一起始邏輯位址對應的邏輯區塊非處於此開啟母子區塊狀態時,從快閃記憶體晶片中讀取非主機指令請求之第二資料。
本發明範例實施例提出一種快閃記憶體控制器,用於從快閃記憶體晶片中讀取主機系統欲存取的資料。本快閃記憶體控制器包括微處理器單元、快閃記憶體介面單元、主機介面單元、緩衝記憶體與記憶體管理單元。快閃記憶體介面單元耦接至微處理器單元,並且用以連接快閃記憶體晶片。主機介面單元耦接至微處理器單元,並且用以連接上述主機系統。緩衝記憶體耦接至微處理器單元並且用以暫存資料。記憶體管理單元耦接至微處理單元,並且用以透過主機介面單元從該主機系統中接收主機指令,其中此主機指令為一主機讀取指令並且此主機指令包括第一起始邏輯位址。此外,記憶體管理單元透過快閃記憶體介面單元依據上述主機指令向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應上述主機指令的一第一資料,並且記憶體管理單元向該快閃記憶體晶片下達至少一個快取讀取指令以在第一資料的至少一部分被傳送至緩衝記憶體期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。另外,記憶體管理單元透過主機介面單元從主機系統中接收下一個主機指令,其中此下一個主機指令包括第二起始邏輯位址。再者,記憶體管理單元判斷上述第下一個主機指令是否為主機讀取指令且此下一個主機指令是否為接續於上述主機指令,並且當上述下一個主機指令為主機讀取指令且上述下一個主機指令為接續於上述主機指令時,則記憶體管理單元透過快閃記憶體介面單元依據上述下一個主機指令向快閃記憶體晶片直接下達至少一個快取讀取指令。
在本發明之一實施例中,當上述下一個主機指令為主機讀取指令且上述下一個主機指令不為接續於上述主機指令時,則記憶體管理單元向快閃記憶體晶片下達一重置指令,並且再向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第二起始邏輯位址的實體位址開始依序地讀取對應上述下一個主機指令的第三資料。
在本發明之一實施例中,當上述下一個主機指令不為主機讀取指令時,則記憶體管理單元向快閃記憶體晶片下達一重置指令。
在本發明之一實施例中,上述之記憶體管理單元判斷第二起始邏輯位址是否接續於儲存第一資料的實體位址所對映的邏輯位址,其中當第二起始邏輯位址接續於儲存第一資料的實體位址所對映的邏輯位址時,則記憶體管理單元判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,上述之記憶體管理單元判斷該第二起始邏輯位址是否相同於儲存第二資料的實體位址所對映的邏輯位址,其中當第二起始邏輯位址相同於儲存第二資料的實體位址所對映的邏輯位址時,則記憶體管理單元判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,在從快閃記憶體晶片中讀取非上述主機指令請求之第二資料之前上述記憶體管理單元更判斷第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,其中僅當第一起始邏輯位址對應的邏輯區塊非處於此開啟母子區塊狀態時,記憶體管理單元從該快閃記憶體晶片中讀取非上述主機指令請求之第二資料。
本發明範例實施例提出一種快閃記憶體儲存系統。本快閃記憶體儲存系統包括的連接器、快閃記憶體晶片以及快閃記憶體控制器。連接器用以耦接主機系統。快閃記憶體控制器耦接至連接器與快閃記憶體晶片,並且用以透過連接器從主機系統中接收一主機指令,其中此主機指令為一主機讀取指令並且此主機指令包括一第一起始邏輯位址。此外,快閃記憶體控制器依據上述主機指令向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應上述主機指令的第一資料,並且快閃記憶體控制器向快閃記憶體晶片下達至少一個快取讀取指令以在第一資料的至少一部分被傳送至快閃記憶體控制器期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在快閃記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。另外,快閃記憶體控制器透過連接器從該主機系統中接收下一個主機指令,其中此下一個主機指令包括第二起始邏輯位址。再者,快閃記憶體控制器判斷上述下一個主機指令是否為主機讀取指令且上述下一個主機指令是否為接續於上述主機指令,並且當上述下一個主機指令為主機讀取指令且上述下一個主機指令為接續於上述主機指令時,則快閃記憶體控制器透過快閃記憶體介面單元依據上述下一個主機指令向快閃記憶體晶片直接下達至少一個快取讀取指令。
在本發明之一實施例中,當上述下一個主機指令為主機讀取指令且上述下一個主機指令不為接續於上述主機指令時,則快閃記憶體控制器向快閃記憶體晶片下達一重置指令,並且再向快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在快閃記憶體晶片中從對映第二起始邏輯位址的實體位址開始依序地讀取對應下一個主機指令的第三資料。
在本發明之一實施例中,當上述下一個主機指令不為主機讀取指令時,則快閃記憶體控制器向快閃記憶體晶片下達一重置指令。
在本發明之一實施例中,上述之快閃記憶體控制器判斷第二起始邏輯位址是否接續於儲存第一資料的實體位址所對映的邏輯位址,其中當第二起始邏輯位址接續於儲存第一資料的實體位址所對映的邏輯位址時,則快閃記憶體控制器判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,上述之快閃記憶體控制器判斷第二起始邏輯位址是否相同於儲存第二資料的實體位址所對映的邏輯位址,其中當第二起始邏輯位址相同於儲存第二資料的實體位址所對映的邏輯位址時,則快閃記憶體控制器判斷上述下一個主機指令為接續於上述主機指令。
在本發明之一實施例中,在從快閃記憶體晶片中讀取非上述主機指令請求之第二資料之前快閃記憶體控制器更判斷第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,其中僅當第一起始邏輯位址對應的邏輯區塊非處於此開啟母子區塊狀態時,快閃記憶體控制器從快閃記憶體晶片中讀取非上述主機指令請求之第二資料。
本發明範例實施例提出資料讀取方法,用於從一快閃記憶體晶片中讀取一主機系統欲存取的資料。此資料讀取方法包括提供一快閃記憶體控制器,以及從主機系統中接收一主機指令,其中此主機指令為主機讀取指令並且此該主機指令包括第一起始邏輯位址。本資料讀取方法也包括由快閃記憶體控制器依據上述主機指令在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應上述主機指令的第一資料,以及由快閃記憶體控制器在第一資料的至少一部分被傳送至快閃記憶體控制器期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在快閃記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。本資料讀取方法還包括從主機系統中接收一下一個主機指令,其中此下一個主機指令包括第二起始邏輯位址。本資料讀取方法更包括判斷此下一個主機指令是否為主機讀取指令且此下一個主機指令是否為接續於上述主機指令,以及當此下一個主機指令為主機讀取指令且此下一個主機指令為接續於上述主機指令時,則由快閃記憶體控制器將第二資料傳送給主機系統。
本發明範例實施例提出一種快閃記憶體控制器,用於從快閃記憶體晶片中讀取主機系統欲存取的資料。本快閃記憶體控制器包括微處理器單元、快閃記憶體介面單元、主機介面單元、緩衝記憶體與記憶體管理單元。快閃記憶體介面單元耦接至微處理器單元,並且用以連接快閃記憶體晶片。主機介面單元耦接至微處理器單元,並且用以連接上述主機系統。緩衝記憶體耦接至微處理器單元並且用以暫存資料。記憶體管理單元耦接至微處理單元,並且用以透過主機介面單元從主機系統中接收一主機指令,其中此主機指令為主機讀取指令並且此主機指令包括第一起始邏輯位址。此外,記憶體管理單元透過快閃記憶體介面單元依據上述主機指令在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應上述主機指令的第一資料,並且記憶體管理單元在第一資料的至少一部分被傳送至緩衝記憶體期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在快閃記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。另外,記憶體管理單元透過主機介面單元從主機系統中接收一下一個主機指令,其中此下一個主機指令包括第二起始邏輯位址。再者,記憶體管理單元判斷上述下一個主機指令是否為主機讀取指令且上述下一個主機指令是否為接續於上述主機指令,並且當上述下一個主機指令為主機讀取指令且上述下一個主機指令為接續於上述主機指令時,則記憶體管理單元透過快閃記憶體介面單元將第二資料傳送給主機系統。
本發明範例實施例提出一種快閃記憶體儲存系統。本快閃記憶體儲存系統包括的連接器、快閃記憶體晶片以及快閃記憶體控制器。連接器用以耦接主機系統。快閃記憶體控制器耦接至連接器與快閃記憶體晶片,並且用以透過連接器從主機系統中接收一主機指令,其中此主機指令為主機讀取指令並且此主機指令包括第一起始邏輯位址。此外,快閃記憶體控制器依據上述主機指令在快閃記憶體晶片中從對映第一起始邏輯位址的實體位址開始依序地讀取對應上述主機指令的第一資料,並且快閃記憶體控制器在第一資料的至少一部分被傳送至快閃記憶體控制器期間從快閃記憶體晶片中讀取非上述主機指令請求之第二資料,其中在快閃記憶體晶片中儲存第二資料的實體位址是接續於儲存第一資料的實體位址。另外,快閃記憶體控制器透過連接器從該主機系統中接收一下一個主機指令,其中此下一個主機指令包括第二起始邏輯位址。再者,快閃記憶體控制器判斷上述下一個主機指令是否為主機讀取指令且上述下一個主機指令是否為接續於上述主機指令,並且當上述下一個主機指令為主機讀取指令且上述下一個主機指令為接續於上述主機指令時,則快閃記憶體控制器透過快閃記憶體介面單元將第二資料傳送給主機系統。
基於上述,本發明範例實施例的下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統能夠有效地縮短執行主機讀取指令所需的時間,由此提升快閃記憶體儲存系統的效能。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
快閃記憶體儲存系統一般而言包括快閃記憶體晶片與控制器(亦稱,控制電路)。通常快閃記憶體儲存系統會與主機系統一起使用,以使主機系統可將資料寫入至快閃記憶體儲存系統或從快閃記憶體儲存系統中讀取資料。另外,亦有快閃記憶體儲存系統是包括嵌入式快閃記憶體與可執行於主機系統上以實質地作為此嵌入式快閃記憶體之控制器的軟體。
圖2A根據本發明實施例繪示使用快閃記憶體儲存裝置的主機系統。
請參照圖2A,主機系統290一般包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、輸入/輸出(input/output,I/O)裝置1106、系統匯流排1108以及資料傳輸介面1110。必須瞭解的是,主機290可更包括其他組件,例如顯示器裝置或網路裝置等。
主機系統290可以是電腦、數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。一般而言,主機290可實質地為可儲存資料的任意系統。
在本發明實施例中快閃記憶體儲存裝置200是透過資料傳輸介面1110與主機系統290的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的處理可將資料寫入至快閃記憶體儲存裝置200或從快閃記憶體儲存裝置200中讀取資料。
圖2A揭露了圖2B所示快閃記憶體儲存裝置200的詳細方塊圖。
請參照圖2B,快閃記憶體儲存裝置200包括連接器202、快閃記憶體控制器204與快閃記憶體晶片220。
連接器202是耦接至快閃記憶體控制器204並且用以透過匯流排295連接主機系統290。在本範例實施例中,連接器202為序列先進附件(Serial Advanced Technology Attachment,SATA)連接器。然而,必須瞭解的是本發明不限於此,連接器110亦可以是通用序列匯流排(Universal Serial Bus,USB)連接器、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394連接器、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)連接器、安全數位(secure digital,SD)介面連接器、記憶棒(Memory Sick,MS)介面連接器、多媒體儲存卡(Multi Media Card,MMC)介面連接器、小型快閃(Compact Flash,CF)介面連接器、整合式驅動電子介面(Integrated Device Electronics,IDE)連接器或其他適合的連接器。
快閃記憶體控制器204會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統290的指令在快閃記憶體晶片220中進行資料的寫入、讀取與抹除等運作。快閃記憶體控制器204包括微處理器單元206、記憶體管理單元208、主機介面單元210、快閃記憶體介面單元212與緩衝記憶體214。
微處理器單元206為快閃記憶體控制器204的主控單元,用以與記憶體管理單元208、主機介面單元210與快閃記憶體介面單元212等協同合作以進行快閃記憶體儲存裝置200的各種運作。
記憶體管理單元208是耦接至微處理器單元206,用以執行根據本範例實施例的下達讀取指令與區塊管理機制,記憶體管理單元208的運作將於以下配合圖式作詳細說明。
在本範例實施例中,記憶體管理單元208是以一韌體型式實作在快閃記憶體控制器204中。例如,將包括多個控制指令的記憶體管理單元208燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器204中,當快閃記憶體儲存裝置200運作時,記憶體管理單元208的多個控制指令會由微處理器單元206來執行以完成根據本發明實施例的下達讀取指令與區塊管理機制。
在本發明另一範例實施例中,記憶體管理單元208的控制指令亦可以軟體型式儲存於快閃記憶體晶片220的特定區域(例如,快閃記憶體晶片中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置200運作時,記憶體管理單元208的多個控制指令會由微處理器單元206來執行。此外,在本發明另一範例實施例中,記憶體管理單元208亦可以一硬體型式實作在快閃記憶體控制器204中。
主機介面單元210是耦接至微處理器單元206,並且用以接收與識別主機系統290所傳送的指令與資料,以及將資料傳送給主機系統290。也就是說,主機系統290所傳送的指令與資料會透過主機介面單元210傳送至緩衝記憶體214,且記憶體管理單元208會透過主機介面單元210將資料傳送給至主機系統290。在本範例實施例中,主機介面單元210是對應連接器204為SATA介面。然而,必須瞭解的是本發明不限於此,主機介面單元210亦可以USB介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、MMC介面、CF介面、IDE介面或其他適合的資料傳輸介面。
快閃記憶體介面單元212是耦接至微處理器單元206並且用以耦接至快閃記憶體晶片220。
緩衝記憶體214是耦接至微處理器單元206並且用以暫存從來自於主機系統200的資料或來自於快閃記憶體晶片220的資料。
此外,雖未繪示於本範例實施例中,但快閃記憶體控制器204亦更包括錯誤校正單元與電源管理單元等。
快閃記憶體晶片220是耦接至快閃記憶體控制器204並且用以依據快閃記憶體控制器204的指令來寫入資料與讀取資料。在本範例實施例中,快閃記憶體晶片220為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體晶片。然而,本發明不限於此,快閃記憶體晶片220亦可是單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體晶片。
快閃記憶體晶片220包括儲存區402、第一緩衝區404與第二緩衝區406。
儲存區402包括多個實體區塊並且用以儲存資料。實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。每一實體區塊具有複數個頁面(page)。在本範例實施例中,頁面為程式化與讀取的最小單元,但在另一範例實施例中,將資料程式化至快閃記憶體晶片220的最小單位亦可是小於頁面(page)的扇區(sector)。在本發明之一範例實施例中之頁面可為寫入資料或讀取資料的最小單元。每一頁面通常包括使用者資料區與冗餘區。使用者資料區用以儲存使用者的資料,而冗餘區用以儲存系統的資料(例如,錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code)。
值得一提的是,由於快閃記憶體的記憶胞僅能從“1”程式化為“0”,因此要更新實體區塊內的資料時必須先抹除實體區塊內的資料。然而,快閃記憶體的寫入是以頁面為單位,而抹除是以實體區塊為單位,所以儲存區402中的實體區塊會以輪替方式來儲存資料。具體來說,記憶體管理單元208會將儲存區204中的實體區塊邏輯地分組為系統區(system area)、資料區(data area)、備用區(spare area)與取代區(replacement area),其中分組為系統區的實體區塊是用以儲存快閃記憶體儲存裝置的相關重要資訊,而分組為取代區的實體區塊是用以取代資料區或備用區中已損壞的實體區塊,因此在一般存取狀態下,主機系統290是無法存取系統區與取代區中的實體區塊。至於分組為資料區的實體區塊中會儲存由主機寫入指令所寫入的資料,而備用區中的實體區塊是用以在執行主機寫入指令時替換資料區中的實體區塊。例如,當快閃記憶體儲存裝置200接受到主機系統290的主機寫入指令而欲更新(或寫入)資料至資料區中某一實體區塊的某一頁面時,記憶體管理單元208會從備用區中提取一實體區塊並且將欲被更新的實體區塊中的有效舊資料與欲寫入的新資料寫入至從備用區中提取的實體區塊中,並且將已寫入有效舊資料與新資料的實體區塊邏輯地關聯為資料區,並且將資料區中欲被更新的實體區塊進行抹除並邏輯地關聯為備用區。為了能夠讓主機系統290能夠順利地存取以輪替方式儲存資料的實體區塊,快閃記憶體儲存裝置200會提供邏輯位址給主機系統290。也就是說,快閃記憶體儲存裝置200會透過在邏輯位址-實體位址對映表(logical address-physical address mapping table)中記錄與更新邏輯位址與資料區的實體區塊之間的對映關係來反映實體區塊的輪替,所以主機系統290僅需要針對所提供邏輯位址進行寫入而快閃記憶體儲存裝置200會依據邏輯位址-實體位址對映表對所對映的實體區塊的實體位址進行讀取或寫入資料。
第一緩衝區404與第二緩衝區406是用以暫存於快閃記憶體控制器204與儲存區402之間所傳輸的資料。如上所述,快閃記憶體控制器204從快閃記憶體晶片220中讀取資料的過程包括資料上載與內部資料傳輸兩個部分,其中在資料上載的部分中欲讀取的資料會先從儲存區402中被搬移至第二緩衝區406中,之後欲讀取的會再從第二緩衝區406中被搬移至第一緩衝區404。而在內部資料傳輸的部分,欲讀取的資料會再從第一緩衝區404中被傳輸至緩衝記憶體214。在此,用以將資料傳輸至緩衝記憶體214的第一緩衝區404亦稱為資料快取(data cache)區,而用以從儲存區402中接收資料的第二緩衝區406亦稱為快取緩衝(cache buffer)區,其中第一緩衝區404與第二緩衝區406可分別暫存一個頁面的資料以對應讀取單位(即,頁面)。
在本範例實施例中,記憶體管理單元208會依據來自於主機系統290的主機讀取指令中的邏輯位址透過快閃記憶體介面單元212向快閃記憶體晶片220下達一般讀取指令與快取讀取指令來讀取資料。例如,記憶體管理單元208會使用由“指令C1”、“實體位址”與“指令C2”等字串所組成的一般讀取指令以及由“指令C3”字串所組成的快取讀取指令來讀取資料,其中記憶體管理單元208藉由“指令C1”指示快閃記憶體晶片220準備執行讀取程序,藉由“實體位址”指示快閃記憶體晶片220欲讀取的位址,藉由“指令C2”指示快閃記憶體晶片220將資料從儲存區402中搬移至第二緩衝區206,以及藉由“指令C3”指示快閃記憶體晶片220將資料從第二緩衝區406中搬移至第一緩衝區404。特別是,當主機系統290欲讀取儲存於多個邏輯位址中的資料時,使用快取讀取指令可有效地提升讀取的速度。
例如,當記憶體管理單元208根據主機讀取指令而需於快閃記憶體晶片220的多個連續頁面中讀取資料時,由於快閃記憶體晶片220具有2個緩衝區(即,第一緩衝區404與第二緩衝區406),因此,當快閃記憶體晶片220從儲存區402中搬移第1個頁面的資料至第二緩衝區406之後,藉由使用快取讀取指令(即,“指令C3”指令)會使快閃記憶體晶片220將第1個頁面的資料從第二緩衝區406搬移至第一緩衝區404,並且之後在第1個頁面的資料從第一緩衝區404被傳輸至緩衝記憶體214的期間,第二緩衝區406就可從儲存區402中接收第2個頁面的資料。也就是說,藉由使用快取讀取指令可使得在資料從快閃記憶體晶片220傳輸至快閃記憶體控制器204的期間快閃記憶體晶片220仍繼續搬移下一個頁面的資料,由此提升讀取的速度。
特別是,在主機系統290對快閃記憶體儲存系統200連續下達多個主機讀取指令且此些主機讀取指令所指示欲讀取之邏輯位址所對映的實體位址為連續的例子中,記憶體管理單元208連續地使用快取讀取指令(即,“指令C3”指令)來串聯(或組合)依序來自於主機系統290的主機讀取指令,而無需再下達由“指令C1”、“實體位址”與“指令C2”字串所組成的一般讀取指令,由此更提升讀取的速度。其中值得說明的是,本範例實施例中所提及的指令“C1”、“C2”、“C3”等,僅只為一種實施態樣,各廠家可自行訂定不同的指令來實施類似的功能,例如以一單一指令來實施本範例實例中所描述之”C1”及”C2”之功能,故不該以此為限。
圖3是根據本發明範例實施例所繪示的快閃記憶體控制器下達讀取指令的範例示意圖,並且圖4是根據圖3所示的指令所繪示快閃記憶體晶片的運作時序圖。在圖3與圖4的範例中,記憶體管理單元208會依序地從主機系統290接收到2個主機讀取指令而依據此主機指令中的邏輯位址而讀取儲存於連續的4個實體位址(即,4個頁面)中的資料D1、資料D2、資料D3與資料D4。具體來說,第1個主機讀取指令包括欲讀取之邏輯位址及欲讀取2個頁面(即,資料D1與資料D2)的資訊,其中欲讀取之邏輯位址表示在第1個主機讀取指令中欲讀取資料的起始邏輯位址(即,第1起始邏輯位址)。而第2個主機讀取指令也包括欲讀取之邏輯位址及欲讀取2個頁面(即,資料D3與資料D4)的資訊,其中欲讀取之邏輯位址表示在第2個主機讀取指令中開始讀取資料的起始邏輯位址(即,第2起始邏輯位址)。
請參照圖3與圖4,當快閃記憶體控制器204接收到來自於主機系統290的第1個主機讀取指令後,快閃記憶體控制器204的記憶體管理單元208會依據主機讀取指令中的邏輯位址向快閃記憶體晶片220下達由“指令C1”、“ADD”與“指令C2”等字串所組成的一般讀取指令(如圖3所示的指令CM1、CM2與CM3)與由“指令C3”字串所組成的快取讀取指令(如圖3所示的指令CM4),其中“ADD”表示讀取資料的起始實體位址。也是就說,記憶體管理單元208會依據邏輯位址-實體位址對映表將第1起始邏輯位址所對映的實體位址傳送給快閃記憶體晶片200以開始讀取資料。此時,快閃記憶體晶片220會依據指令CM3從儲存區402中搬移第1個頁面的資料D1至第二緩衝區406中,期間快閃記憶體晶片220會處於一忙碌狀態(如圖4所示的忙碌時間B1)。快閃記憶體晶片220在完成指令CM3之後,會執行快取讀取指令(如圖3所示的指令CM4),以將暫存於第二緩衝區406中的資料D1搬移至第一緩衝區404中,並且在將資料D1從第二緩衝區406中搬移至第一緩衝區404之後從下一個實體位址中搬移第2個頁面的資料D2至第二緩衝區406中。
特別是,快閃記憶體晶片220在將暫存於第二緩衝區406中的資料D1搬移至第一緩衝區404(如圖4所示的忙碌時間B2)之後就會回復為待命(ready)狀態,並且將暫存於第一緩衝區404中的資料D1傳輸至緩衝記憶體214中(如圖3所示的內部資料傳輸T1)。此時,資料D1的內部資料傳輸與資料D2的資料上載會同時進行。
也就是說,由於快閃記憶體晶片220中存有2個緩衝區(即,第一緩衝區404與第二緩衝區406),因此透過快取讀取指令來將欲讀取的資料從第二緩衝區406搬移至第一緩衝區404後,第一緩衝區404用於將來自於儲存區402中的資料傳輸至緩衝記憶體214,而第二緩衝區406用於從儲存區402中接收資料。基此,資料D1的內部資料傳輸與資料D2的資料上載可同時進行。
一般來說,快閃記憶體晶片220執行快取讀取指令所需的時間(例如,忙碌時間B2)是遠短於執行一般讀取指令所需的時間(例如,忙碌時間B1)。例如,快閃記憶體晶片220執行快取讀取指令所需的時間為1毫秒(millisecond),而執行一般讀取指令所需的時間為50毫秒。
之後,當資料D1的內部資料傳輸完成後,記憶體管理單元208會再向快閃記憶體晶片220下達快取讀取指令(如圖3所示的指令CM5),以將暫存於第二緩衝區406中的資料D2搬移至第一緩衝區404中(如圖4所示的忙碌時間B3),並且在將資料D2從第二緩衝區406中搬移至第一緩衝區404之後從下一個實體位址中搬移下一個頁面的資料至第二緩衝區406中。類似地,快閃記憶體晶片220在將暫存於第二緩衝區406中的資料D2搬移至第一緩衝區404之後就會回復為待命狀態,並將暫存於第一緩衝區404中的資料D2傳輸至緩衝記憶體214中(如圖3所示的內部資料傳輸T2)。此時,資料D2的內部資料傳輸與下一固頁面之資料的資料上載會同時進行。
在傳輸T2完成之後,對應第1個主機讀取指令的資料(即,資料D1與資料D2)會從緩衝記憶體214中傳輸至主機系統290,即外部資料傳輸。之後,快閃記憶體控制器204會接收到來自於主機系統290的第2個主機讀取指令,並且記憶體管理單元208會判斷第2個主機讀取指令欲存取的邏輯位址是否接續於第1個主機讀取指令所存取的邏輯位址。
如上所述,在圖3與圖4的範例中,第2個主機讀取指令欲存取的邏輯位址所對映的實體位址是接續於第1個主機讀取指令所存取之邏輯位址所對映的實體位址。因此,快閃記憶體晶片220依據指令CM5從儲存區402中所搬移的下一個頁面的資料正是資料D3。基此,記憶體管理單元208會向快閃記憶體晶片220下達快取讀取指令(如圖3所示的指令CM6)以將暫存於第二緩衝區406中的資料D3搬移至第一緩衝區404中,並且在將資料D3從第二緩衝區406中搬移至第一緩衝區404(如圖4所示的忙碌時間B4)之後從下一個實體位址中搬移第4個頁面的資料D4至第二緩衝區406中。類似地,快閃記憶體晶片220在將暫存於第二緩衝區406中的資料D3搬移至第一緩衝區404之後就會回復為待命狀態,並將暫存於第一緩衝區404中的資料D3傳輸至緩衝記憶體214中(如圖3所示的內部資料傳輸T3)。此時,資料D3的內部資料傳輸與資料D4的資料上載會同時進行。
之後,當資料D3的內部資料傳輸完成後,記憶體管理單元208會再向快閃記憶體晶片220下達快取讀取指令(如圖3所示的指令CM7),以將暫存於第二緩衝區406中的資料D4搬移至第一緩衝區404中,並且在將資料D4從第二緩衝區406中搬移至第一緩衝區404(如圖4所示的忙碌時間B5)之後從下一個實體位址中搬移下一個頁面的資料至第二緩衝區406中。類似地,快閃記憶體晶片220在將暫存於第二緩衝區406中的資料D4搬移至第一緩衝區404之後就會回復為待命狀態,並將暫存於第一緩衝區404中的資料D4傳輸至緩衝記憶體214中(如圖3所示的內部資料傳輸T4)。此時,資料D4的內部資料傳輸與下一個頁面之資料的資料上載會同時進行。
在傳輸T4完成之後,對應第2個主機讀取指令的資料(即,資料D3與資料D4)會從緩衝記憶體214中傳輸至主機系統290。
值得一提的是,當記憶體管理單元208下達指令CM5與指令CM7時,記憶體管理單元208僅是指示快閃記憶體晶片220預先讀取下一個頁面的資料,而記憶體管理單元208是於執行下一個主機指令時才能確認主機系統290是否存取所預先讀取的資料。在此,快閃記憶體晶片220依據快取讀取指令而繼續讀取下一個頁面的程序稱之為預讀取(pre-read)程序。然而,來自於主機系統290的下一個主機讀取指令可能剛好要讀取此資料(例如,圖3所示的資料D3),因此當預讀取的資料正好為主機系統290預讀取的資料時,可將所預讀的資料傳送給主機系統290,由此可有效地提升讀取速度。
此外,值得一提的是,如上所述,記憶體管理單元208是先預讀下一個實體位址的資料,以提升讀取速度。然而,當目前所存取的邏輯位址所對映的邏輯區塊處於開啟母子區塊的狀態時,即一個邏輯區塊是對映多個實體區塊的狀況,此時連續實體位址內的資料可能非對應連續的邏輯位址。在此情況下,預讀取下一個實體位址內的資料將有較高的機率成為無意義(即,所預讀取的資料非下一個主機讀取指令所欲讀取的資料)。因此,在本發明另一範例實施例中,記憶體管理單元208在執行預讀取程序前會先判斷目前所存取的邏輯位址所對映的邏輯區塊是否處於上述開啟母子區塊的狀態,並且僅於目前所存取的邏輯位址所對映的邏輯區塊非處於上述開啟母子區塊的狀態才執行預讀取程序。
在本範例實施例中,當快閃記憶體控制器204執行主機讀取指令時,在快閃記憶體晶片220完成目前主機讀取指令欲存取之資料的資料上載後,記憶體管理單元208會繼續使用快取讀取指令以使快閃記憶體晶片220讀取下一個頁面的資料。之後,倘若快閃記憶體控制器204從主機系統290中所接收到的下一個主機指令非為主機讀取指令時,記憶體管理單元208會向快閃記憶體晶片220下達一重置(reset)指令(例如,由“0×FF”字串所組成的指令)以停止快閃記憶體晶片220的運作。
圖5是根據本發明範例實施例所繪示的下達讀取指令的流程圖。
請參照圖5,首先,在步驟S501中快閃記憶體儲存裝置200從主機系統290中接收主機指令並且在步驟S503中記憶體管理單元208會判斷所接收的主機指令是否為主機讀取指令。
倘若在步驟S503中判斷所接收的主機指令不為主機讀取指令時,則在步驟S505中記憶體管理單元208會向快閃記憶體晶片220下達重置(reset)指令。之後,在步驟S507中記憶體管理單元208會依據所接收的主機指令執行對應的步驟,並結束圖5的流程。在本範例實施例中,圖5僅用於描述記憶體管理單元208執行主機讀取指令的步驟,至於執行其他主機指令的步驟,此領域技術人員可依據相關的技術得知,在此不詳細說明步驟S507。
倘若在步驟S503中判斷所接收的主機指令為主機讀取指令時,則在步驟S509中記憶體管理單元208會判斷前一個所執行的主機指令是否為主機讀取指令。
倘若在步驟S509中判斷前一個所執行的主機指令不為主機讀取指令時,則在步驟S511中記憶體管理單元208會向快閃記憶體晶片220下達一般讀取指令(即,由“指令C1”、“實體位址”與“指令C2”字串所組成的指令)與快取讀取指令(即,由“指令C3”字串所組成的指令)來讀取資料,並結束圖5的流程。具體來說,在步驟S511中記憶體管理單元208會在快閃記憶體晶片200中從所接收之主機讀取指令所指示的起始邏輯位址所映的實體位址開始依序地讀取對應此主機讀取指令的資料。特別是,如上所述,所下達的最後一個快取讀取指令會預讀取下一個實體位址中的資料。
倘若在步驟S509中判斷前一個所執行的主機指令為主機讀取指令時,則在步驟S513中記憶體管理單元208會判斷目前主機讀取指令是否接續於前一個主機讀取指令。例如,在步驟S513中記憶體管理單元208會判斷目前主機讀取指令所存取之邏輯位址所對映的實體位址是否接續前一個主機讀取指令所存取之邏輯位址所對映的實體位址,並且當目前主機讀取指令所存取之邏輯位址所對映的實體位址是否接續前一個主機讀取指令所存取之邏輯位址所對映的實體位址時,則記憶體管理單元208會判斷目前主機讀取指令是否接續於前一個主機讀取指令。
倘若在步驟S513中判斷目前主機讀取指令是接續於前一個主機讀取指令時,則在步驟S515中記憶體管理單元208向快閃記憶體晶片220下達快取讀取指令以接續讀取下一個頁面的資料,並結束圖5的流程。具體來說,在步驟S513中記憶體管理單元208會在快閃記憶體晶片200中從預讀取的實體位址的下一個實體位址開始依序地讀取對應此主機讀取指令的資料。也就是說,由於目前主機讀取指令是接續於前一個主機讀取指令,因此之前所預讀取的資料可用於傳送給主機系統290,而僅於從下一個實體位址開始讀取。類似地,在步驟S515中所下達的最後一個快取讀取指令亦會預讀取下一個實體位址中的資料。
倘若在步驟S513中判斷目前主機讀取指令不是接續於前一個主機讀取指令時,則在步驟S517中記憶體管理單元208向快閃記憶體晶片220下達重置(reset)指令,並且之後執行步驟S511以向快閃記憶體晶片220下達一般讀取指令與快取讀取指令來讀取資料。
值得一提的是,在步驟S511與步驟S515中所下達的最後一個快取讀取指令會預讀取下一個實體位址中的資料,因此在本發明另一範例實施例中,在步驟S513中亦可透過比對目前主機讀取指令所存取之邏輯位址所對映的實體位址是否相同於所預讀取的實體位址來判斷目前主機讀取指令是否接續於前一個主機讀取指令,其中當目前主機讀取指令所存取之邏輯位址所對映的實體位址相同於所預讀取的實體位址時,則記憶體管理單元會判斷目前主機讀取指令是接續於前一個主機讀取指令。
根據本發明範例實施例所提出之下達讀取指令的方法及其資料讀取方法是適用於快閃記憶體,因此根據本發明範例實施例所提出之下達讀取指令的方法及其資料讀取方法可應用各種以快閃記憶體作為儲存媒體的裝置。也就是說,快閃記憶體儲存裝置200可以是如圖6所示的隨身碟602、數位相機(攝影機)604所使用的SD卡604a、MMC卡604b、CF卡604c與記憶棒(memory stick)604d或固態硬碟(Solid State Drive,SSD)606等。
綜上所述,本發明範例實施例的下達讀取指令方法會將欲讀取連續邏輯位址的多個主機讀取指令以快取讀取指令來組合,由此可縮短執行主機讀取指令的時間。此外,透過預讀取程序預先讀取下一個頁面的資料,更可有效地縮短執行主機讀取指令的時間。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110...主機系統
120...快閃記憶體儲存裝置
122...連接器
124...快閃記憶體控制器
126...快閃記憶體模組
132...緩衝區
134...記憶胞
200...快閃記憶體儲存裝置
202...連接器
204...快閃記憶體控制器
206...微處理器單元
208...記憶體管理單元
210...主機介面單元
212...快閃記憶體介面單元
214...緩衝記憶體
220...快閃記憶體晶片
290...主機系統
295...匯流排
402...儲存區
404...第一緩衝區
406...第二緩衝區
602...隨身碟
604...數位相機
604a...SD卡
604b...MMC卡
604c...CF卡
604d...記憶棒
606...固態硬碟
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
C1、C2、C3...指令
D1、D2、D3、D4...資料
ADD...實體位址
CM1、CM2、CM3、CM4、CM5、CM6、CM7...指令
T1、T2、T3、T4...內部資料傳輸
B1、B2、B3、B4、B5...忙碌時間
S501、S503、S505、S507、S509、S511、S513、S515、S517...下達讀取指令的步驟
圖1是繪示一般快閃記憶體儲存裝置的概要方塊圖。
圖2A是根據本發明實施例繪示使用快閃記憶體儲存裝置的主機系統。
圖2B是根據本發明範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
圖3是根據本發明範例實施例所繪示的快閃記憶體控制器下達讀取指令的範例示意圖。
圖4是根據圖3的指令所繪示之快閃記憶體晶片的運作時序圖。
圖5是根據本發明範例實施例所繪示的下達讀取指令的流程圖。
圖6是繪示本發明範例實施例之下達讀取指令的方法及其資料讀取方法可應用之裝置的示意圖。
S501、S503、S505、S507、S509、S511、S513、S515、S517...下達讀取指令的步驟

Claims (27)

  1. 一種下達讀取指令的方法,用於從一快閃記憶體晶片中讀取一主機系統欲存取的資料,該下達讀取指令的方法包括:提供一快閃記憶體控制器;從該主機系統中接收一主機指令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址;由該快閃記憶體控制器依據該主機指令向該快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料;判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態;當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,由該快閃記憶體控制器向該快閃記憶體晶片下達至少一個該快取讀取指令以在該第一資料的至少一部分被傳送至該快閃記憶體控制器期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址;從該主機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址;判斷該下一個主機指令是否為該主機讀取指令且該 下一個主機指令是否為接續於該主機指令;以及當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則由該快閃記憶體控制器依據該下一個主機指令向該快閃記憶體晶片直接下達至少一個該快取讀取指令。
  2. 如申請專利範圍第1項所述之下達讀取指令的方法,其中當該下一個主機指令為該主機讀取指令且該下一個主機指令不為接續於該主機指令時,則由該快閃記憶體控制器向該快閃記憶體晶片下達一重置指令,並且再向該快閃記憶體晶片下達一個該一般讀取指令與至少一個該快取讀取指令以在該快閃記憶體晶片中從對映該第二起始邏輯位址的實體位址開始依序地讀取對應該下一個主機指令的一第三資料。
  3. 如申請專利範圍第1項所述之下達讀取指令的方法,其中當該下一個主機指令不為該主機讀取指令時,則由該快閃記憶體控制器向該快閃記憶體晶片下達一重置指令。
  4. 如申請專利範圍第1項所述之下達讀取指令的方法,其中判斷該下一個主機指令是否為接續於該主機指令的步驟包括:判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址;以及當該第二起始邏輯位址所對映的實體位址是接續於儲存該第一資料的實體位址時,則判斷該下一個主機指令 為接續於該主機指令。
  5. 如申請專利範圍第1項所述之下達讀取指令的方法,其中判斷該下一個主機指令是否為接續於該主機指令的步驟包括:判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址;以及當該第二起始邏輯位址所對映的實體位址相同於儲存該第二資料的實體位址時,則判斷該下一個主機指令為接續於該主機指令。
  6. 一種快閃記憶體控制器,用於從一快閃記憶體晶片中讀取一主機系統欲存取的資料,該快閃記憶體控制器包括:一微處理器單元;一快閃記憶體介面單元,耦接至該微處理器單元,用以連接該快閃記憶體晶片;一主機介面單元,耦接至該微處理器單元,用以連接該主機系統;一緩衝記憶體,耦接至該微處理器單元;以及一記憶體管理單元,耦接至該微處理單元,用以透過該主機介面單元從該主機系統中接收一主機指令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址,其中該記憶體管理單元透過該快閃記憶體介面單元依據該主機指令向該快閃記憶體晶片下達一個一般讀取指 令與至少一個快取讀取指令以在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料,其中該記憶體管理單元判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,該記憶體管理單元向該快閃記憶體晶片下達至少一個該快取讀取指令以在該第一資料的至少一部分被傳送至該緩衝記憶體期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址;其中該記憶體管理單元透過該主機介面單元從該主機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址,其中該記憶體管理單元判斷該第下一個主機指令是否為該主機讀取指令且該下一個主機指令是否為接續於該主機指令,並且當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則該記憶體管理單元透過該快閃記憶體介面單元依據該下一個主機指令向該快閃記憶體晶片直接下達至少一個該快取讀取指令。
  7. 如申請專利範圍第6項所述之快閃記憶體控制器,其中當該下一個主機指令為該主機讀取指令且該下一個主機指令不為接續於該主機指令時,則該記憶體管理單元向該快閃記憶體晶片下達一重置指令,並且再向該快閃 記憶體晶片下達一個該一般讀取指令與至少一個該快取讀取指令以在該快閃記憶體晶片中從對映該第二起始邏輯位址的實體位址開始依序地讀取對應該下一個主機指令的一第三資料。
  8. 如申請專利範圍第6項所述之快閃記憶體控制器,其中當該下一個主機指令不為該主機讀取指令時,則該記憶體管理單元向該快閃記憶體晶片下達一重置指令。
  9. 如申請專利範圍第6項所述之快閃記憶體控制器,其中該記憶體管理單元判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址接續於儲存該第一資料的實體位址時,則該記憶體管理單元判斷該下一個主機指令為接續於該主機指令。
  10. 如申請專利範圍第6項所述之快閃記憶體控制器,其中該記憶體管理單元判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址相同於儲存該第二資料的實體位址時,則該記憶體管理單元判斷該下一個主機指令為接續於該主機指令。
  11. 一種快閃記憶體儲存系統,包括:一連接器,用以耦接一主機系統;一快閃記憶體晶片;以及一快閃記憶體控制器,耦接至該連接器與該快閃記憶體晶片,用以透過該連接器從該主機系統中接收一主機指 令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址,其中該快閃記憶體控制器依據該主機指令向該快閃記憶體晶片下達一個一般讀取指令與至少一個快取讀取指令以在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料,其中該快閃記憶體控制器判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,該快閃記憶體控制器向該快閃記憶體晶片下達至少一個該快取讀取指令以在該第一資料的至少一部分被傳送至該快閃記憶體控制器期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址;其中該快閃記憶體控制器透過該連接器從該主機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址,其中該快閃記憶體控制器判斷該下一個主機指令是否為該主機讀取指令且該下一個主機指令是否為接續於該主機指令,並且當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則該快閃記憶體控制器透過該快閃記憶體介面單元依據該下一個主機指令向該快閃記憶體晶片直接下達至少一個該快取讀取指 令。
  12. 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中當該下一個主機指令為該主機讀取指令且該下一個主機指令不為接續於該主機指令時,則該快閃記憶體控制器向該快閃記憶體晶片下達一重置指令,並且再向該快閃記憶體晶片下達一個該一般讀取指令與至少一個該快取讀取指令以在該快閃記憶體晶片中從對映該第二起始邏輯位址的實體位址開始依序地讀取對應該下一個主機指令的一第三資料。
  13. 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中當該下一個主機指令不為該主機讀取指令時,則該快閃記憶體控制器向該快閃記憶體晶片下達一重置指令。
  14. 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址接續於儲存該第一資料的實體位址時,則該快閃記憶體控制器判斷該下一個主機指令為接續於該主機指令。
  15. 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址相同 於儲存該第二資料的實體位址時,則該快閃記憶體控制器判斷該下一個主機指令為接續於該主機指令。
  16. 一種資料讀取方法,用於從一快閃記憶體晶片中讀取一主機系統欲存取的資料,該資料讀取方法包括:提供一快閃記憶體控制器;從該主機系統中接收一主機指令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址;由該快閃記憶體控制器依據該主機指令在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料;判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態;以及當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,由該快閃記憶體控制器在該第一資料的至少一部分被傳送至該快閃記憶體控制器期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址。
  17. 如申請專利範圍第16項所述之資料讀取方法,更包括:從該主機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址;判斷該下一個主機指令是否為該主機讀取指令且該 下一個主機指令是否為接續於該主機指令;以及當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則由該快閃記憶體控制器將該第二資料傳送給該主機系統。
  18. 如申請專利範圍第17項所述之資料讀取方法,其中判斷該下一個主機指令是否為接續於該主機指令的步驟包括:判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址;以及當該第二起始邏輯位址所對映的實體位址是接續於儲存該第一資料的實體位址時,則判斷該下一個主機指令為接續於該主機指令。
  19. 如申請專利範圍第17項所述之資料讀取方法,其中判斷該下一個主機指令是否為接續於該主機指令的步驟包括:判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址;以及當該第二起始邏輯位址所對映的實體位址相同於儲存該第二資料的實體位址時,則判斷該下一個主機指令為接續於該主機指令。
  20. 一種快閃記憶體控制器,用於從一快閃記憶體晶片中讀取一主機系統欲存取的資料,該快閃記憶體控制器包括:一微處理器單元; 一快閃記憶體介面單元,耦接至該微處理器單元,用以連接該快閃記憶體晶片;一主機介面單元,耦接至該微處理器單元,用以連接該主機系統;一緩衝記憶體,耦接至該微處理器單元;以及一記憶體管理單元,耦接至該微處理單元,用以透過該主機介面單元從該主機系統中接收一主機指令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址,其中該記憶體管理單元透過該快閃記憶體介面單元依據該主機指令在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料,其中該記憶體管理單元判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,該記憶體管理單元在該第一資料的至少一部分被傳送至該緩衝記憶體期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址。
  21. 如申請專利範圍第20項所述之快閃記憶體控制器,其中該記憶體管理單元透過該主機介面單元從該主 機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址,其中該記憶體管理單元判斷該下一個主機指令是否為該主機讀取指令且該下一個主機指令是否為接續於該主機指令,並且當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則該記憶體管理單元透過該快閃記憶體介面單元將該第二資料傳送給該主機系統。
  22. 如申請專利範圍第21項所述之快閃記憶體控制器,其中該記憶體管理單元判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址接續於儲存該第一資料的實體位址時,則該記憶體管理單元判斷該下一個主機指令為接續於該主機指令。
  23. 如申請專利範圍第21項所述之快閃記憶體控制器,其中該記憶體管理單元判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址相同於儲存該第二資料的實體位址時,則該記憶體管理單元判斷該下一個主機指令為接續於該主機指令。
  24. 一種快閃記憶體儲存系統,包括:一連接器,用以耦接一主機系統;一快閃記憶體晶片;以及一快閃記憶體控制器,耦接至該連接器與該快閃記憶 體晶片,用以透過該連接器從該主機系統中接收一主機指令,其中該主機指令為一主機讀取指令並且該主機指令包括一第一起始邏輯位址,其中該快閃記憶體控制器依據該主機指令在該快閃記憶體晶片中從對映該第一起始邏輯位址的實體位址開始依序地讀取對應該主機指令的一第一資料,其中該快閃記憶體控制器判斷該第一起始邏輯位址對應的一邏輯區塊是否處於一開啟母子區塊狀態,當該第一起始邏輯位址對應的邏輯區塊非處於該開啟母子區塊狀態時,該快閃記憶體控制器在該第一資料的至少一部分被傳送至該快閃記憶體控制器期間從該快閃記憶體晶片中讀取非該主機指令請求之一第二資料,其中在該快閃記憶體晶片中儲存該第二資料的實體位址是接續於儲存該第一資料的實體位址。
  25. 如申請專利範圍第24項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器透過該連接器從該主機系統中接收一下一個主機指令,其中該下一個主機指令包括一第二起始邏輯位址,其中該快閃記憶體控制器判斷該下一個主機指令是否為該主機讀取指令且該下一個主機指令是否為接續於該主機指令,並且當該下一個主機指令為該主機讀取指令且該下一個主機指令為接續於該主機指令時,則該快閃記憶體控制器透過該快閃記憶體介面單元將該第二資料傳送給 該主機系統。
  26. 如申請專利範圍第25項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器判斷該第二起始邏輯位址所對映的實體位址是否接續於儲存該第一資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址接續於儲存該第一資料的實體位址時,則該快閃記憶體控制器判斷該下一個主機指令為接續於該主機指令。
  27. 如申請專利範圍第25項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器判斷該第二起始邏輯位址所對映的實體位址是否相同於儲存該第二資料的實體位址,其中當該第二起始邏輯位址所對映的實體位址相同於儲存該第二資料的實體位址時,則該快閃記憶體控制器判斷該下一個主機指令為接續於該主機指令。
TW098128718A 2009-08-26 2009-08-26 下達讀取指令與資料讀取方法、控制器與儲存系統 TWI435215B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW098128718A TWI435215B (zh) 2009-08-26 2009-08-26 下達讀取指令與資料讀取方法、控制器與儲存系統
US12/568,039 US8244963B2 (en) 2009-08-26 2009-09-28 Method for giving read commands and reading data, and controller and storage system using the same
US13/494,672 US9122611B2 (en) 2009-08-26 2012-06-12 Method for giving read commands and reading data, and controller and storage system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098128718A TWI435215B (zh) 2009-08-26 2009-08-26 下達讀取指令與資料讀取方法、控制器與儲存系統

Publications (2)

Publication Number Publication Date
TW201107971A TW201107971A (en) 2011-03-01
TWI435215B true TWI435215B (zh) 2014-04-21

Family

ID=43626521

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098128718A TWI435215B (zh) 2009-08-26 2009-08-26 下達讀取指令與資料讀取方法、控制器與儲存系統

Country Status (2)

Country Link
US (2) US8244963B2 (zh)
TW (1) TWI435215B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI742565B (zh) * 2019-06-06 2021-10-11 旺宏電子股份有限公司 記憶體裝置、電子裝置以及與其相關的讀取方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291125B2 (en) * 2011-02-16 2012-10-16 Smsc Holdings S.A.R.L. Speculative read-ahead for improving system throughput
TWI523030B (zh) * 2012-01-09 2016-02-21 群聯電子股份有限公司 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9563551B2 (en) 2013-06-20 2017-02-07 Silicon Motion, Inc. Data storage device and data fetching method for flash memory
US9690515B2 (en) 2013-10-25 2017-06-27 Sandisk Technologies Llc Delayed automation to maximize the utilization of read and write cache
US9740621B2 (en) * 2014-05-21 2017-08-22 Qualcomm Incorporated Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods
US10503661B2 (en) 2014-05-21 2019-12-10 Qualcomm Incorporated Providing memory bandwidth compression using compressed memory controllers (CMCs) in a central processing unit (CPU)-based system
US10838862B2 (en) 2014-05-21 2020-11-17 Qualcomm Incorporated Memory controllers employing memory capacity compression, and related processor-based systems and methods
TWI556249B (zh) * 2014-11-07 2016-11-01 群聯電子股份有限公司 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
TWI562154B (en) * 2015-02-17 2016-12-11 Silicon Motion Inc Methods for reading data from a storage unit of a flash memory and apparatuses using the same
TWI588831B (zh) 2016-01-29 2017-06-21 智原科技股份有限公司 非揮發性記憶體加速器及存取加速方法
US20170228191A1 (en) * 2016-02-08 2017-08-10 Western Digital Technologies, Inc. Systems and methods for suppressing latency in non-volatile solid state devices
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10503660B2 (en) * 2017-12-20 2019-12-10 Arm Limited Technique for determining address translation data to be stored within an address translation cache
US10459844B2 (en) * 2017-12-21 2019-10-29 Western Digital Technologies, Inc. Managing flash memory read operations
KR20190090268A (ko) * 2018-01-24 2019-08-01 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN110286846B (zh) * 2018-03-19 2023-03-14 深圳大心电子科技有限公司 数据移动方法及储存控制器
KR20190110360A (ko) * 2018-03-20 2019-09-30 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 시스템 및 그 동작 방법
KR20200015260A (ko) * 2018-08-03 2020-02-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN112567352A (zh) 2018-08-14 2021-03-26 拉姆伯斯公司 经封装的集成设备
CN112130906A (zh) * 2020-09-28 2020-12-25 深圳市宏旺微电子有限公司 一种主机命令处理的方法及装置
US11379367B2 (en) * 2020-11-19 2022-07-05 Micron Technology, Inc. Enhancement for activation and deactivation of memory address regions
US11972146B2 (en) 2022-02-24 2024-04-30 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11861212B2 (en) 2022-02-24 2024-01-02 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11977776B2 (en) * 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11977752B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device
US11935595B2 (en) 2022-02-24 2024-03-19 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848030B2 (en) * 2001-07-20 2005-01-25 Freescale Semiconductor, Inc. Method and apparatus for filling lines in a cache
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
US7238218B2 (en) * 2004-04-06 2007-07-03 International Business Machines Corporation Memory prefetch method and system
KR100626392B1 (ko) * 2005-04-01 2006-09-20 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
US7123521B1 (en) * 2005-04-27 2006-10-17 Micron Technology, Inc. Random cache read
US7657699B2 (en) * 2005-11-09 2010-02-02 Sandisk Il Ltd. Device and method for monitoring operation of a flash memory
US7644224B2 (en) * 2005-11-15 2010-01-05 Sandisk Il Ltd. Flash memory device and method
US7423915B2 (en) * 2006-01-17 2008-09-09 Spansion Llc Random cache read using a double memory
JP5367210B2 (ja) * 2006-01-20 2013-12-11 株式会社東芝 半導体記憶装置
JP4984666B2 (ja) * 2006-06-12 2012-07-25 ソニー株式会社 不揮発性メモリ
JP5002201B2 (ja) * 2006-06-30 2012-08-15 株式会社東芝 メモリシステム
US7525842B2 (en) * 2007-01-25 2009-04-28 Micron Technology, Inc. Increased NAND flash memory read throughput
KR100813631B1 (ko) * 2007-03-19 2008-03-14 삼성전자주식회사 읽기 성능을 향상시킬 수 있는 플래시 메모리 장치
JP4649503B2 (ja) * 2008-08-13 2011-03-09 株式会社東芝 半導体装置
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI742565B (zh) * 2019-06-06 2021-10-11 旺宏電子股份有限公司 記憶體裝置、電子裝置以及與其相關的讀取方法
US11182302B2 (en) 2019-06-06 2021-11-23 Macronix International Co., Ltd. Memory device, electronic device, and associated read method

Also Published As

Publication number Publication date
US8244963B2 (en) 2012-08-14
US20120254522A1 (en) 2012-10-04
US20110055456A1 (en) 2011-03-03
US9122611B2 (en) 2015-09-01
TW201107971A (en) 2011-03-01

Similar Documents

Publication Publication Date Title
TWI435215B (zh) 下達讀取指令與資料讀取方法、控制器與儲存系統
TWI424435B (zh) 對快閃記憶體下達程式化指令的方法、控制器與儲存系統
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
TWI409633B (zh) 快閃記憶體儲存裝置、其控制器與資料寫入方法
US8341311B1 (en) System and method for reduced latency data transfers from flash memory to host by utilizing concurrent transfers into RAM buffer memory and FIFO host interface
TWI494849B (zh) 韌體碼載入方法、記憶體控制器與記憶體儲存裝置
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
TWI494756B (zh) 下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統
TWI446349B (zh) 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器
TWI607448B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI607309B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201802680A (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TWI438630B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI448892B (zh) 資料搬移方法、記憶體控制器與記憶體儲存裝置
TWI644210B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI415128B (zh) 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
US8589620B2 (en) Data writing method, memory controller, and memory storage apparatus
TWI503841B (zh) 寫入方法、記憶體控制器與記憶體儲存裝置
TWI584292B (zh) 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置
TWI813362B (zh) 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI829103B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI686698B (zh) 邏輯轉實體表更新方法及儲存控制器
US20240201859A1 (en) Stream Data Management in Storage Device