TWI567554B - 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 - Google Patents
緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 Download PDFInfo
- Publication number
- TWI567554B TWI567554B TW103138488A TW103138488A TWI567554B TW I567554 B TWI567554 B TW I567554B TW 103138488 A TW103138488 A TW 103138488A TW 103138488 A TW103138488 A TW 103138488A TW I567554 B TWI567554 B TW I567554B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- written
- storage unit
- dynamic random
- random access
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- 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/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
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)
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‧‧‧緩存器
130‧‧‧動態隨機存取記憶體
130a、130b、130c‧‧‧動態隨機存取記憶體中的區域
150‧‧‧存取介面
160‧‧‧主裝置
170‧‧‧存取介面
180‧‧‧儲存單元
210‧‧‧記憶體單元陣列
220‧‧‧行解碼單元
230‧‧‧列編碼單元
240‧‧‧位址單元
250‧‧‧資料緩存器
310~330‧‧‧動態隨機存取記憶體中暫存的資料
S511~S543‧‧‧方法步驟
S611~S643‧‧‧方法步驟
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。
第2圖係依據本發明實施例之快閃記憶體中的儲存單元示意圖。
第3圖係依據本發明實施例之快取資訊示意圖。
第4圖係依據本發明實施例之包含快取位元對照表的快取資訊示意圖。
第5圖係依據本發明實施例之執行於處理單元中之資料寫入方法流程圖。
第6圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執
行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
第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)。
主裝置160可驅動存取介面150發送寫入命令,用以指示處理單元110寫入資料,而一個寫入命令可用以寫入一頁的資料。為了最佳化儲存單元180的資料寫入作業,處理單元110會先將寫入的資料暫存於動態隨機存取記憶體130,直到收集到一個區塊的資料後,才會驅動存取介面170將暫存於動態隨機存取記憶體130寫入儲存單元180。例如,假設一個區塊包含四個頁面,且每個頁面包含4K位元組的資料。處理單元110會在收集到16K位元組(亦即是四個頁面)的資料後,才會驅動存取介面170將資料寫入到儲存單元180中。於此須注意的是,
等待寫入的16K位元組的資料並不必然存在同一個區塊,也可以存在於不同的區塊。然而,當收到讀取已暫存於態隨機存取記憶體130但尚未寫入儲存單元180的資料的讀取命令時,處理單元110若驅動存取介面170從儲存單元180讀取資料,將讀到不是最近更新的資料。因此,處理單元110更於動態隨機存取記憶體130中記錄快取資訊,用以辨認特定頁面的資料是否已寫入儲存單元180中,避免如上所述不正確讀取的問題。動態隨機存取記憶體130可設置兩個區域,其中區域130a用來暫存待寫入儲存單元180的資料,而區域130b用來儲存快取資訊。於一種實施例中,快取資訊可以多筆紀錄的方式實施,其中每一筆紀錄儲存主裝置所發的寫入位址,例如邏輯區塊位址(LBA,Logical Block Address),以及待寫入資料暫存於動態隨機存取記憶體130中的位址。第3圖係依據本發明實施例之快取資訊示意圖。動態隨機存取記憶體130儲存三筆分別關聯於邏輯區塊位址”100”、”200”及”300”的紀錄,而這三筆紀錄更儲存分別指向區域130a中之特定位址310、320及330。處理單元110可藉由檢查區域130b中的紀錄來判斷關聯於接收到讀取命令的邏輯區塊位址的資料是否尚未儲存至儲存單元180。例如,當處理單元110接收到邏輯區塊位址”300”的讀取命令後,因為區域130b中存在一筆邏輯區塊位址”300”的紀錄,判斷邏輯區塊位址”300”的資料尚未儲存至儲存單元180,並且透過記錄之動態隨機存取記憶體130的位址找到待寫入邏輯區塊位址”300”的頁面資料。當處理單元110接收到邏輯區塊位址”310”的讀取命令後,因為區域130b中不存在任何邏輯區塊位址”310”的紀
錄,判斷邏輯區塊位址”310”的資料已儲存至儲存單元180。然而,此實施方式必須要搜尋完所有的紀錄後才能確定關聯於接收到讀取命令的邏輯區塊位址的資料是否尚未儲存至儲存單元180。為減少判斷的時間,於另一種實施例中,除以上所述的紀錄外,快取資訊可更包含快取位元對照表(cache bitmap)。第4圖係依據本發明實施例之包含快取位元對照表的快取資訊示意圖。動態隨機存取記憶體130中更配置一個區域130c,用以儲存快取位元對照表,包含邏輯區塊位址總數的位元,每一個位元代表一個邏輯區塊位址的資料是否尚未儲存至儲存單元180的資訊(亦即是,仍暫存在動態隨機存取記憶體130)。例如,第100個位元代表邏輯區塊位址”100”的資料是否尚未儲存至儲存單元180的資訊。當第100個位元中的值為”1”時代表邏輯區塊位址”100”的資料尚未儲存至儲存單元180,令當第100個位元中的值為”0”時代表邏輯區塊位址”100”的資料已經儲存至儲存單元180。處理單元110可直接讀取快取位元對照表中第100個位元的值來判斷邏輯區塊位址”310”的資料已儲存至儲存單元180,而不需要讀取區域130b中所有的紀錄後才能進行如上的判斷。
第5圖係依據本發明實施例之執行於處理單元中之資料寫入方法流程圖。處理單元110經由存取介面150接收主裝置160所發出的寫入命令、寫入位址及資料後(步驟S511),判斷是否已累積到一個區塊的待寫入資料(步驟S521)。寫入位址可為邏輯區塊位址。如假設一個區塊包含四個頁面,處理單元110可檢查區域130b中是否存在三筆紀錄來判斷是否已累積到
一個區塊的待寫入資料。若是(步驟S521中之”是”的路徑),則處理單元110將動態隨機存取記憶體130暫存的資料以及接收到的資料儲存至緩存器120(步驟S531),並且驅動存取介面170用以將緩存器120中的資料寫入至儲存單元180(步驟S533)。於步驟S531中,處理單元110可透過直接記憶體存取控制器(DMA controller,未顯示)來將動態隨機存取記憶體130暫存的資料儲存至緩存器120。接著,處理單元110更新動態隨機存取記憶體130的快取資訊,用以清除關聯於這些已寫入資料的紀錄(步驟S535)。以第3圖為例,刪除區域130b中的相關紀錄。或者是,以第4圖為例,刪除區域130b中的相關紀錄,並且將區域130c中之快取位元對照表的相關位元值設為”0”。換句話說,當不存在相關紀錄或快取位元對照表的相關位元值設為”0”時,則代表暫存的資料已被寫入儲存單元180。若否(步驟S521中之”否”的路徑),則處理單元110將接收到的資料儲存至動態隨機存取記憶體130(步驟S541),並且更新動態隨機存取記憶體130的快取資訊,用以新增關聯於暫存資料的紀錄(步驟S543)。以第3圖為例,新增一筆紀錄於區域130b。或者是,以第4圖為例,新增一筆紀錄於區域130b,並且將區域130c中之快取位元對照表的相關位元設為”1”。
第6圖係依據本發明實施例之執行於處理單元中之資料讀取方法流程圖。處理單元110經由存取介面150接收主裝置160所發出的讀取命令及讀取位址後(步驟S611),判斷主裝置160所請求的資料是否尚未儲存至儲存單元180(步驟S621)。讀取位址可為邏輯區塊位址。以第3圖為例,處理單元
110可檢查區域130b中是否存在關聯於讀取位址的紀錄來進行判斷。另以第4圖為例,處理單元110可檢查區域130c的快取位元對照表中之關聯於讀取位址的位元值來進行判斷。若是(步驟S621中”是”的路徑),則從態隨機存取記憶體130取得快取資訊(S631),根據快取資訊從態隨機存取記憶體130讀取請求的資料並儲存至緩存器120(步驟S633),以及驅動存取介面150從緩存器120讀取資料並敲出給主裝置150(步驟S643)。關於態隨機存取記憶體130中之快取資訊的實際內容及透過快取資訊取得請求資料的方法,可參考以上第3圖及第4圖的說明。於步驟S633中,處理單元110可透過直接記憶體存取控制器(未顯示)來將動態隨機存取記憶體130暫存的資料儲存至緩存器120。若否(步驟S621中”否”的路徑),則處理單元110驅動存取介面170從儲存裝置180讀取上述讀取位址的資料並儲存至緩存器120(步驟S641),以及驅動存取介面150從緩存器120讀取資料並敲出給主裝置150(步驟S643)。
雖然第1至2圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第5圖以及第6圖的流程圖採用指定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
S511~S543‧‧‧方法步驟
Claims (20)
- 一種緩存及讀取即將寫入儲存單元之資料的方法,由一處理單元執行,包含:透過一第一存取介面從一主裝置接收一寫入命令,請求寫入至少一頁面的資料至一儲存單元中的一第一位址;判斷是否已累積到一區塊的待寫入資料,其中,上述區塊包含指定數目的頁面;以及當判斷尚未累積到上述區塊的待寫入資料時,將上述頁面的資料儲存至一動態隨機存取記憶體,以及更新上述動態隨機存取記憶體中的一快取資訊,用以指出上述頁面的資料尚未寫入至上述儲存單元以及上述動態隨機存取記憶體中暫存上述頁面的資料的位置。
- 如申請專利範圍第1項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中於判斷是否已累積到上述區塊的待寫入資料步驟中,更包含:藉由檢查上述動態隨機存取記憶體中是否存在特定筆數的紀錄來判斷是否已累積到上述區塊的待寫入資料。
- 如申請專利範圍第2項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中,每一上述紀錄指出至少一頁面的資料尚未寫入至上述儲存單元。
- 如申請專利範圍第1項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中於更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述頁面的資料尚未寫入至上述儲存單元的步驟中,更包含: 新增一紀錄,包含上述第一位址以及上述動態隨機存取記憶體中暫存上述頁面的資料的一第二位址。
- 如申請專利範圍第1項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中於更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述頁面的資料尚未寫入至上述儲存單元的步驟中,更包含:新增一紀錄,包含上述位址以及上述動態隨機存取記憶體中暫存上述頁面的資料的一第二位址;以及更新上述動態隨機存取記憶體中的一快取位元對照表中之一位元值,用以指出上述頁面的資料尚未寫入至上述儲存單元。
- 如申請專利範圍第1項所述的緩存及讀取即將寫入儲存單元之資料的方法,更包含:當判斷已經累積到上述區塊的待寫入資料時,將上述動態隨機存取記憶體暫存的資料以及上述頁面的資料儲存至一緩存器;驅動一第二存取介面來將上述緩存器中的資料寫入至上述儲存單元;以及更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述暫存的資料已經寫入上述儲存單元。
- 如申請專利範圍第6項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中,其中於更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述暫存的資料已經寫入上述儲存單元的步驟中,更包含: 刪除一紀錄,上述記錄包含資料暫存於上述動態隨機存取記憶體中哪個位置的資訊。
- 如申請專利範圍第6項所述的緩存及讀取即將寫入儲存單元之資料的方法,其中,其中於更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述暫存的資料已經寫入上述儲存單元的步驟中,更包含:刪除一紀錄,上述記錄包含資料暫存於上述動態隨機存取記憶體中哪個位置的資訊;以及更新上述動態隨機存取記憶體中的一快取位元對照表中之一位元值,用以指出上述暫存的資料已經寫入至上述儲存單元。
- 如申請專利範圍第1項所述的緩存及讀取即將寫入儲存單元之資料的方法,更包含:透過上述第一存取介面從上述主裝置接收一讀取命令,請求從上述儲存單元讀取一第三位址的資料;判斷上述第三位址的資料是否已經寫入上述儲存單元;以及當判斷上述第三位址的資料尚未寫入上述儲存單元時,從上述動態隨機存取記憶體讀取上述請求的資料,並且驅動上述第一存取介面敲出上述讀取的資料給上述主裝置。
- 如申請專利範圍第9項所述的緩存及讀取即將寫入儲存單元之資料的方法,更包含:當判斷上述第三位址的資料已經寫入上述儲存單元時,驅動一第二存取介面從上述儲存單元讀取上述第三位址的資 料並儲存至一緩存器,並且驅動上述第一存取介面敲出上述緩存器中的資料給上述主裝置。
- 一種緩存及讀取即將寫入儲存單元之資料的裝置,包含:一第一存取介面,耦接於一主裝置;一處理單元,耦接於上述第一存取介面,透過上述第一存取介面從上述主裝置接收一寫入命令,請求寫入至少一頁面的資料至一儲存單元中的一第一位址;判斷是否已累積到一區塊的待寫入資料,其中,上述區塊包含指定數目的頁面;以及當判斷尚未累積到上述區塊的待寫入資料時,將上述頁面的資料儲存至一動態隨機存取記憶體,以及更新上述動態隨機存取記憶體中的一快取資訊,用以指出上述頁面的資料尚未寫入至上述儲存單元以及上述動態隨機存取記憶體中暫存上述頁面的資料的位置。
- 如申請專利範圍第11項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元更藉由檢查上述動態隨機存取記憶體中是否存在特定筆數的紀錄來判斷是否已累積到上述區塊的待寫入資料。
- 如申請專利範圍第12項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,每一上述紀錄指出至少一頁面的資料尚未寫入至上述儲存單元。
- 如申請專利範圍第11項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,當判斷尚未累積到上述區塊的待寫入資料時,上述處理單元更新增一紀錄,包含上述第一位址以及上述動態隨機存取記憶體中暫存上述頁面的資料 的一第二位址。
- 如申請專利範圍第11項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,當判斷尚未累積到上述區塊的待寫入資料時,上述處理單元更新增一紀錄,包含上述第一位址以及上述動態隨機存取記憶體中暫存上述頁面的資料的一第二位址;以及更新上述動態隨機存取記憶體中的一快取位元對照表中之一位元值,用以指出上述頁面的資料尚未寫入至上述儲存單元。
- 如申請專利範圍第11項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元更當判斷已經累積到上述區塊的待寫入資料時,將上述動態隨機存取記憶體暫存的資料以及上述頁面的資料儲存至一緩存器;驅動一第二存取介面來將上述緩存器中的資料寫入至上述儲存單元;以及更新上述動態隨機存取記憶體中的上述快取資訊,用以指出上述暫存的資料已經寫入上述儲存單元。
- 如申請專利範圍第16項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元更當判斷已經累積到上述區塊的待寫入資料時,刪除一紀錄,上述記錄包含資料暫存於上述動態隨機存取記憶體中哪個位置的資訊。
- 如申請專利範圍第16項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元更當判斷已經累積到上述區塊的待寫入資料時,刪除一紀錄,上述記錄包含資料暫存於上述動態隨機存取記憶體中哪個位置的資訊;以及更新上述動態隨機存取記憶體中的一快取位元對照表 中之一位元值,用以指出上述暫存的資料已經寫入至上述儲存單元。
- 如申請專利範圍第11項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元透過上述第一存取介面從上述主裝置接收一讀取命令,請求從上述儲存單元讀取一第三位址的資料;判斷上述第三位址的資料是否已經寫入上述儲存單元;以及當判斷上述第三位址的資料尚未寫入上述儲存單元時,從上述動態隨機存取記憶體讀取上述請求的資料,並且驅動上述第一存取介面敲出上述讀取的資料給上述主裝置。
- 如申請專利範圍第19項所述的緩存及讀取即將寫入儲存單元之資料的裝置,其中,上述處理單元當判斷上述第三位址的資料已經寫入上述儲存單元時,驅動一第二存取介面從上述儲存單元讀取上述第三位址的資料並儲存至一緩存器,並且驅動上述第一存取介面敲出上述緩存器中的資料給上述主裝置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103138488A TWI567554B (zh) | 2014-11-06 | 2014-11-06 | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 |
CN201510037390.4A CN105893275B (zh) | 2014-11-06 | 2015-01-26 | 缓存及读取即将写入储存单元的数据的方法以及使用该方法的装置 |
US14/738,464 US9779022B2 (en) | 2014-11-06 | 2015-06-12 | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same |
US15/689,767 US10162759B2 (en) | 2014-11-06 | 2017-08-29 | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same |
US16/193,156 US10628319B2 (en) | 2014-11-06 | 2018-11-16 | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103138488A TWI567554B (zh) | 2014-11-06 | 2014-11-06 | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201617884A TW201617884A (zh) | 2016-05-16 |
TWI567554B true TWI567554B (zh) | 2017-01-21 |
Family
ID=55912320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103138488A TWI567554B (zh) | 2014-11-06 | 2014-11-06 | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9779022B2 (zh) |
CN (1) | CN105893275B (zh) |
TW (1) | TWI567554B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407111A (zh) * | 2020-03-17 | 2021-09-17 | 慧荣科技股份有限公司 | 闪存控制器、闪存控制器的方法及记忆装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327185B1 (en) | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US11829349B2 (en) | 2015-05-11 | 2023-11-28 | Oracle International Corporation | Direct-connect functionality in a distributed database grid |
TWI594245B (zh) * | 2016-02-02 | 2017-08-01 | 慧榮科技股份有限公司 | 資料寫入工作排程方法以及使用該方法的裝置 |
CN108572920B (zh) * | 2017-03-09 | 2022-04-12 | 上海宝存信息科技有限公司 | 避免读取扰动的数据搬移方法以及使用该方法的装置 |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10289491B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
US10719446B2 (en) * | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
CN113220602B (zh) * | 2018-10-09 | 2023-08-08 | 长江存储科技有限责任公司 | 一种闪存器的数据写入方法及闪存器 |
US12002525B2 (en) | 2018-11-18 | 2024-06-04 | NEO Semiconductor, Inc. | Methods and apparatus for NAND flash memory |
US11972811B2 (en) | 2018-11-18 | 2024-04-30 | NEO Semiconductor, Inc. | Methods and apparatus for NAND flash memory |
CN109992527B (zh) * | 2019-04-15 | 2021-08-10 | 苏州浪潮智能科技有限公司 | 一种全闪存储系统的位图管理方法 |
US11216348B2 (en) * | 2020-03-02 | 2022-01-04 | Silicon Motion, Inc. | All flash array server and control method thereof |
CN113835617A (zh) * | 2020-06-23 | 2021-12-24 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
WO2022087181A1 (en) * | 2020-10-20 | 2022-04-28 | NEO Semiconductor, Inc. | Methods and apparatus for nand flash memory |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
TW201011760A (en) * | 2008-09-05 | 2010-03-16 | A Data Technology Co Ltd | Flash memory system and its method of operation |
TWI326028B (en) * | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
TWI338856B (en) * | 2007-03-09 | 2011-03-11 | Ite Tech Inc | A flash memory storing device and a data storing method thereof |
TW201113886A (en) * | 2009-10-09 | 2011-04-16 | Silicon Motion Inc | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof |
TWI353518B (zh) * | 2007-07-31 | 2011-12-01 | Moai Electronics Corp | |
US8281074B2 (en) * | 2008-10-07 | 2012-10-02 | Micron Technology, Inc. | Interface device for memory in a stack, storage devices and a processor |
TWI381386B (zh) * | 2008-08-04 | 2013-01-01 | Phison Electronics Corp | 資料管理方法及其儲存裝置與其控制器 |
TWI386802B (zh) * | 2009-07-03 | 2013-02-21 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
TW201314452A (zh) * | 2011-06-07 | 2013-04-01 | Sandisk Technologies Inc | 緩衝資料的系統及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9547589B2 (en) * | 2008-06-18 | 2017-01-17 | Super Talent Technology, Corp. | Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive |
CN203311409U (zh) * | 2013-05-15 | 2013-11-27 | 建荣集成电路科技(珠海)有限公司 | 一种Nand Flash的坏列管理装置 |
US9600203B2 (en) * | 2014-03-11 | 2017-03-21 | Amazon Technologies, Inc. | Reducing data volume durability state for block-based storage |
-
2014
- 2014-11-06 TW TW103138488A patent/TWI567554B/zh active
-
2015
- 2015-01-26 CN CN201510037390.4A patent/CN105893275B/zh active Active
- 2015-06-12 US US14/738,464 patent/US9779022B2/en active Active
-
2017
- 2017-08-29 US US15/689,767 patent/US10162759B2/en active Active
-
2018
- 2018-11-16 US US16/193,156 patent/US10628319B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI326028B (en) * | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
TWI338856B (en) * | 2007-03-09 | 2011-03-11 | Ite Tech Inc | A flash memory storing device and a data storing method thereof |
TWI353518B (zh) * | 2007-07-31 | 2011-12-01 | Moai Electronics Corp | |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
TWI381386B (zh) * | 2008-08-04 | 2013-01-01 | Phison Electronics Corp | 資料管理方法及其儲存裝置與其控制器 |
TW201011760A (en) * | 2008-09-05 | 2010-03-16 | A Data Technology Co Ltd | Flash memory system and its method of operation |
US8281074B2 (en) * | 2008-10-07 | 2012-10-02 | Micron Technology, Inc. | Interface device for memory in a stack, storage devices and a processor |
TWI386802B (zh) * | 2009-07-03 | 2013-02-21 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
TW201113886A (en) * | 2009-10-09 | 2011-04-16 | Silicon Motion Inc | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof |
TW201314452A (zh) * | 2011-06-07 | 2013-04-01 | Sandisk Technologies Inc | 緩衝資料的系統及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407111A (zh) * | 2020-03-17 | 2021-09-17 | 慧荣科技股份有限公司 | 闪存控制器、闪存控制器的方法及记忆装置 |
US11176049B2 (en) | 2020-03-17 | 2021-11-16 | Silicon Motion, Inc. | Flash memory controller mechanism capable of generating host-based cache information or flash-memory-based cache information to build and optimize binary tree with fewer nodes when cache stores data from host |
TWI755168B (zh) * | 2020-03-17 | 2022-02-11 | 慧榮科技股份有限公司 | 用來產生基於主機的快取資訊或基於快閃記憶體的快取資訊以建立及最佳化二元樹的快閃記憶體控制器、方法及記憶裝置 |
US11630780B2 (en) | 2020-03-17 | 2023-04-18 | Silicon Motion, Inc. | Flash memory controller mechanism capable of generating host-based cache information or flash-memory-based cache information to build and optimize binary tree with fewer nodes when cache stores data from host |
CN113407111B (zh) * | 2020-03-17 | 2024-03-29 | 慧荣科技股份有限公司 | 闪存控制器、闪存控制器的方法及记忆装置 |
Also Published As
Publication number | Publication date |
---|---|
US20160132432A1 (en) | 2016-05-12 |
US10162759B2 (en) | 2018-12-25 |
US20170357590A1 (en) | 2017-12-14 |
CN105893275B (zh) | 2019-03-22 |
TW201617884A (zh) | 2016-05-16 |
US20190087343A1 (en) | 2019-03-21 |
CN105893275A (zh) | 2016-08-24 |
US10628319B2 (en) | 2020-04-21 |
US9779022B2 (en) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI567554B (zh) | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 | |
US11579773B2 (en) | Memory system and method of controlling memory system | |
CN106448737B (zh) | 读取闪存数据的方法、装置以及固态驱动器 | |
KR102652694B1 (ko) | 서브 블록 모드를 사용한 구역 네임스페이스 제한 완화 | |
TWI759686B (zh) | 記憶體系統及用於控制該記憶體系統的方法 | |
US20150098271A1 (en) | System and method of storing data in a data storage device | |
TWI512609B (zh) | 讀取命令排程方法以及使用該方法的裝置 | |
KR20170005915A (ko) | 불휘발성 메모리 장치를 포함하는 스토리지 장치 | |
US8892816B1 (en) | System and method for writing data to a memory | |
TWI574274B (zh) | 循環區塊模式下的資料存取方法以及使用該方法的裝置 | |
US20160027518A1 (en) | Memory device and method for controlling the same | |
US10156996B2 (en) | Memory device and read processing method using read counts, first, second, and third addresses | |
KR20220082509A (ko) | 저장 장치 및 그 동작 방법 | |
TWI692688B (zh) | 快閃記憶體控制器及相關電子裝置 | |
TW201631592A (zh) | 讀取快閃記憶體中儲存單元資料的方法以及使用該方法的裝置 | |
TWI626540B (zh) | 一般及垃圾回收的資料存取方法以及使用該方法的裝置 | |
KR20210055339A (ko) | 스토리지 장치 및 그 동작 방법 | |
KR20220165564A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220048864A (ko) | 저장 장치 및 그 동작 방법 | |
TWI633435B (zh) | 避免讀取擾動的資料搬移方法以及使用該方法的裝置 | |
US20120173791A1 (en) | Control method and allocation structure for flash memory device | |
US20240028230A1 (en) | Storage Access Communications and Data Placement for Improved Performance and Reduced Write Amplification | |
TWI673646B (zh) | 資料儲存裝置與資料儲存方法 | |
KR20220127067A (ko) | 저장 장치 및 그 동작 방법 | |
JP2024043337A (ja) | メモリシステム |