TW202020664A - 讀取資料排序方法及儲存裝置 - Google Patents

讀取資料排序方法及儲存裝置 Download PDF

Info

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
Application number
TW107142111A
Other languages
English (en)
Inventor
陳燦琳
陳治蓁
Original Assignee
深圳大心電子科技有限公司
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 深圳大心電子科技有限公司 filed Critical 深圳大心電子科技有限公司
Priority to TW107142111A priority Critical patent/TW202020664A/zh
Priority to US16/503,641 priority patent/US11127466B2/en
Publication of TW202020664A publication Critical patent/TW202020664A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary 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. 一種讀取資料排序方法,包括: 接收一讀取指令以讀取多個邏輯區塊位址,其中該些邏輯區塊位址為連續的; 將一位址計數器初始化為該些邏輯區塊位址的一起始邏輯區塊位址; 當該些邏輯區塊位址的一第一邏輯區塊位址對應的一第一資料傳送到一資料緩衝器時,將該第一邏輯區塊位址儲存到一排序緩衝器中,並將該第一邏輯區塊位址對應的一標籤設定為有效;以及 當該排序緩衝器中的該些邏輯區塊位址的一第二邏輯區塊位址對應的該標籤為有效且該第二邏輯區塊位址等於該位址計數器時,將該第二邏輯區塊位址對應的一第二資料傳送到一主機並累加該位址計數器。
  2. 如申請專利範圍第1項所述的讀取資料排序方法,更包括:在該第二資料傳送到該主機後,將該第二邏輯區塊位址對應的該標籤設定為無效。
  3. 如申請專利範圍第1項所述的讀取資料排序方法,其中該排序緩衝器的大小與該讀取指令對應的該些邏輯區塊位址的數量相關。
  4. 如申請專利範圍第1項所述的讀取資料排序方法,其中每次累加該位址計數器的值等於直接相鄰的該些邏輯區塊位址的差值。
  5. 如申請專利範圍第1項所述的讀取資料排序方法,其中當該標籤設定為有效時該標籤的值為1,當該標籤設定為無效時該標籤的值為0。
  6. 一種儲存裝置,包括: 一處理器; 一排序緩衝器,耦接到該處理器;以及 一資料緩衝器,耦接到該排序緩衝器,其中 該處理器接收一讀取指令以讀取多個邏輯區塊位址,其中該些邏輯區塊位址為連續的; 該處理器將一位址計數器初始化為該些邏輯區塊位址的一起始邏輯區塊位址; 當該些邏輯區塊位址的一第一邏輯區塊位址對應的一第一資料傳送到一資料緩衝器時,該處理器將該第一邏輯區塊位址儲存到一排序緩衝器中,並將該第一邏輯區塊位址對應的一標籤設定為有效;以及 當該排序緩衝器中的該些邏輯區塊位址的一第二邏輯區塊位址對應的該標籤為有效且該第二邏輯區塊位址等於該位址計數器時,該處理器將該第二邏輯區塊位址對應的一第二資料傳送到一主機並累加該位址計數器。
  7. 如申請專利範圍第6項所述的儲存裝置,其中在該第二資料傳送到該主機後,該處理器將該第二邏輯區塊位址對應的該標籤設定為無效。
  8. 如申請專利範圍第6項所述的儲存裝置,其中該排序緩衝器的大小與該讀取指令對應的該些邏輯區塊位址的數量相關。
  9. 如申請專利範圍第6項所述的儲存裝置,其中每次累加該位址計數器的值等於直接相鄰的該些邏輯區塊位址的差值。
  10. 如申請專利範圍第6項所述的儲存裝置,其中該當該標籤設定為有效時該標籤的值為1,當該標籤設定為無效時該標籤的值為0。
TW107142111A 2018-11-26 2018-11-26 讀取資料排序方法及儲存裝置 TW202020664A (zh)

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)

* Cited by examiner, † Cited by third party
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
US8296480B2 (en) * 2009-11-30 2012-10-23 Lsi Corporation Context execution 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 深圳大心電子科技有限公司 有效資料管理方法以及儲存控制器

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
US9563368B2 (en) Embedded multimedia card and method of operating the same
CN105612518B (zh) 用于自主存储器搜索的方法及系统
US7069373B2 (en) USB endpoint controller flexible memory management
US20160092118A1 (en) Memory write management in a computer system
KR102498223B1 (ko) Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법
US11199992B2 (en) Automatic host buffer pointer pattern detection
US20130067147A1 (en) Storage device, controller, and read command executing method
US8635379B2 (en) Data storage device and method of operating the same
US20160092123A1 (en) Memory write management in a computer system
WO2019109299A1 (zh) 内存访问技术及计算机系统
US20150278053A1 (en) Managing memory modules
US20070079015A1 (en) Methods and arrangements to interface a data storage device
WO2023093334A1 (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) 시리얼 인터페이스 프로토콜을 사용하여 호스트와 인터페이스하는 비휘발성 메모리 기반 저장 장치의 커맨드 처리 방법
CN105681222A (zh) 一种数据接收缓存方法、装置及通信系统
US10409748B2 (en) Bridge device with DMA data transferring to upstream device with reset and clear feature command
US20170091601A1 (en) Control device, image forming apparatus, and control method
TW202020664A (zh) 讀取資料排序方法及儲存裝置
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
WO2019000456A1 (zh) 传输数据掩码的方法、内存控制器、内存芯片和计算机系统