TW201631592A - 讀取快閃記憶體中儲存單元資料的方法以及使用該方法的裝置 - Google Patents
讀取快閃記憶體中儲存單元資料的方法以及使用該方法的裝置 Download PDFInfo
- Publication number
- TW201631592A TW201631592A TW104105515A TW104105515A TW201631592A TW 201631592 A TW201631592 A TW 201631592A TW 104105515 A TW104105515 A TW 104105515A TW 104105515 A TW104105515 A TW 104105515A TW 201631592 A TW201631592 A TW 201631592A
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- read command
- data
- read
- storage unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本發明的實施例提出一種讀取快閃記憶體中儲存單元的方法,由處理單元執行,包含下列步驟。透過第一存取介面從主裝置接收讀取命令後,判斷讀取命令所請求的資料是否暫存在第一緩存器。當讀取命令所請求的資料沒有暫存在第一緩存器時,驅動第二存取介面,用以從儲存單元讀取上述讀取命令所請求的資料並儲存到第二緩存器,以及驅動第一存取介面,用以從第二緩存器讀取上述讀取命令所請求的資料,並敲出給主裝置。
Description
本發明關連於一種快閃記憶體裝置,特別是一種讀取快閃記憶體中儲存單元資料的方法以及使用該方法的裝置。
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,而可於位址腳位上提供任何的位址,用以存取NOR快閃裝置的主裝置(host),並及時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(memory cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(buffer)後,藉由使用提取訊號(strobe signal)順序地敲出
(clock out)內容,讓主單元可逐位元組或字元組(words)存取資料。因此,本發明提出一種讀取快閃記憶單元的方法以及使用該方法的裝置,用以提升讀取的效率。
本發明的實施例提出一種讀取快閃記憶體中儲存單元的方法,由處理單元執行,包含下列步驟。透過第一存取介面從主裝置接收讀取命令後,判斷讀取命令所請求的資料是否暫存在第一緩存器。當讀取命令所請求的資料沒有暫存在第一緩存器時,驅動第二存取介面,用以從儲存單元讀取上述讀取命令所請求的資料並儲存到第二緩存器,以及驅動第一存取介面,用以從第二緩存器讀取上述讀取命令所請求的資料,並敲出給主裝置。
本發明的實施例另提出一種讀取快閃記憶體中儲存單元的裝置,至少包含第一存取介面、第二存取介面、第一緩存器以及處理單元。第一存取介面耦接於主裝置,且第二存取介面耦接於儲存單元。第一緩存器暫存從儲存單元取得之連續性資料。處理單元耦接於第一存取介面、第二存取介面以及第一緩存器,透過第一存取介面從主裝置接收讀取命令;判斷讀取命令所請求的資料是否暫存在第一緩存器;以及當讀取命令所請求的資料沒有暫存在第一緩存器時,驅動第二存取介面,用以從儲存單元讀取上述讀取命令所請求的資料並儲存到第二緩存器,以及驅動第一存取介面,用以從第二緩存器讀取上述讀取命令所請求的資料,並敲出給主裝置。
10‧‧‧系統
110‧‧‧處理單元
120_1~120_n‧‧‧緩存器
120_1a、120_1b‧‧‧隨機緩存器中之區域
120_2a、120_2b‧‧‧超讀緩存器中之區域
130‧‧‧動態隨機存取記憶體
150‧‧‧存取介面
160‧‧‧主裝置
170‧‧‧存取介面
180‧‧‧儲存單元
210‧‧‧記憶體單元陣列
220‧‧‧行解碼單元
230‧‧‧列編碼單元
240‧‧‧位址單元
250‧‧‧資料緩存器
S311~S333‧‧‧方法步驟
S511~S553‧‧‧方法步驟
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。
第2圖係依據本發明實施例之快閃記憶體中的儲存單元示意圖。
第3圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。
第4A及4B圖係依據本發明實施例之緩存器暫存資料示意圖。
第5圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元
件。
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。快閃記憶體的系統架構10中包含處理單元110,用以寫入資料到儲存單元180中的指定位址,以及從儲存單元180中的指定位址讀取資料。詳細來說,處理單元110透過存取介面170寫入資料到儲存單元180中的指定位址,以及從儲存單元180中的指定位址讀取資料。系統架構10使用數個電子訊號來協調處理單元110與儲存單元180間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(chip enable,CE)、位址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、寫入致能(write enable,WE)等控制訊號。存取介面170可採用雙倍資料率(double data rate,DDR)通訊協定與儲存單元180溝通,例如,開放NAND快閃(open NAND flash interface,ONFI)、雙倍資料率開關(DDR toggle)或其他介面。處理單元110另可使用存取介面150透過指定通訊協定與主裝置160進行溝通,例如,通用序列匯流排(universal serial bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect expreSs,PCI-E)或其他介面。
第2圖係依據本發明實施例之快閃記憶體中的儲存單元示意圖。儲存單元180可包含由MxN個記憶體單元
(memory cells)組成的陣列(array)210,而每一個記憶體單元儲存至少一個位元(bit)的資訊。快閃記憶體可以是NAND型快閃記憶體,或其他種類的快閃記憶體。為了正確存取資訊,行解碼單元220用以選擇記憶體單元陣列210中指定的行,而列編碼單元230用以選擇指定行中一定數量的位元組的資料作為輸出。位址單元240提供行資訊給行解碼器220,其中定義了選擇記憶體單元陣列210中的那些行。相似地,列解碼器230則根據位址單元240提供的列資訊,選擇記憶體單元陣列210的指定行中一定數量的列進行讀取或寫入操作。行可稱為為字元線(wordline),列可稱為位元線(bitline)。資料緩存器(data buffer)250可儲存從記憶體單元陣列210讀取出的資料,或欲寫入記憶體單元陣列210中的資料。記憶體單元可為單層式單元(single-level cells,SLCs)、多層式單元(multi-level cells,MLCs)或三層式單元(triple-level cells,TLCs)。
在一些實施方式中,快閃記憶體裝置中配置單一一個緩存器。處理單元通常會判斷已接收到的讀取命令是否存在連續讀取的情形,若是,除了原讀取命令所要求的資料外,讀取更多的資料並暫存於此緩存器中。接著,當處理單元接收到主裝置請求讀取已暫存於緩存器中的資料時,可直接從緩存器取得資料並敲出給主裝置。主裝置可發出讀取命令Read(LBA,sec_count)來請求儲存單元中的資料,其中,參數”LBA(Logical Block Address)”代表起始的邏輯區塊位址,參數”sec_count”代表讀取的連續區塊數目。例如,當處理單元連續接收到兩個讀取命令Read(0,5)及Read(5,5)時,用以分別請求
從邏輯區塊位址為0開始之後的5個區塊資料,以及從邏輯區塊位址為5開始之後的5個區塊資料,先判斷是否存在連續讀取的情形。在連續讀取的情形下,除了讀取原請求的10個區塊資料外,更從儲存單元讀取從邏輯區塊位址10開始的之後128個區塊,並儲存至緩存器中。之後,當處理單元接收到主裝置請求讀取從邏輯區塊位址為12開始的5個區塊時,直接從緩存器取得資料並敲出給主裝置。然而,於只存在單一緩存器的情形下,當處理單元接收到主裝置請求讀取非已暫存於緩存器的資料時,例如請求讀取從邏輯區塊位址為500開始的128個區塊,處理單元必須從儲存單元讀取資料並儲存到緩存器中,而新讀取的資料會覆寫掉先前所預存的資料。當處理單元之後接收到主裝置請求讀取從邏輯區塊位址為20開始的5個區塊時,由於先前所暫存的資料已經被覆寫,必須重新從儲存單元讀取請求的資料。
為解決以上所述實施方式所帶來的問題,快閃記憶體的系統架構10中可包含數個緩存器120_1至120_n,其中,n代表大於或等於2的整數。於一個實施例中,系統架構10中可包含兩個緩存器120_1與120_2,其中一個組態為隨機緩存器(random buffer);另一個組態為超讀緩存器(extra-read buffer)。超讀緩存器用以儲存大量的連續性資料,例如,從邏輯區塊位址0至1023的資料,而隨機緩存器則用以儲存少量而片段的資料。需注意的是,雖然以下只說明了資料讀取的技術內容,但是隨機緩存器可以做為接收緩存器(Rx buffer)或者是傳送與接收緩存器(Tx/Rx buffer),本發明並不因此受限。動態
隨機存取記憶體(DRAM,Dynamic Random Access Memory)130包含超讀緩存器中的暫存資料原來存於儲存單元180中何位址的資訊,例如,邏輯區塊位址x~y,x與y為0至65535間的任意整數。第3圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。首先,處理單元110經由存取介面150接收主裝置160所發出的讀取命令(步驟S311)。之後,判斷所請求的資料是否已儲存於超讀緩存器中(步驟S313)。處理單元110可檢查動態隨機存取記憶體130中儲存的資訊來進行如上的判斷。若請求的資料讀取位址落入到動態隨機存取記憶體130中所儲存有關超讀緩存器的邏輯區塊位址中,則代表所請求的資料已存在於超讀緩存器中。若是(步驟S313中”是”的路徑),則驅動存取介面150從超讀緩存器讀取所請求的資料並驅動存取介面150敲出給主裝置160(步驟S321),以及驅動存取介面170從儲存單元180讀取接續的資料並儲存至超讀緩存器中(步驟S323)。步驟S323係為一種超讀作業,充分使用存取介面170的頻寬,預先讀取主裝置160還未請求的資料。另外,步驟S323的超讀作業會預先讀取可儲存到超讀緩存器中的資料量,換句話說,一旦超讀緩存器已經滿了,超讀作業將不被執行。若否(步驟S313中”否”的路徑),則驅動存取介面170從儲存單元180讀取請求的資料並儲存至隨機緩存器中(步驟S331),以及驅動存取介面150從隨機緩存器讀取所請求的資料並敲出給主裝置160(步驟S333)。
以下舉出一個範例來說明第3圖所示的方法。第4A及4B圖係依據本發明實施例之緩存器暫存資料示意圖。假設緩
存器120_1至120_2分別被組態為隨機緩存器及超讀緩存器。需注意的是,緩存器120_1至120_2可代表兩個實體上分開的記憶空間,也可代表設置在同一個實體記憶空間但邏輯上分割成兩塊不同的連續空間。初始時,隨機緩存器120_1中的區域120_1a暫存儲存單元180中邏輯區塊位址500~507的資料,而超讀緩存器120_2中的區域120_2a暫存儲存單元180中邏輯區塊位址0~127的資料。於時間t1,處理單元110經由存取介面150接收到主裝置160所發出的讀取命令Read(100,8)(步驟S311)。處理單元110判斷此請求的資料已經暫存在超讀緩存器120_2後(步驟S313中”是”的路徑),從區域120_2a中讀取出所請求之邏輯區塊位址100~107的資料並驅動存取介面150敲出給主裝置160(步驟S321),趨動存取介面170讀取接續在邏輯區塊位址127之後的128個區塊的資料,亦即是邏輯區塊位址128~255的資料,並且儲存在區域120_2b中(步驟S323)。於此須注意的是,存取介面150與170的作業可部分重疊,亦即是在經由存取介面150敲出資料給主裝置160的同時,可經由存取介面170從儲存單元180讀取接續的資料。於時間t2,處理單元110經由存取介面150接收到主裝置160所發出的讀取命令Read(700,8)(步驟S311)。處理單元110判斷此請求的資料沒有暫存在超讀緩存器120_2後(步驟S313中”否”的路徑),趨動存取介面170讀取邏輯區塊位址700~707的資料並儲存在區域120_1b中(步驟S331),接著,從區域120_1b中讀取所請求之邏輯區塊位址700~707的資料並驅動存取介面150敲出給主裝置160(步驟S333)。於時間t3,處理單元110經由存取介面150接收到主裝置
160所發出的讀取命令Read(108,8)後(步驟S311),從區域120_2a中讀取出所請求之邏輯區塊位址108~115的資料並驅動存取介面150敲出給主裝置160(步驟S321),以及趨動存取介面170讀取接續在邏輯區塊位址255之後的128個區塊的資料,亦即是邏輯區塊位址256~383的資料,並且儲存在超讀緩存器120_2的可用空間中(步驟S323)。透過以上所述的範例,可了解到就算在連續資料的讀取命令中插入了一個其他的讀取命令,預先存在於超讀緩存器120_2中的資料也不會被覆寫。
於另一個實施例中,系統架構10中可包含超過兩個緩存器120_1至120_n,其中,n代表大於或等於3的整數,其中一個組態為隨機緩存器;其他的組態為超讀緩存器。動態隨機存取記憶體130包含隨機緩存器及超讀緩存器中之每一者的資料原來儲存於儲存單元180中何位址的資訊。第5圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。為了讓內容簡明扼要,步驟S511至S523的細節可分別參考步驟S311至S323的說明,不再贅述。當判斷所請求的資料並沒有儲存於任何的超讀緩存器後(步驟S513中”否”的路徑),處理單元110更判斷是否此讀取命令與先前的讀取命令形成新的連續讀取(步驟S531)。若是(步驟S531中”是”的路徑),則選擇一個可用的緩存器做為超讀緩存器(步驟S541),驅動存取介面170從儲存單元180讀取請求的資料並儲存至選擇出的緩存器中(步驟S543),驅動存取介面150從選擇出的緩存器讀取所請求的資料並敲出給主裝置160(步驟S545),以及驅動存取介面170從儲存單元180讀取接續的資料並儲存至選擇出的緩存器中(步驟
S547)。於一些實施例中,步驟S531中的判斷可參考動態隨機存取記憶體130中所儲存的資訊,並判斷是否加上此讀取命令後讀取了超過預定的連續位址數目的資料。例如,假設預定的連續位址數目為20。當動態隨機存取記憶體130中記錄的資訊指出隨機緩存器中已暫存邏輯區塊位址500~515的資料且接收的讀取命令請求讀取邏輯區塊位址516~523時,處理單元110判斷形成一個新的連續讀取。於另一些實施例中,步驟S531中的判斷可參考動態隨機存取記憶體130中所儲存的資訊,並判斷此讀取命令所請求的資料是否接續到隨機緩存器中所暫存的資料之後。例如,當動態隨機存取記憶體130中記錄的資訊指出隨機緩存器中已暫存邏輯區塊位址500~507的資料且接收的讀取命令請求讀取邏輯區塊位址508~515時,處理單元110判斷形成一個新的連續讀取。於步驟S541中,處理單元110可選擇一個未被使用的緩存器,或者是其中所暫存的資料最久未被更新的緩存器。此外,於步驟S543中,原先所儲存於選擇出的緩存器中的資料會被覆寫。當此讀取命令與先前的讀取命令沒有形成新的連續讀取時(步驟S531中”否”的路徑),此流程繼續進行步驟S531及S533的處理。為了讓內容簡明扼要,步驟S531至S533的細節可分別參考步驟S331至S333的說明,不再贅述。熟習此技藝人士可了解,當設置超過兩個以上的緩存器做為超讀緩存器時,可支援由兩個以上執行緒(execution thread)所執行的連續讀取作業。
雖然第1至2圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成
更佳的技術效果。此外,雖然第3圖以及第5圖的流程圖採用指定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
S311~S333‧‧‧方法步驟
Claims (20)
- 一種讀取快閃記憶體中儲存單元的方法,由一處理單元執行,包含:透過一第一存取介面從一主裝置接收一第一讀取命令;判斷上述第一讀取命令所請求的資料是否暫存在上述第一緩存器,其中,上述第一緩存器暫存從一儲存單元取得之連續性資料;以及當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,驅動一第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到一第二緩存器,以及驅動上述第一存取介面,用以從上述第二緩存器讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第1項所述的讀取快閃記憶體中儲存單元的方法,更包含:透過上述第一存取介面從上述主裝置接收一第二讀取命令;判斷上述第二讀取命令所請求的資料是否暫存在上述第一緩存器;以及當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,驅動上述第一存取介面,用以從上述第一緩存器讀取上述第二讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第2項所述的讀取快閃記憶體中儲存單元的方法,更包含: 當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,驅動上述第二存取介面,用以從上述儲存單元讀取接續的資料並儲存至上述第一緩存器。
- 如申請專利範圍第3項所述的讀取快閃記憶體中儲存單元的方法,其中,當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,上述第一存取介面及上述第二存取介面的作業部分重疊。
- 如申請專利範圍第2項所述的讀取快閃記憶體中儲存單元的方法,其中,上述第二讀取命令接收於上述第一讀取命令之後。
- 如申請專利範圍第1項所述的讀取快閃記憶體中儲存單元的方法,其中,上述判斷步驟中更包含:檢查一動態隨機存取記憶體中所儲存的資訊來判斷上述第一讀取命令所請求的資料是否暫存在上述第一緩存器。
- 如申請專利範圍第1項所述的讀取快閃記憶體中儲存單元的方法,其中,當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第二緩存器,用以避免上述第一緩存器中暫存的資料被覆寫。
- 如申請專利範圍第1項所述的讀取快閃記憶體中儲存單元的方法,更包含: 當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,判斷是否上述第一讀取命令與先前的讀取命令形成新的連續讀取;以及當上述第一讀取命令與先前的讀取命令沒有形成新的連續讀取時,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第二緩存器,以及驅動上述第一存取介面,用以從上述第二緩存器讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第8項所述的存取快閃記憶體中儲存單元的方法,更包含:當上述第一讀取命令與先前的讀取命令形成新的連續讀取時,選擇可用的緩存器做為一第三緩存器,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第三緩存器,以及驅動上述第一存取介面,用以從上述第三緩存器讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第9項所述的存取快閃記憶體中儲存單元的方法,更包含:當上述第一讀取命令與先前的讀取命令形成新的連續讀取時,驅動上述第二存取介面,用以從上述儲存單元讀取接續的資料並儲存至上述第三緩存器。
- 一種讀取快閃記憶體中之儲存單元的裝置,包含:一第一存取介面,耦接於一主裝置; 一第二存取介面,耦接於一儲存單元;一第一緩存器,用以暫存從一儲存單元取得之連續性資料;一處理單元,耦接於上述第一存取介面、上述第二存取介面以及上述第一緩存器,透過上述第一存取介面從上述主裝置接收一第一讀取命令;判斷上述第一讀取命令所請求的資料是否暫存在上述第一緩存器;以及當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到一第二緩存器,以及驅動上述第一存取介面,用以從上述第二緩存器讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第11項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更透過上述第一存取介面從上述主裝置接收一第二讀取命令;判斷上述第二讀取命令所請求的資料是否暫存在上述第一緩存器;以及當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,驅動上述第一存取介面,用以從上述第一緩存器讀取上述第二讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第12項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,驅動上述第二存取介面,用以從上述儲存單元讀取接續的資料並儲存至上述第一緩存器。
- 如申請專利範圍第13項所述的讀取快閃記憶體中之儲存單 元的裝置,其中,當上述第二讀取命令所請求的資料暫存在上述第一緩存器時,上述第一存取介面及上述第二存取介面的作業部分重疊。
- 如申請專利範圍第12項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述第二讀取命令接收於上述第一讀取命令之後。
- 如申請專利範圍第11項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更檢查一動態隨機存取記憶體中所儲存的資訊來判斷上述第一讀取命令所請求的資料是否暫存在上述第一緩存器。
- 如申請專利範圍第11項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第二緩存器,用以避免上述第一緩存器中暫存的資料被覆寫。
- 如申請專利範圍第11項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更當上述第一讀取命令所請求的資料沒有暫存在上述第一緩存器時,判斷是否上述第一讀取命令與先前的讀取命令形成新的連續讀取;以及當上述第一讀取命令與先前的讀取命令沒有形成新的連續讀取時,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第二緩存器,以及驅動上述第一存取介面,用以從上述第二緩存器 讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第18項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更當上述第一讀取命令與先前的讀取命令形成新的連續讀取時,選擇可用的緩存器做為一第三緩存器,驅動上述第二存取介面,用以從上述儲存單元讀取上述第一讀取命令所請求的資料並儲存到上述第三緩存器,以及驅動上述第一存取介面,用以從上述第三緩存器讀取上述第一讀取命令所請求的資料,並敲出給上述主裝置。
- 如申請專利範圍第19項所述的讀取快閃記憶體中之儲存單元的裝置,其中,上述處理單元更當上述第一讀取命令與先前的讀取命令形成新的連續讀取時,驅動上述第二存取介面,用以從上述儲存單元讀取接續的資料並儲存至上述第三緩存器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104105515A TWI562154B (en) | 2015-02-17 | 2015-02-17 | Methods for reading data from a storage unit of a flash memory and apparatuses using the same |
CN201510124203.6A CN106033323B (zh) | 2015-02-17 | 2015-03-20 | 读取快闪存储器中储存单元的方法以及使用该方法的装置 |
US14/702,392 US9990280B2 (en) | 2015-02-17 | 2015-05-01 | Methods for reading data from a storage unit of a flash memory and apparatuses using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104105515A TWI562154B (en) | 2015-02-17 | 2015-02-17 | Methods for reading data from a storage unit of a flash memory and apparatuses using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201631592A true TW201631592A (zh) | 2016-09-01 |
TWI562154B TWI562154B (en) | 2016-12-11 |
Family
ID=56622135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104105515A TWI562154B (en) | 2015-02-17 | 2015-02-17 | Methods for reading data from a storage unit of a flash memory and apparatuses using the same |
Country Status (3)
Country | Link |
---|---|
US (1) | US9990280B2 (zh) |
CN (1) | CN106033323B (zh) |
TW (1) | TWI562154B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213623B (zh) * | 2017-06-30 | 2022-02-22 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
KR20190090268A (ko) * | 2018-01-24 | 2019-08-01 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
CN111324282A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266596A (ja) * | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
JP2000251484A (ja) * | 1999-02-26 | 2000-09-14 | Sony Corp | 不揮発性半導体記憶装置 |
US20050132128A1 (en) * | 2003-12-15 | 2005-06-16 | Jin-Yub Lee | Flash memory device and flash memory system including buffer memory |
KR100904758B1 (ko) * | 2007-02-08 | 2009-06-29 | 삼성전자주식회사 | 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법 |
JP2010009141A (ja) * | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
CN101866676A (zh) * | 2009-04-16 | 2010-10-20 | 智微科技股份有限公司 | 用于多通道快闪存储系统的数据存取方法及其数据存取装置 |
TWI494756B (zh) * | 2009-08-26 | 2015-08-01 | Phison Electronics Corp | 下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統 |
TWI435215B (zh) * | 2009-08-26 | 2014-04-21 | Phison Electronics Corp | 下達讀取指令與資料讀取方法、控制器與儲存系統 |
TWI454906B (zh) * | 2009-09-24 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、快閃記憶體控制器與儲存系統 |
CN103136108B (zh) * | 2011-12-05 | 2016-04-06 | 慧荣科技股份有限公司 | 快闪存储装置及其数据读取方法 |
JP5667143B2 (ja) * | 2012-10-11 | 2015-02-12 | ウィンボンド エレクトロニクス コーポレーション | 不揮発性半導体メモリ |
KR20140067400A (ko) * | 2012-11-26 | 2014-06-05 | 삼성전자주식회사 | 플래시 메모리, 제 1 버퍼 메모리, 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법 |
TWI528375B (zh) * | 2013-03-27 | 2016-04-01 | 鄭智文 | 快閃記憶體轉接器的控制器及使用該控制器的快閃記憶體儲存裝置 |
US10534714B2 (en) * | 2014-12-18 | 2020-01-14 | Hewlett Packard Enterprise Development Lp | Allocating cache memory on a per data object basis |
-
2015
- 2015-02-17 TW TW104105515A patent/TWI562154B/zh active
- 2015-03-20 CN CN201510124203.6A patent/CN106033323B/zh active Active
- 2015-05-01 US US14/702,392 patent/US9990280B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106033323A (zh) | 2016-10-19 |
TWI562154B (en) | 2016-12-11 |
US20160239416A1 (en) | 2016-08-18 |
CN106033323B (zh) | 2019-11-15 |
US9990280B2 (en) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI567554B (zh) | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 | |
US11593259B2 (en) | Directed sanitization of memory | |
TWI512609B (zh) | 讀取命令排程方法以及使用該方法的裝置 | |
US10437520B2 (en) | Method for performing writing management in a memory device, and associated memory device and controller thereof | |
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
KR20210096133A (ko) | 구역화된 네임스페이스들에서의 기록 커맨드들의 유지 | |
US9304900B2 (en) | Data reading method, memory controller, and memory storage device | |
TW201631592A (zh) | 讀取快閃記憶體中儲存單元資料的方法以及使用該方法的裝置 | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
TWI574274B (zh) | 循環區塊模式下的資料存取方法以及使用該方法的裝置 | |
US20220206920A1 (en) | Data Routing Techniques to Delay Thermal Throttling | |
TWI573143B (zh) | 資料重新寫入方法以及使用該方法的裝置 | |
TWI709975B (zh) | 寫入控制方法以及資料儲存裝置及其控制器 | |
TWI545433B (zh) | 實體儲存對照表維護方法以及使用該方法的裝置 | |
KR20210032222A (ko) | 메모리 컨트롤러 및 그것의 동작 방법 | |
KR20220085708A (ko) | 고체 상태 드라이브 내의 영구적 메모리 내의 논리 대 물리 어드레스 인디렉션 테이블 | |
TWI648628B (zh) | 避免讀取擾動的資料搬移方法以及使用該方法的裝置 | |
CN108536475B (zh) | 完整编程命令处理方法与装置 | |
TWI633435B (zh) | 避免讀取擾動的資料搬移方法以及使用該方法的裝置 | |
KR20210028517A (ko) | 메모리 컨트롤러 및 그 동작 방법 |