TWI662413B - 記憶裝置及資料讀取方法 - Google Patents
記憶裝置及資料讀取方法 Download PDFInfo
- Publication number
- TWI662413B TWI662413B TW106104594A TW106104594A TWI662413B TW I662413 B TWI662413 B TW I662413B TW 106104594 A TW106104594 A TW 106104594A TW 106104594 A TW106104594 A TW 106104594A TW I662413 B TWI662413 B TW I662413B
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- specific
- status
- tasks
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000015654 memory Effects 0.000 claims abstract description 130
- 238000006243 chemical reaction Methods 0.000 claims abstract description 57
- 238000010586 diagram Methods 0.000 description 9
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種記憶裝置,包括複數非揮發性記憶體、一揮發性記憶體以及一處理器。揮發性記憶體具有一命令佇列。處理器透過複數通道讀取非揮發性記憶體,並根據命令佇列裡的命令產生一狀態表。狀態表記錄複數任務以及每一任務的一讀取狀態及一通道編號。處理器挑選該等任務中之多個特定任務,以作為一第一任務集合,並同時執行第一任務集合中的所有任務。第一任務集合裡的所有任務的通道編號均不相同。當第一任務集合中之一第一任務的讀取狀態為一第一預設狀態時,處理器讀取關聯於第一任務的邏輯位址的一邏輯至實體轉換表。當第一任務的讀取狀態為一第二預設狀態時,處理器讀取關聯於第一任務的邏輯位址的資料。
Description
本發明係有關於一種記憶裝置,特別是有關於一種根據一狀態表裡的讀取狀態進行讀取操作的記憶裝置。
一般而言,記憶體可分為揮發性記憶體與非揮發性記憶體。非揮發性記憶體在無電源供應的情況下亦可保持其所儲存的資料,而揮發性記憶體僅僅在有電源供應的情況下才可保持其所儲存的資料。記憶體通常係配置於一記憶裝置中,用以為主機儲存資料。舉例來說,一記憶裝置通常具有一個處理器及一至多個記憶體。記憶裝置之記憶體係單純供儲存資料,而記憶裝置之處理器係依據主機之命令而為主機存取記憶體中之資料。
本發明提供一種記憶裝置,包括複數非揮發性記憶體、一揮發性記憶體以及一處理器。揮發性記憶體具有一命令佇列。處理器透過複數通道讀取非揮發性記憶體,並根據命令佇列裡的至少一命令產生一狀態表。狀態表記錄複數任務以及每一任務的一讀取狀態及一通道編號。處理器挑選該等任務中之多個特定任務作為一第一任務集合,並同時執行第一任務集合中的所有任務。第一任務集合裡的所有任務的通道編號均不相同。當第一任務集合中之一第一任務的讀取狀態為一第一
預設狀態時,處理器讀取非揮發性記憶體之一者,用以讀取關聯於第一任務的邏輯位址的一邏輯至實體轉換表。當第一任務的讀取狀態為一第二預設狀態時,處理器讀取非揮發性記憶體之一者,用以讀取關聯於第一任務的邏輯位址的資料。在一第一讀取期間,該處理器執行該第一任務集合,該第一任務集合裡的每一任務的讀取狀態均為一第一特定狀態;在一第二讀取期間,該處理器再度從該等任務中挑選多個特定任務,以作為一第二任務集合,並同時執行該第二任務集合中的所有任務,該第二任務集合裡的所有任務的通道編號均不相同,該第二任務集合裡的每一任務的讀取狀態均為一第二特定狀態,該第二特定狀態不同於該第一特定狀態。當該第一特定狀態為該第一預設狀態,並且該第二特定狀態為該第二預設狀態時,在該處理器執行完該第一任務集合後,該處理器將該第一任務集合裡的每一任務的讀取狀態更新成該第二預設狀態,當該處理器執行完該第二任務集合後,該處理器將該第二任務集合裡的每一任務的讀取狀態更新成一第三狀態,該第三狀態表示該處理器已完成該第二任務集合裡的一特定任務。
本發明另揭露一種資料讀取方法,適用於一記憶裝置。記憶裝置包括複數非揮發性記憶體以及一處理器。處理器透過複數通道讀取非揮發性記憶體。本發明之資料讀取方法包括,根據一命令佇列裡的至少一命令產生一狀態表,該狀態表記錄複數任務、每一任務的一讀取狀態及一通道編號;挑選多個任務作為一第一任務集合,並同時執行第一任務集合中的所有任務,其中第一任務集合裡的所有任務的通道編號均不相
同;當該第一任務集合中之一第一任務的讀取狀態為一第一預設狀態時,讀取該等非揮發性記憶體之至少一者,用以讀取關聯於該第一任務的邏輯位址的一邏輯至實體轉換表;當該第一任務的讀取狀態為一第二預設狀態時,讀取該等非揮發性記憶體之至少一者,用以讀取關聯於該第一任務的邏輯位址的資料。在一第一讀取期間,執行該第一任務集合,該第一任務集合的每一任務的讀取狀態均為一第一特定狀態;在一第二讀取期間,再次挑選該等任務中之多個任務作為一第二任務集合,並同時執行該第二任務集合中的所有任務,其中該第二任務集合裡的所有任務的通道編號均不相同,該第二任務集合裡的所有任務的讀取狀態均為一第二特定狀態,該第二特定狀態不同於該第一特定狀態。當該第一特定狀態為該第一預設狀態,並且該第二特定狀態為該第二預設狀態時,在執行完該第一任務集合後,將該第一任務集合之每一任務的讀取狀態更新成該第二預設狀態,在執行完該第二任務集合後,將該第二任務集合裡的每一任務的讀取狀態更新成一第三狀態,該第三狀態表示已完成相對應的任務。
為讓本發明之特徵和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
100‧‧‧存取系統
110‧‧‧主機裝置
120‧‧‧記憶裝置
130‧‧‧處理器
140‧‧‧揮發性記憶體
150‧‧‧非揮發性記憶單元
141~143‧‧‧區塊
160_1~160_4‧‧‧通道
150_1~150_4‧‧‧非揮發性記憶體
S511~S515‧‧‧步驟
第1圖為本發明之存取系統之示意圖。
第2圖為本發明之初始化後的狀態表之示意圖。
第3圖為本發明之更新後的狀態表示意圖。
第4圖為本發明之更新後的另一狀態表示意圖。
第5圖為本發明之資料讀取方法的一流程圖。
第1圖為本發明之存取系統之示意圖。如圖所示,存取系統100包括一主機裝置110以及一記憶裝置120。當主機裝置110發送寫入命令時,記憶裝置120根據寫入命令儲存資料。當主機裝置110發出讀取命令時,記憶裝置120根據讀取命令提供資料予主機裝置110。在本實施例中,記憶裝置120包括一處理器130、一揮發性記憶體140以及一非揮發性記憶單元150。
處理器130接收來自主機裝置110的多個命令,並將該等命令依序儲存在揮發性記憶體140的一命令佇列(command queue)中。為方便說明,假設揮發性記憶體140的區塊141作為一命令佇列。在本實施例中,處理器130根據該命令佇列裡的至少一命令建立一狀態表。在一可能實施例中,該狀態表係儲存於揮發性記憶體140的區塊142之中,但並非用以限制本發明。在其它實施例中,該狀態表可能儲存於另一記憶體中,如非揮發性記憶單元150或是其它記憶體中。稍後將說明該狀態表所記錄的資訊。
在一可能實施例中,揮發性記憶體140的區塊143儲存一邏輯至實體轉換表(logical-to-physical address mapping table)。邏輯至實體轉換表包括複數邏輯位址以及該等邏輯位址關聯的複數實體位址。處理器130根據邏輯至實體轉換表得知主機裝置110所提供的邏輯位址(Logical Block Address;LBA)的資料實際儲存於非揮發性記憶單元150的哪個非揮發性記憶
體中。
在一些實施例中,揮發性記憶體140更儲存一轉換位址表,用以指示主機裝置110所提供的邏輯位址所對應的一特定邏輯至實體轉換表係儲存在非揮發性記憶單元150的哪個非揮發性記憶體中。舉例而言,當處理器130從揮發性記憶體140所儲存的一第一邏輯至實體轉換表中找不到主機裝置110所提供的邏輯位址所對應的實體位址時,處理器130改從揮發性記憶體140所儲存的一轉換位址表中,找出主機裝置110所提供的邏輯位址所對應的一第二邏輯至實體轉換表係儲存在非揮發性記憶單元150的哪個非揮發性記憶體中,並將第二邏輯至實體轉換表載入揮發性記憶體140中,再從揮發性記憶體140所儲存的第二邏輯至實體轉換表中找出主機裝置110所提供的邏輯位址所對應的資料係儲存在非揮發性記憶單元150的哪個位置。
揮發性記憶體140可為一動態隨機存取記憶體(Dynamic Random Access Memory;DRAM)或是一靜態隨機存取記憶體(Static Random Access Memory;SDRAM),但並非用以限制本發明。在其它實施例中,揮發性記憶體140可為其它種類的揮發性記憶體。在一可能實施例中,處理器130與揮發性記憶體140可整合成一控制器,用以根據主機裝置110所提供的命令,存取非揮發性記憶單元150。
非揮發性記憶單元150可為一NAND型快閃記憶體(flash)。如圖所示,非揮發性記憶單元150包括非揮發性記憶體150_1~150_4,但並非用以限制本發明。在其它實施例中,
非揮發性記憶單元150包括其它數量的非揮發性記憶體。在本實施例中,處理器130透過不同通道存取不同的非揮發性記憶體。舉例而言,處理器130透過通道160_1存取非揮發性記憶體150_1,透過通道160_2存取非揮發性記憶體150_2,透過通道160_3存取非揮發性記憶體150_3,以及透過通道160_4存取非揮發性記憶體150_4。在一可能實施例中,非揮發性記憶體150_1~150_4儲存資料以及複數邏輯至實體轉換表。在本實施例中,處理器130讀取並輸出非揮發性記憶體150_1~150_4所儲存的資料予主機裝置110,但不會輸出邏輯至實體轉換表予主機裝置110。
第2圖為本發明之狀態表的示意圖。如圖所示,狀態表記錄複數任務以及每一任務的一讀取狀態及執行該任務所對應的通道編號。為方便說明,第2圖的狀態表僅顯示8項任務,但並非用以限制本發明。在其它實施例中,狀態表記錄其它數量的任務。
在一可能實施例中,處理器130係根據揮發性記憶體140的一命令佇列裡的至少一命令得知任務1~8,並根據任務1~8建立一狀態表。處理器130初始化任務1~8的讀取狀態。在本實施例中,處理器130將任務1~8之每一者的讀取狀態初始化成一預設狀態a。由於處理器130尚不知需透過哪個通道存取哪個非揮發性記憶體,因此,任務1~8所對應的通道編號以問號表示。
接著,處理器130解碼任務1~8,用以取得任務1~8的邏輯位址,並根據任務1~8的邏輯位址以及揮發性記憶體140
所儲存資訊,更新任務1~任務8的讀取狀態以及通道編號。第3圖顯示更新後的狀態表。以任務1為例,假設任務1的邏輯位址並未被記錄於揮發性記憶體140的邏輯至實體轉換表中,因此,處理器130將任務1的讀取狀態由預設狀態a更新為預設狀態b。預設狀態b表示處理器130需先找出任務1的邏輯位址所對應的一邏輯至實體轉換表係儲存在哪個非揮發性記憶體中,再根據找到的邏輯至實體轉換表得知任務1的邏輯位址所對應的資料係儲存在哪個非揮發性記憶體中。
舉例而言,在一讀取期間,處理器130根據揮發性記憶體140所儲存的一轉換位址表,得知任務1的邏輯位址所對應的一特定邏輯至實體轉換表係儲存在非揮發性記憶體150_1中。由於處理器130係透過通道160_1存取非揮發性記憶體150_1,因此,處理器130將任務1所對應的通道編號設定為0。
請再參考第3圖,假設,任務3的邏輯位址已被記錄於揮發性記憶體140所儲存的邏輯至實體轉換表中。在此例中,處理器130將任務3的讀取狀態設定為預設狀態c。由於任務3的邏輯位置的資料係儲存在非揮發性記憶體150_3中,故處理器130將任務3的通道編號更新為2。在本實施例中,通道編號0~3分別對應通道160_1~160_4。
在更新完第2圖的所有任務的讀取狀態以及通道編號後,處理器130從更新後的狀態表(如第3圖所示)中,挑選多個任務作為一第一任務集合,並同時執行第一任務集合裡的所有任務。在本實施例中,第一任務集合裡的所有任務的通道編號均不相同。
舉例而言,第3圖所示的任務1-3及8的通道編號均不相同,故處理器130可能挑選第3圖中的任務1-3及8作為一第一任務集合。在此例中,任務1-3及8之至少一者的讀取狀態不同於另一者。在另一可能實施例中,處理器130挑選具有相同的讀取狀態但不同通道編號的任務。舉例而言,處理器130挑選任務1-2及7作為一第一任務集合,或是挑選任務3及8作為一第一任務集合。在其它實施例中,處理器130係根據通道編號挑選任務,用以使通道160_1~160_4皆處於忙錄狀態。換句話說,在每一讀取期間,處理器130透過通道160_1~160_4讀取非揮發性記憶體150_1~150_4。
為方便說明,以下係假設處理器130挑選第3圖的任務1-3作為一第一任務集合。在此例中,處理器130根據任務1-3的通道編號,透過通道160_1~160_3同時讀取非揮發性記憶體150_1~150_3。以任務1為例,由於任務1的讀取狀態為預設狀態b,故處理器130透過通道160_1讀取非揮發性記憶體150_1所儲存的一第一邏輯至實體轉換表。在處理器130取得第一邏輯至實體轉換表後,處理器130將任務1的讀取狀態更新為預設狀態c。在一可能實施例中,處理器130將第一邏輯至實體轉換表載入揮發性記憶體140中。處理器130根據第一邏輯至實體轉換表得知任務1的邏輯位址所對應的資料係儲存在非揮發性記憶體150_3。因此,處理器130任務1的通道編號更新為2,如第4圖所示。在一可能實施例中,如果任務1的邏輯位址所對應的資料也是儲存非揮發性記憶體150_1時,則處理器130將任務1的通道編號維持在0。
針對任務2,在第3圖中,由於任務2的通道編號為1,故處理器130透過通道160_2讀取非揮發性記憶體150_2所儲存的一第二邏輯至實體轉換表,並將任務2的讀取狀態更新為預設狀態c,如第4圖所示。對於任務3,由於第3圖中的任務3的讀取狀態為預設狀態c,故處理器130透過通道160_3讀取非揮發性記憶體150_3所儲存的資料,並將任務3的讀取狀態更新為狀態d,如第4圖所示。狀態d表示處理器130已完成任務3。
在一可能實施例中,處理器130將讀取到的資料及邏輯至實體轉換表儲存於揮發性記憶體140中,但處理器130只會輸出資料予主機裝置110,並不會將邏輯至實體轉換表輸出予主機裝置110。
第4圖為更新任務1-3後的狀態表示意圖。如圖所示,狀態1-3的讀取狀態及通道編號均已被修改。處理器130再從第4圖的狀態表中,挑選多個具有不同通道編號的任務作為一第二任務集合。在一可能實施例中,處理器130可能挑選具有相同讀取狀態的任務。舉例而言,處理器130可能挑選第4圖中的任務1-2作為第二集合任務,或是挑選任務4及7作為第二集合任務。在其它實施例中,處理器130可能挑選任務1-2及5作為第二集合任務。在此例中,第二集合任務裡的一第一任務(如任務1)的讀取狀態不同於第二集合任務裡的一第二任務(如任務5)的讀取狀態。
在一些實施例中,第二集合任務裡的所有任務具有相同的讀取狀態,並且相同或不同於第一集合任務裡的所有任務的讀取狀態。舉例而言,第二集合任務裡的所有任務的讀
取狀態均為預設狀態b,而第一集合任務裡的所有任務的讀取狀態均為預設狀態b或c。
處理器130執行第二集合任務,並更新第二集合任務裡的所有任務的讀取狀態及通道編號,並再從更新後的狀態圖中重新挑選多個任務作為一第三任務集合,直到第4圖的任務1~8的讀取狀態均為狀態d。在一可能實施例中,當處理器130讀取到關聯於任務1~8的邏輯位址的資料時,處理器130一併輸出讀取資料予主機裝置110。
第5圖為本發明之資料讀取方法,其可適用於一記憶裝置中。記憶裝置包括一揮發性記憶體、複數非揮發性記憶體以及一處理器。在一可能實施例中,處理器係透過複數通道讀取該等非揮發性記憶體。
首先,處理器根據一命令佇列裡的至少一命令產生一狀態表(步驟S511)。在一可能實施例中,記憶裝置裡的揮發性記憶體140的一記憶區塊作為該命令佇列。另外,狀態表也可能儲存在記憶裝置裡的揮發性記憶體、非揮發性記憶體或是其它記憶體中。在本實施例中,狀態表記錄複數任務以及每一任務的一讀取狀態以及一通道編號。在建立狀態表後,處理器初始化狀態表裡的所有任務的讀取狀態。在一可能實施例中,處理器將狀態表裡的所有任務的讀取狀態初始化成一特定狀態,如一預設狀態a。第2圖顯示一可能的初始化結果。
接著,處理器根據揮發性記憶體所儲存的資訊,更新狀態表裡每一任務的讀取狀態及通道編號(步驟S512)。因此,每一任務的讀取狀態與揮發性記憶體所儲存的資訊有關。
在一可能實施例中,處理器判斷狀態表裡的一第一任務的邏輯位址是否被記錄於揮發性記憶體所儲存的一邏輯至實體轉換表。
當第一任務的邏輯位址未被記錄於揮發性記憶體所儲存的邏輯至實體轉換表時,處理器將第一任務的讀取狀態設定為一預設狀態b,並根據揮發性記憶體所儲存的一轉換位址表,更新第一任務的通道編號。然而,當第一任務的邏輯位址被記錄於揮發性記憶體所儲存的邏輯至實體轉換表時,處理器設定第一任務的讀取狀態為一預設狀態c。此時,處理器根據揮發性記憶體所儲存的邏輯至實體轉換表,更新第一任務的通道編號。
接著,處理器從更新後的狀態表中,挑選多個任務作為一第一任務集合,並同時執行第一任務集合裡的所有任務(步驟S513)。在本實施例中,第一任務集合裡的所有任務的通道編號均不相同。在一可能實施例中,第一任務集合裡的所有任務的讀取狀態均為預設狀態b或c。在其它實施例中,第一任務集合裡的多個任務中之一者的讀取狀態不同於第一任務集合裡的多個任務中之另一者。
以第3圖為例,假設,處理器挑選任務1-3作為第一任務集合。針對任務1及2,由於任務1及2的讀取狀態為預設狀態b,故處理器讀取非揮發性記憶體之至少一者,用以讀取關聯於任務1及2的邏輯位址的至少一邏輯至實體轉換表。接著,處理器將任務1-2的讀取狀態更新為預設狀態c,並根據讀取到的至少一邏輯至實體轉換表更新任務1及2的通道編號。
接著,針對任務3,由於任務3的讀取狀態為預設狀態c,故處理器讀取非揮發性記憶體之至少一者,用以讀取關聯於任務3的邏輯位址的資料。在讀取到資料後,處理器將任務3的讀取狀態更新為狀態d,第4圖顯示執行完第一任務集合後的狀態表示意圖。
在更新完第一任務集合裡的所有任務的讀取狀態後,處理器判斷第4圖的狀態表裡的所有讀取狀態是否均為狀態d。若是,表示處理器已完成命令佇列裡的一讀取命令(步驟S515)。因此,處理器輸出所有的讀取資料予一主機裝置。若第4圖的狀態表裡的所有讀取狀態並非狀態d時,則回到步驟S513,繼續挑選並同時執行第4圖裡的多個任務。此時,被挑選到的任務構成一第二任務集合。
處理器執行第二任務集合,並根據執行結果更新第二任務集合裡的每一任務的讀取狀態。在處理器執行完第二任務集合裡的所有任務後,若仍有部分任務的讀取狀態不為狀態d時,則處理器再次挑選多個任務作為一第三任務集合,並同時執行第亖任務集合裡的多個任務,直到第4圖的狀態表裡的任務1-8的讀取狀態均為狀態d。
處理器在不同的讀取期間執行不同的任務集合裡的多個任務。在一可能實施例中,在每一讀取期間,所有的通道均為忙錄狀態。當第4圖的對應表裡的任務1-8的讀取狀態均為狀態d時,處理器將關聯任務1-8的邏輯位址的資料輸出予主機裝置。在此例中,處理器並不會輸出邏輯至實體轉換表予主機裝置。
在一可能實施例中,第二任務集合裡的所有任務的讀取狀態均相同,並相同或不同於第一任務集合裡的所有任務的讀取狀態。在另一可能實施中,第二任務集合具有一第一任務以及一第二任務,其中第一任務的讀取狀態不同於第二任務的讀取狀態。在此例中,處理器可同時進行表格(邏輯至實體轉換表)的讀取以及資料的讀取。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (12)
- 一種記憶裝置,包括:複數非揮發性記憶體;一揮發性記憶體,具有一命令佇列;以及一處理器,透過複數通道讀取該等非揮發性記憶體,並根據該命令佇列裡的至少一命令產生一狀態表,該狀態表記錄複數任務以及每一任務的一讀取狀態及一通道編號,其中該處理器判斷一第一特定集合的一第一特定任務的邏輯位址是否儲存於該揮發性記憶體的一特定邏輯物理位址轉換表中,其中當該第一特定任務的邏輯位址未儲存於該特定邏輯物理位址轉換表中時,該處理器設定該第一特定任務的一讀取狀態為一第一預設狀態,當該第一特定任務的邏輯位址儲存於該特定邏輯物理位址轉換表中時,該處理器設定該第一特定任務的該讀取狀態為一第二預設狀態,其中該處理器根據該狀態表所記錄的該等任務及該等通道編號,挑選該等任務中之多個特定任務,以作為該第一任務集合,同時執行該第一任務集合中的所有任務,該第一任務集合裡的所有任務的通道編號均不相同;其中當該第一任務集合中之該第一特定任務的讀取狀態為該第一預設狀態時,該處理器讀取該等非揮發性記憶體之一者,用以讀取關聯於該第一特定任務的邏輯位址的一邏輯至實體轉換表;當該第一特定任務的讀取狀態為該第二預設狀態時,該處理器讀取該等非揮發性記憶體之一者,用以讀取關聯於該第一特定任務的邏輯位址的資料;在一第一讀取期間,該處理器執行該第一任務集合,該第一任務集合裡的每一任務的讀取狀態均為一第一特定狀態;在一第二讀取期間,該處理器再度從該等任務中挑選多個特定任務,以作為一第二任務集合,並同時執行該第二任務集合中的所有任務,該第二任務集合裡的所有任務的通道編號均不相同,該第二任務集合裡的每一任務的讀取狀態均為一第二特定狀態,該第二特定狀態不同於該第一特定狀態;其中當該第一特定狀態為該第一預設狀態,並且該第二特定狀態為該第二預設狀態時,在該處理器執行完該第一任務集合後,該處理器將該第一任務集合裡的每一任務的讀取狀態更新成該第二預設狀態,當該處理器執行完該第二任務集合後,該處理器將該第二任務集合裡的每一任務的讀取狀態更新成一第三預設狀態,該第三預設狀態表示該處理器已完成該第二任務集合裡的一特定任務。
- 如申請專利範圍第1項所述之記憶裝置,其中該處理器同時執行該第一任務集合裡的該第一特定任務以及一第二特定任務,該第一特定任務的讀取狀態不同於該第二特定任務的讀取狀態。
- 如申請專利範圍第2項所述之記憶裝置,其中當該處理器執行該第一特定任務時,該處理器讀取該等非揮發性記憶體之一第一非揮發性記憶體所儲存的一邏輯至實體轉換表,當該處理器執行該第二特定任務時,該處理器讀取該等非揮發性記憶體之一第二非揮發性記憶體所儲存的一特定資料,該記憶裝置輸出該特定資料予一主機裝置,但不輸出該邏輯至實體轉換表予該主機裝置。
- 如申請專利範圍第1項所述之記憶裝置,其中該處理器係根據該揮發性記憶體所儲存的資訊,決定每一任務的讀取狀態。
- 如申請專利範圍第4項所述之記憶裝置,其中該揮發性記憶體儲存一特定邏輯至實體轉換表,該特定邏輯至實體轉換表包括複數邏輯位址以及該等邏輯位址關聯的複數實體位址,該處理器判斷關聯於該第一特定任務的邏輯位址是否被記錄於該特定邏輯至實體轉換表中,當關聯於該第一特定任務的邏輯位址未被記錄於該特定邏輯至實體轉換表中,該處理器設定該第一特定任務的讀取狀態為該第一預設狀態,當關聯於該第一特定任務的邏輯位址被記錄於該特定邏輯至實體轉換表中,該處理器設定該第一特定任務的讀取狀態為該第二預設狀態。
- 如申請專利範圍第1項所述之記憶裝置,其中在一讀取期間,該處理器透過所有通道讀取該等非揮發性記憶體。
- 一種資料讀取方法,適用於一記憶裝置,該記憶裝置包括複數非揮發性記憶體、一揮發性記憶體以及一處理器,該處理器透過複數通道讀取該等非揮發性記憶體,該資料讀取方法包括:根據一命令佇列裡的至少一命令產生一狀態表,該狀態表記錄複數任務、每一任務的一讀取狀態及一通道編號,其中該處理器判斷一第一特定集合的一第一特定任務的邏輯位址是否儲存於該揮發性記憶體的一特定邏輯物理位址轉換表中,當該第一特定任務的邏輯位址未儲存於該特定邏輯物理位址轉換表中時,該處理器設定該第一特定任務的一讀取狀態為一第一預設狀態,當該第一特定任務的邏輯位址儲存於該特定邏輯物理位址轉換表中時,該處理器設定該第一特定任務的該讀取狀態為一第二預設狀態;根據該狀態表所記錄的該等任務及該等通道編號,挑選該等任務中之多個任務作為該第一任務集合,並同時執行該第一任務集合中的所有任務,其中該第一任務集合裡的所有任務的通道編號均不相同;當該第一任務集合中之該第一特定任務的讀取狀態為該第一預設狀態時,讀取該等非揮發性記憶體之至少一者,用以讀取關聯於該第一特定任務的邏輯位址的一邏輯至實體轉換表;以及當該第一特定任務的讀取狀態為該第二預設狀態時,讀取該等非揮發性記憶體之至少一者,用以讀取關聯於該第一特定任務的邏輯位址的資料,其中在一第一讀取期間,執行該第一任務集合,該第一任務集合的每一任務的讀取狀態均為一第一特定狀態;在一第二讀取期間,再次挑選該等任務中之多個任務作為一第二任務集合,並同時執行該第二任務集合中的所有任務,其中該第二任務集合裡的所有任務的通道編號均不相同,該第二任務集合裡的所有任務的讀取狀態均為一第二特定狀態,該第二特定狀態不同於該第一特定狀態;其中當該第一特定狀態為該第一預設狀態,並且該第二特定狀態為該第二預設狀態時,在執行完該第一任務集合後,將該第一任務集合之每一任務的讀取狀態更新成該第二預設狀態,在執行完該第二任務集合後,將該第二任務集合裡的每一任務的讀取狀態更新成一第三預設狀態,該第三預設狀態表示已完成相對應的任務。
- 如申請專利範圍第7項所述之資料讀取方法,其中該第一任務集合至少包括該第一特定任務以及一第二特定任務,該第一及第二特定任務的讀取狀態不同。
- 如申請專利範圍第8項所述之資料讀取方法,其中在執行該第一特定任務時,讀取該等非揮發性記憶體之一第一非揮發性記憶體所儲存的一邏輯至實體轉換表,在執行該第二特定任務時,讀取該等非揮發性記憶體之一第二非揮發性記憶體所儲存的一特定資料,其中該特定資料被輸出予一主機裝置,但該邏輯至實體轉換表不被輸出予該主機裝置。
- 如申請專利範圍第7項所述之資料讀取方法,其中每一任務的讀取狀態與該揮發性記憶體所儲存的資訊有關。
- 如申請專利範圍第10項所述之資料讀取方法,更包括:讀取該揮發性記憶體,其中該揮發性記憶體儲存一特定邏輯至實體轉換表,該特定邏輯至實體轉換表包括複數邏輯位址以及該等邏輯位址關聯的複數實體位址;判斷關聯於該第一特定任務的邏輯位址是否被記錄於該特定邏輯至實體轉換表中,當關聯於該第一特定任務的邏輯位址未被記錄於該特定邏輯至實體轉換表中,設定該第一特定任務的讀取狀態為該第一預設狀態,當關聯於該第一特定任務的邏輯位址被記錄於該特定邏輯至實體轉換表中,設定該第一特定任務的讀取狀態為該第二預設狀態。
- 如申請專利範圍第7項所述之資料讀取方法,其中在一讀取期間,該等通道之每一者為一忙錄狀態。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562220038P | 2015-09-17 | 2015-09-17 | |
US62/220,038 | 2015-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201721446A TW201721446A (zh) | 2017-06-16 |
TWI662413B true TWI662413B (zh) | 2019-06-11 |
Family
ID=59256798
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105108937A TWI587141B (zh) | 2015-09-17 | 2016-03-23 | 記憶裝置及資料讀取方法 |
TW106104594A TWI662413B (zh) | 2015-09-17 | 2016-03-23 | 記憶裝置及資料讀取方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105108937A TWI587141B (zh) | 2015-09-17 | 2016-03-23 | 記憶裝置及資料讀取方法 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI587141B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100262721A1 (en) * | 2009-04-09 | 2010-10-14 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
TW201303591A (zh) * | 2011-05-31 | 2013-01-16 | Micron Technology Inc | 包含記憶體系統控制器之裝置及相關方法 |
TW201329857A (zh) * | 2011-09-30 | 2013-07-16 | Intel Corp | 用於在共用記憶體通道上實施多位準記憶體階層之裝置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101486987B1 (ko) * | 2008-05-21 | 2015-01-30 | 삼성전자주식회사 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
-
2016
- 2016-03-23 TW TW105108937A patent/TWI587141B/zh active
- 2016-03-23 TW TW106104594A patent/TWI662413B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100262721A1 (en) * | 2009-04-09 | 2010-10-14 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
TW201104440A (en) * | 2009-04-09 | 2011-02-01 | Micron Technology Inc | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
TW201303591A (zh) * | 2011-05-31 | 2013-01-16 | Micron Technology Inc | 包含記憶體系統控制器之裝置及相關方法 |
TW201329857A (zh) * | 2011-09-30 | 2013-07-16 | Intel Corp | 用於在共用記憶體通道上實施多位準記憶體階層之裝置及方法 |
US20130275682A1 (en) * | 2011-09-30 | 2013-10-17 | Raj K. Ramanujan | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
Also Published As
Publication number | Publication date |
---|---|
TWI587141B (zh) | 2017-06-11 |
TW201721446A (zh) | 2017-06-16 |
TW201712557A (zh) | 2017-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547701B (zh) | 记忆装置及数据读取方法 | |
JP6918805B2 (ja) | 不揮発性メモリの複数区画の同時アクセスのための装置及び方法 | |
US10055143B2 (en) | Solid state drive and data programming method thereof | |
US9405608B2 (en) | Storage controller, storage device, information processing system, and storage control method | |
US20180157427A1 (en) | Memory system and operating method thereof | |
JP2008310700A5 (zh) | ||
JP6757299B2 (ja) | メモリモジュール及びその動作方法 | |
KR20160024546A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN106601284B (zh) | 存储器件和包括其的系统 | |
CN108877856B (zh) | 储存装置、记录方法以及预载方法 | |
TWI639920B (zh) | 記憶體控制器及其控制方法以及記憶體及其控制方法 | |
TW201500923A (zh) | 資料儲存裝置及用於快閃記憶體之資料讀取方法 | |
WO2018103472A1 (zh) | 一种应用于深度学习网络的缓存优化方法及装置 | |
JP2019160364A (ja) | メモリシステム及びメモリ制御方法 | |
TWI662413B (zh) | 記憶裝置及資料讀取方法 | |
CN106066832A (zh) | 存取存储器模块/增加写入端口的方法以及存储器控制器 | |
US20140075103A1 (en) | Method capable of increasing performance of a memory and related memory system | |
US20170308465A1 (en) | Lightweight architecture for aliased memory operations | |
US7778103B2 (en) | Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof | |
TWI645286B (zh) | 記憶體控制裝置和方法 | |
US20160328328A1 (en) | Semiconductor apparatus and operating method thereof | |
KR101814894B1 (ko) | 제어 디바이스 및 그 제어 디바이스를 이용하는 액세스 시스템 | |
JP2006190445A (ja) | 半導体メモリ装置の動作方法 | |
TWI702499B (zh) | 儲存裝置及快取區定址方法 | |
TW201915740A (zh) | 固態硬碟及其執行刪除命令的方法 |