TW202020664A - 讀取資料排序方法及儲存裝置 - Google Patents
讀取資料排序方法及儲存裝置 Download PDFInfo
- Publication number
- TW202020664A TW202020664A TW107142111A TW107142111A TW202020664A TW 202020664 A TW202020664 A TW 202020664A TW 107142111 A TW107142111 A TW 107142111A TW 107142111 A TW107142111 A TW 107142111A TW 202020664 A TW202020664 A TW 202020664A
- Authority
- TW
- Taiwan
- Prior art keywords
- logical block
- address
- data
- buffer
- tag
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- 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)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
本發明提出一種讀取資料排序方法及儲存裝置。讀取資料排序方法包括:接收讀取指令以讀取多個邏輯區塊位址,其中邏輯區塊位址為連續的;將位址計數器初始化為邏輯區塊位址的起始邏輯區塊位址;當邏輯區塊位址的第一邏輯區塊位址對應的第一資料傳送到資料緩衝器時,將第一邏輯區塊位址儲存到排序緩衝器中,並將第一邏輯區塊位址對應的標籤設定為有效;以及當排序緩衝器中的邏輯區塊位址的第二邏輯區塊位址對應的標籤為有效且第二邏輯區塊位址等於位址計數器時,將第二邏輯區塊位址對應的第二資料傳送到主機並累加位址計數器。
Description
本發明是有關於一種讀取資料排序方法及儲存裝置,且特別是有關於一種能將連續邏輯區塊位址的讀取資料依序傳送到主機的讀取資料排序方法及儲存裝置。
在高效率的儲存裝置中,輸出的讀取資料序列(sequence)可能會被資料位置或匯流排資源所干擾。有些主機的界面並不支援非依序(non-ordering)讀取資料序列輸出。在這種主機中需要額外韌體來重新安排非依序讀取資料序列。若這種主機沒有上述韌體時則可能造成讀取錯誤。
以圖1為例,當第一主機110或第二主機120傳送讀取指令到儲存裝置130時,媒體控制器132會將讀取資料從儲存媒體131傳送到資料緩衝器133。然而,輸出的資料序列因為讀取通道速度不同而成為非依序讀取資料輸出141及非依序讀取資料輸出142。當第一主機110具有非依序資料通道111時,第一主機110可正確處理非依序讀取資料輸出141。然而,當第二主機120只具有依序(ordering)資料通道111時,第二主機120只能接收資料(0)、資料(1)、…、資料(7)的依序讀取資料輸出。因此第二主機120在接收非依序讀取資料輸出142時會造成系統失敗。因此,如何讓讀取資料依序輸出到主機是本領域技術人員應致力的目標。
本發明提供一種讀取資料排序方法及儲存裝置,能讓讀取資料依序輸出到主機。
本發明提出一種讀取資料排序方法,包括:接收讀取指令以讀取多個邏輯區塊位址,其中邏輯區塊位址為連續的;將位址計數器初始化為邏輯區塊位址的起始邏輯區塊位址;當邏輯區塊位址的第一邏輯區塊位址對應的第一資料傳送到資料緩衝器時,將第一邏輯區塊位址儲存到排序緩衝器中,並將第一邏輯區塊位址對應的標籤設定為有效;以及當排序緩衝器中的邏輯區塊位址的第二邏輯區塊位址對應的標籤為有效且第二邏輯區塊位址等於位址計數器時,將第二邏輯區塊位址對應的第二資料傳送到主機並累加位址計數器。
在本發明的一實施例中,上述讀取資料排序方法更包括:在第二資料傳送到主機後,將第二邏輯區塊位址對應的標籤設定為無效。
在本發明的一實施例中,上述排序緩衝器的大小與讀取指令對應的邏輯區塊位址的數量相關。
在本發明的一實施例中,每次累加位址計數器的值等於直接相鄰的邏輯區塊位址的差值。
在本發明的一實施例中,當標籤設定為有效時標籤的值為1,當標籤設定為無效時標籤的值為0。
本發明提出一種儲存裝置,包括處理器;排序緩衝器,耦接到處理器;以及資料緩衝器,耦接到排序緩衝器。處理器接收讀取指令以讀取多個邏輯區塊位址,其中邏輯區塊位址為連續的。處理器將位址計數器初始化為邏輯區塊位址的起始邏輯區塊位址。當邏輯區塊位址的第一邏輯區塊位址對應的第一資料傳送到資料緩衝器時,處理器將第一邏輯區塊位址儲存到排序緩衝器中,並將第一邏輯區塊位址對應的標籤設定為有效。當排序緩衝器中的邏輯區塊位址的第二邏輯區塊位址對應的標籤為有效且第二邏輯區塊位址等於位址計數器時,處理器將第二邏輯區塊位址對應的第二資料傳送到主機並累加位址計數器。
在本發明的一實施例中,其中在第二資料傳送到主機後,處理器將第二邏輯區塊位址對應的標籤設定為無效。
在本發明的一實施例中,上述排序緩衝器的大小與讀取指令對應的邏輯區塊位址的數量相關。
在本發明的一實施例中,每次累加位址計數器的值等於直接相鄰的邏輯區塊位址的差值。
在本發明的一實施例中,當標籤設定為有效時標籤的值為1,當標籤設定為無效時標籤的值為0。
基於上述,本發明的讀取資料排序方法及儲存裝置會在讀取多個邏輯區塊位址時初始化位址計數器。當資料傳送到資料緩衝器時,處理器會將資料對應的邏輯區塊位址傳送到排序緩衝器中,並將此邏輯區塊位址的標籤設定為有效以代表對應此邏輯區塊位址的資料已經傳送到資料緩衝器。當排序緩衝器中的邏輯區塊位址對應的標籤為有效且此邏輯區塊位址等於位址計數器時,處理器將此邏輯區塊位址對應的資料傳送到主機並累加位址計數器。根據上述資料排序方法,就能讓讀取資料依照邏輯區塊位址的順序輸出到主機。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖2為根據本發明一實施例的儲存裝置的方塊圖。
請參照圖2,本發明的儲存裝置230包括儲存媒體231、媒體控制器232、資料緩衝器233及排序緩衝器234。當第一主機210或第二主機220傳送讀取指令到儲存裝置230時,媒體控制器232會將讀取資料從儲存媒體231傳送到資料緩衝器233。當第一主機210具有非依序資料通道211時,讀取資料可直接從資料緩衝器233傳送到非依序資料通道111。也就是說,當一筆讀取資料進入資料緩衝器233時,此讀取資料可立即傳送到第一主機210的非依序資料通道111。當第二主機210具有依序資料通道211時,則必須透過排序緩衝器234的操作讓資料緩衝器233中的讀取資料依照預定順序傳送到第二主機220的依序資料通道221。儲存裝置230還可包括一到多個處理器(未繪示於圖中)以負責主機輸入輸出指令或其他類型指令的處理。
圖3A到圖3H為根據本發明一實施例的讀取資料排序方法的範例。
在圖3A到圖3H中,假設第二主機220傳送一個讀取指令要讀取邏輯區塊位址LBA(0)、LBA(1)、LBA(2)、LBA(3)的資料,分別是資料(0)、資料(1)、資料(2)、資料(3)。當儲存裝置230獲得第二主機220具有依序資料通道221資訊時,儲存裝置230會初始化一個位址計數器為邏輯區塊位址LBA(0),例如LBA(0)的起始位址。
在圖3A中,資料(2)從媒體控制器232傳送到資料緩衝器233。則排序緩衝器234會儲存LBA(2)及並將LBA(2)對應的標籤設定為有效(例如,1),標籤設定為有效代表LBA(2)對應的資料(2)已經暫存在資料緩衝器233中。由於LBA(2)不等於當前位址計數器的值,因此資料(2)不會被傳送到第二主機220。
在圖3B中,資料(1)從媒體控制器232傳送到資料緩衝器233。則排序緩衝器234會儲存LBA(1)及並將LBA(1)對應的標籤設定為有效(例如,1)。由於LBA(1)不等於當前位址計數器的值,因此資料(1)不會被傳送到第二主機220。
在圖3C中,資料(0)從媒體控制器232傳送到資料緩衝器233。則排序緩衝器234會儲存LBA(0)及並將LBA(0)對應的標籤設定為有效(例如,1)。由於LBA(0)等於當前位址計數器的值且排序緩衝器234中LBA(0)對應的標籤為1,因此資料(0)會從資料緩衝器233被傳送到第二主機220,如圖3D所示。在資料(0)被傳送到第二主機220之後,排序緩衝器234中LBA(0)對應的標籤會被設定為無效(例如,0),且位址計數器會被累加。舉例來說,位址計數器被設定為LBA(1),以代表下一個要傳送的資料的邏輯區塊位址。
在一實施例中,位址計數器也可被初始化為0且每次累加位址計數器都加1。在這種情況下位址計數器的值就代表了讀取指令對應的連續邏輯區塊位址中的第幾個邏輯區塊位址。例如0對應LBA(1),例如1對應LBA(1),以此類推。在另一個範例中,當讀取指令對應到LBA(4)、LBA(5)、LBA(6)、LBA(7)時,位址計數器為0對應LBA(4),位址計數器為1對應LBA(5),以此類推。
在圖3E中,資料(3)從媒體控制器232傳送到資料緩衝器233。則排序緩衝器234會儲存LBA(3)及並將LBA(3)對應的標籤設定為有效(例如,1)。由於LBA(1)等於當前位址計數器的值且排序緩衝器234中LBA(1)對應的標籤為1,因此資料(1)會從資料緩衝器233被傳送到第二主機220,如圖3F所示。在資料(1)被傳送到第二主機220之後,排序緩衝器234中LBA(1)對應的標籤會被設定為無效(例如,0),且位址計數器會被累加。舉例來說,位址計數器被設定為LBA(2),以代表下一個要傳送的資料的邏輯區塊位址。
在圖3F中,由於LBA(2)等於當前位址計數器的值且排序緩衝器234中LBA(2)對應的標籤為1,因此資料(2)會從資料緩衝器233被傳送到第二主機220,如圖3G所示。在資料(2)被傳送到第二主機220之後,排序緩衝器234中LBA(2)對應的標籤會被設定為無效(例如,0),且位址計數器會被累加。舉例來說,位址計數器被設定為LBA(2),以代表下一個要傳送的資料的邏輯區塊位址。
在圖3G中,由於LBA(3)等於當前位址計數器的值且排序緩衝器234中LBA(3)對應的標籤為1,因此資料(3)會從資料緩衝器233被傳送到第二主機220。如此一來,資料(0)、資料(1)、資料(2)、資料(3)可根據本發明一實施例的讀取資料排序方法依序傳送到第二主機220,使得具有依序資料通道221的第二主機220不會發生錯誤。
值得注意的是,排序緩衝器234的大小必需設計成最多可以儲存讀取指令所讀取的邏輯區塊位址的數量,才能在最壞情況下容納讀取指令對應的所有邏輯區塊位址。例如,在圖3A到圖3H的範例中,資料(0)在最後才被傳送到資料緩衝器233的情況。
圖4為根據本發明一實施例的讀取資料排序方法的流程圖。
請參照圖4,在步驟S401中,接收讀取指令以讀取多個邏輯區塊位址,其中邏輯區塊位址為連續的。
步驟S402中,將位址計數器初始化為邏輯區塊位址的起始邏輯區塊位址。
步驟S403中,當邏輯區塊位址的第一邏輯區塊位址對應的第一資料傳送到資料緩衝器時,將第一邏輯區塊位址儲存到排序緩衝器中,並將第一邏輯區塊位址對應的標籤設定為有效。
步驟S404中,當排序緩衝器中的邏輯區塊位址的第二邏輯區塊位址對應的標籤為有效且第二邏輯區塊位址等於位址計數器時,將第二邏輯區塊位址對應的第二資料傳送到主機並累加位址計數器。
綜上所述,本發明的讀取資料排序方法及儲存裝置會在讀取多個邏輯區塊位址時初始化位址計數器。當資料傳送到資料緩衝器時,處理器會將資料對應的邏輯區塊位址傳送到排序緩衝器中,並將此邏輯區塊位址的標籤設定為有效以代表對應此邏輯區塊位址的資料已經傳送到資料緩衝器。當排序緩衝器中的邏輯區塊位址對應的標籤為有效且此邏輯區塊位址等於位址計數器時,處理器將此邏輯區塊位址對應的資料傳送到主機並累加位址計數器。根據上述資料排序方法,就能讓讀取資料依照邏輯區塊位址的順序輸出到主機。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
110、210:第一主機111、211:非依序資料通道120、220:第二主機121、221:依序資料通道130、230:儲存裝置131、231:儲存媒體132、232:媒體控制器133、233:資料緩衝器141、142:非依序讀取資料輸出234:排序緩衝器S401~S404:讀取資料排序方法的步驟
圖1為習知的一種儲存裝置的示意圖。 圖2為根據本發明一實施例的儲存裝置的方塊圖。 圖3A到圖3H為根據本發明一實施例的讀取資料排序方法的示意圖。 圖4為根據本發明一實施例的讀取資料排序方法的流程圖。
210:第一主機
211:非依序資料通道
220:第二主機
221:依序資料通道
230:儲存裝置
231:儲存媒體
232:媒體控制器
233:資料緩衝器
234:排序緩衝器
Claims (10)
- 一種讀取資料排序方法,包括: 接收一讀取指令以讀取多個邏輯區塊位址,其中該些邏輯區塊位址為連續的; 將一位址計數器初始化為該些邏輯區塊位址的一起始邏輯區塊位址; 當該些邏輯區塊位址的一第一邏輯區塊位址對應的一第一資料傳送到一資料緩衝器時,將該第一邏輯區塊位址儲存到一排序緩衝器中,並將該第一邏輯區塊位址對應的一標籤設定為有效;以及 當該排序緩衝器中的該些邏輯區塊位址的一第二邏輯區塊位址對應的該標籤為有效且該第二邏輯區塊位址等於該位址計數器時,將該第二邏輯區塊位址對應的一第二資料傳送到一主機並累加該位址計數器。
- 如申請專利範圍第1項所述的讀取資料排序方法,更包括:在該第二資料傳送到該主機後,將該第二邏輯區塊位址對應的該標籤設定為無效。
- 如申請專利範圍第1項所述的讀取資料排序方法,其中該排序緩衝器的大小與該讀取指令對應的該些邏輯區塊位址的數量相關。
- 如申請專利範圍第1項所述的讀取資料排序方法,其中每次累加該位址計數器的值等於直接相鄰的該些邏輯區塊位址的差值。
- 如申請專利範圍第1項所述的讀取資料排序方法,其中當該標籤設定為有效時該標籤的值為1,當該標籤設定為無效時該標籤的值為0。
- 一種儲存裝置,包括: 一處理器; 一排序緩衝器,耦接到該處理器;以及 一資料緩衝器,耦接到該排序緩衝器,其中 該處理器接收一讀取指令以讀取多個邏輯區塊位址,其中該些邏輯區塊位址為連續的; 該處理器將一位址計數器初始化為該些邏輯區塊位址的一起始邏輯區塊位址; 當該些邏輯區塊位址的一第一邏輯區塊位址對應的一第一資料傳送到一資料緩衝器時,該處理器將該第一邏輯區塊位址儲存到一排序緩衝器中,並將該第一邏輯區塊位址對應的一標籤設定為有效;以及 當該排序緩衝器中的該些邏輯區塊位址的一第二邏輯區塊位址對應的該標籤為有效且該第二邏輯區塊位址等於該位址計數器時,該處理器將該第二邏輯區塊位址對應的一第二資料傳送到一主機並累加該位址計數器。
- 如申請專利範圍第6項所述的儲存裝置,其中在該第二資料傳送到該主機後,該處理器將該第二邏輯區塊位址對應的該標籤設定為無效。
- 如申請專利範圍第6項所述的儲存裝置,其中該排序緩衝器的大小與該讀取指令對應的該些邏輯區塊位址的數量相關。
- 如申請專利範圍第6項所述的儲存裝置,其中每次累加該位址計數器的值等於直接相鄰的該些邏輯區塊位址的差值。
- 如申請專利範圍第6項所述的儲存裝置,其中該當該標籤設定為有效時該標籤的值為1,當該標籤設定為無效時該標籤的值為0。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107142111A TW202020664A (zh) | 2018-11-26 | 2018-11-26 | 讀取資料排序方法及儲存裝置 |
US16/503,641 US11127466B2 (en) | 2018-11-26 | 2019-07-05 | Read data sorting method and storage device for sequentially transmitting read data of continuous logic block addresses to host |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107142111A TW202020664A (zh) | 2018-11-26 | 2018-11-26 | 讀取資料排序方法及儲存裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202020664A true TW202020664A (zh) | 2020-06-01 |
Family
ID=70770937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107142111A TW202020664A (zh) | 2018-11-26 | 2018-11-26 | 讀取資料排序方法及儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11127466B2 (zh) |
TW (1) | TW202020664A (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4129694B2 (ja) * | 2006-07-19 | 2008-08-06 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
US7755951B2 (en) * | 2006-09-01 | 2010-07-13 | Canon Kabushiki Kaisha | Data output apparatus, memory system, data output method, and data processing method |
US8200857B2 (en) * | 2009-11-30 | 2012-06-12 | Lsi Corporation | Coalescing multiple contexts into a single data transfer in a media controller architecture |
US8856438B1 (en) * | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
US20140237170A1 (en) * | 2011-09-13 | 2014-08-21 | Kabushiki Kaisha Toshiba | Storage device, and read command executing method |
US9274937B2 (en) * | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9898404B2 (en) * | 2013-07-14 | 2018-02-20 | Cnex Labs | Method and apparatus for providing improved garbage collection process in solid state drive |
US9619177B2 (en) * | 2014-06-05 | 2017-04-11 | Kabushiki Kaisha Toshiba | Memory system including non-volatile memory, buffer memory, and controller controlling reading data from non-volatile memory |
US9990138B2 (en) * | 2015-03-31 | 2018-06-05 | Toshiba Memory Corporation | Out of order SGL read sorting in a mixed system with PRP read or system that supports only SGL reads |
KR20180079584A (ko) * | 2016-12-30 | 2018-07-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
TWI677790B (zh) * | 2017-11-16 | 2019-11-21 | 深圳大心電子科技有限公司 | 有效資料管理方法以及儲存控制器 |
-
2018
- 2018-11-26 TW TW107142111A patent/TW202020664A/zh unknown
-
2019
- 2019-07-05 US US16/503,641 patent/US11127466B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11127466B2 (en) | 2021-09-21 |
US20200168281A1 (en) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023167B2 (en) | Methods and apparatuses for executing a plurality of queued tasks in a memory | |
CN105612518B (zh) | 用于自主存储器搜索的方法及系统 | |
US20160092118A1 (en) | Memory write management in a computer system | |
US20130067147A1 (en) | Storage device, controller, and read command executing method | |
US8635379B2 (en) | Data storage device and method of operating the same | |
WO2023093334A1 (zh) | 用于执行原子操作的系统、原子操作方法及装置 | |
US11199992B2 (en) | Automatic host buffer pointer pattern detection | |
US20160092123A1 (en) | Memory write management in a computer system | |
WO2019109299A1 (zh) | 内存访问技术及计算机系统 | |
US8417853B2 (en) | Universal serial bus host control methods and universal serial bus host controllers | |
WO2014149278A1 (en) | Apparatus and methods for a distributed memory system including memory nodes | |
TWI704453B (zh) | 具有通訊機制的計算系統及其操作方法 | |
TW201535412A (zh) | 具有繞回性至連續性讀取之記憶體子系統 | |
KR20100121340A (ko) | 시리얼 인터페이스 프로토콜을 사용하여 호스트와 인터페이스하는 비휘발성 메모리 기반 저장 장치의 커맨드 처리 방법 | |
US20070079015A1 (en) | Methods and arrangements to interface a data storage device | |
US10409748B2 (en) | Bridge device with DMA data transferring to upstream device with reset and clear feature command | |
TW202020664A (zh) | 讀取資料排序方法及儲存裝置 | |
WO2019000456A1 (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
US20170091601A1 (en) | Control device, image forming apparatus, and control method | |
US20100325373A1 (en) | Duplexing Apparatus and Duplexing Control Method | |
US8856389B1 (en) | Efficient data transfers over serial data streams | |
US20240295990A1 (en) | System and Method for searching a buffer of a non-volatile storage Host Controller | |
US20240168877A1 (en) | Solving submission queue entry overflow with an additional out-of-order submission queue entry | |
WO2022126534A1 (zh) | 数据处理方法及相关设备 | |
KR102036124B1 (ko) | 저장 명령을 효율적으로 처리하는 방법 및 장치 |