TW201719429A - 針對nand快閃記憶體的靈活介面 - Google Patents

針對nand快閃記憶體的靈活介面 Download PDF

Info

Publication number
TW201719429A
TW201719429A TW105125822A TW105125822A TW201719429A TW 201719429 A TW201719429 A TW 201719429A TW 105125822 A TW105125822 A TW 105125822A TW 105125822 A TW105125822 A TW 105125822A TW 201719429 A TW201719429 A TW 201719429A
Authority
TW
Taiwan
Prior art keywords
memory
task
command
interface
lookup
Prior art date
Application number
TW105125822A
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 馬維爾國際貿易有限公司
Publication of TW201719429A publication Critical patent/TW201719429A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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

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)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

一種針對一個或多個記憶體通道的記憶體通道命令介面對於每個記憶體通道包括,針對記憶體命令的可程式設計儲存裝置;單個通道處理器,其用於運行執行記憶體命令;以及任務引擎,其用於將單個通道處理器的輸出通信到記憶體介質。記憶體命令可以被組織成包括包含任務的操作的作業。任務可以作為操作的部分被儲存為在操作記憶體中,或者可以被儲存在任務記憶體中,其中指向任務的指標作為操作的部分被儲存在操作記憶體中。記憶體通道命令介面還可以包括記憶體介質狀態儲存,記憶體介質狀態儲存裝置儲存針對記憶體命令的優先順序指示,優先順序指示基於除了記憶體命令的到達或接受的順序之外的條件,並且單個通道處理器基於優先順序指示來控制記憶體命令的運行執行的順序。

Description

針對NAND快閃記憶體的靈活介面 【相關申請案之交叉引用】
本文要求分別於2015年8月14日和2016年2月19日提交的共同待審的共同轉讓的美國臨時專利申請號62/205,142和62/297,230的權益,將其每個相應整體通過引用併入本文。
本公開內容的主題的實施方式大體涉及記憶體介面,並且具體地涉及靈活介面,其可以是針對諸如NAND快閃記憶體的記憶體設備可重配置的。
本文中提供的背景描述是出於大體呈現本公開內容的背景的目的。本文的發明人的工作(就在背景部分中描述該工作而言)以及在申請日不可以稱為先前技術的描述之各態樣,不會被明確地或隱含地認為是本公開內容的先前技術。
存在針對NAND快閃記憶體的不同類型的介面。例如,存在基於從開放NAND快閃記憶體介面工作組可獲得的開放NAND快閃記憶體介面(ONFI)標準的介面,而切換模式標準是由東芝公司針對其快閃記 憶體產品開發的。然而,在諸如ONFI和切換模式的已知標準中,命令序列是固定的。在硬體實施方式中,命令可以是硬編碼的。例如,每個命令序列可以被實施為有限狀態機。因此,其可以是複雜的以在必要或期望時改變命令序列。此外,不同的NAND快閃記憶體供應商可以具有不同的訂製命令,當命令序列要被修訂時需要改變訂製。
另外,一些已知的快閃記憶體介面針對每個記憶體通道使用多個處理器,伴隨隨之而來的功率消耗的後果。命令一般以它們被接收到的順序在逐個處理器的基礎上來執行,而不管它們的相對重要性。
根據本公開內容的主題的實施方式,一種針對一個或多個記憶體通道的記憶體通道命令介面,其針對一個或多個記憶體通道中的每個記憶體通道包括,針對記憶體命令的可程式設計儲存裝置;用於執行記憶體命令的單個通道處理器;以及任務引擎,其用於將單個通道處理器的輸出通信到記憶體介質。
在這樣的實施方式中,記憶體命令可以被組織成包括包含任務的操作的作業;並且針對記憶體命令的可程式設計儲存裝置包括作業記憶體和操作記憶體。任務可以被儲存為操作記憶體中的操作的部分,或者針對記憶體命令的可程式設計儲存裝置可以包括任務記憶體,其中任務被儲存在任務記憶體中,並且(到儲存在任務記憶體中的任務的)指標被儲存為操作記憶體中的操作的部分。
在一些實施方式中,記憶體通道命令介面還包括記憶體介質狀態儲存裝置。記憶體介質狀態儲存裝置可以儲存針對記憶體命令的優先順序指示,優先順序指示可以基於除了記憶體命令的到達或接受的順序之 外的條件,並且單個通道處理器基於優先順序指示來控制記憶體命令的執行的順序。
根據一些實施方式,一種操作記憶體通道命令介面的方法包括:將記憶體任務程式設計到記憶體通道命令介面中的可程式設計儲存裝置中;將命令輸入到記憶體通道命令介面中;以及通過從可程式設計儲存裝置選擇記憶體任務中的一個來執行命令。針對多個命令中的每個命令的優先順序指示可以基於除了命令的到達或接受的順序之外的條件,並且多個命令可以以基於優先順序指示的順序來執行。
100‧‧‧系統
101‧‧‧NAND快閃記憶體單元
102‧‧‧主機系統
103‧‧‧快閃記憶體控制器
113‧‧‧NAND實體層介面(PHY)單元
123‧‧‧NAND管理子系統
133‧‧‧NAND快閃記憶體介面 驅動器
200‧‧‧NAND快閃記憶體介面驅動器
201‧‧‧作業處理器
202‧‧‧多工電路
203‧‧‧作業優先順序表
204‧‧‧仲裁邏輯
300‧‧‧NAND快閃記憶體介面(NFIF)驅動器
301‧‧‧通道處理器
303‧‧‧讀/寫資料匯流排
304‧‧‧通道任務引擎
305‧‧‧作業記憶體
306‧‧‧操作記憶體
307‧‧‧任務記憶體
308‧‧‧LUN狀態
312‧‧‧命令處理器
313‧‧‧讀/寫資料先進/先出電路
323‧‧‧錯誤校正單元(ECU)
400‧‧‧命令作業
401‧‧‧階段
411‧‧‧任務組
421‧‧‧流程控制
800‧‧‧讀取命令作業
801‧‧‧命令位元組
802‧‧‧定址位元組
803‧‧‧定址位元組
804‧‧‧定址位元組
805‧‧‧定址位元組
806‧‧‧定址位元組
807‧‧‧命令位元組
808‧‧‧命令位元組
1200‧‧‧命令任務
1201‧‧‧頭位元組
1202‧‧‧額外位元組
1211‧‧‧後半部
1221‧‧‧第一位元
1231‧‧‧週期數量
1300‧‧‧定址任務
1302‧‧‧額外位元組
1400‧‧‧等待或延遲任務
1401‧‧‧前半部
1500‧‧‧資料_輸入任務
1501‧‧‧位元
1502‧‧‧位元
1503‧‧‧位元組
1600‧‧‧資料_輸出任務
1601‧‧‧位元
1602‧‧‧位元
1603‧‧‧位元組
1613‧‧‧內容
1623‧‧‧內容
1700‧‧‧格式
1701‧‧‧第一線路
1702‧‧‧第二線路
1703‧‧‧第三線路
1712‧‧‧邏輯單元(LUN)號
1713‧‧‧保留欄位
1722‧‧‧卷(VOL)號
1723‧‧‧流程控制位元
1732‧‧‧設備(DEV)號
1733‧‧‧命令類型
1742‧‧‧通道(CH)號
1743‧‧‧分配單元(AU)號
1752‧‧‧指標
1753‧‧‧多平面(MP)號
1800‧‧‧操作
1801‧‧‧階段
1821‧‧‧最後階段
1900‧‧‧結構
1901‧‧‧第一線路
1902‧‧‧線路
1903‧‧‧任務組
1911‧‧‧最後階段(LP)欄位
1921‧‧‧階段優先順序欄位
1931‧‧‧階段類型欄位
2101‧‧‧位元遮罩
2102‧‧‧位元遮罩
2103‧‧‧位元遮罩
2104‧‧‧位元遮罩
2105‧‧‧位元遮罩
2201‧‧‧資料表
2202‧‧‧資料表
2203‧‧‧資料表
2212‧‧‧指標
2213‧‧‧指標
2222‧‧‧計數器
2223‧‧‧計數器
在結合附圖考慮下面的具體實施方式後,本公開內容的另外的特徵、其性質和各個優點將變得顯而易見,其中類似的附圖標記在其中指代類似的部分,並且其中:圖1示出了包括NAND快閃記憶體的系統的示例;圖2示出了NAND快閃記憶體介面驅動器的已知實施方式;圖3示出了根據本公開內容的主題的第一實施方式的NAND快閃記憶體介面驅動器;圖4示出了NAND快閃記憶體命令作業的結構的示例;圖5示出了NAND快閃記憶體命令作業內的命令階段的第一示例;圖6示出了NAND快閃記憶體命令作業內的命令階段的第二示例;圖7示出了NAND快閃記憶體命令作業內的命令階段的第三示例; 圖8示出了讀取命令作業的示例的結構;圖9示出了圖8的示例讀取命令作業的命令流程;圖10示出了圖8的示例讀取命令作業的處理器流程;圖11示出了圖8的示例讀取命令作業的通道I/O流程;圖12示出了針對“命令”任務的格式的示例;圖13示出了針對“定址”任務的格式的示例;圖14示出了針對“等待”或“延遲”任務的格式的示例;圖15示出了針對“資料_輸入(data_in)”任務的格式的示例;圖16示出了針對“資料_輸出(data_out)”任務的格式的示例;圖17示出了命令作業的格式的示例;圖18示出了儲存在操作記憶體中的操作的示例;圖19示出了圖18的操作的階段的結構的示例;圖20示出了邏輯單元狀態記憶體的操作的操作流程的示例;圖21示出了用於儲存邏輯單元狀態記憶體中的邏輯單元狀態的位元遮罩的示例;以及圖22示出了在根據本公開內容的主題的第二實施方式的NAND快閃記憶體介面驅動器中使用的查閱資料表的示例。
如以上所指出的,在現有快閃記憶體介面中,尤其是在NAND快閃記憶體介面中,命令可以被硬編碼。例如,每個命令序列可以被實施為有限狀態機。這使其在必要或期望時改變命令序列變得複雜,並 且在不同的標準下和來自不同的供應商的不同命令的情形下會更複雜。
此外,已知的快閃記憶體介面使用針對每個記憶體通道的多個處理器,即使處理器中的許多處理器在大部分時間處於未使用。那些處理器不必要地在處於空閒時消耗功率,增加了介面的高於必要的功率消耗的總體功率消耗。
另外,命令一般以它們被接收到的順序在逐個處理器的基礎上來執行,不管它們的相對重要性,即使一些命令可以具有更高程度的緊迫性或者另外具有比其他命令更高的相對重要性。
根據本公開內容的主題的實施方式,可以提供針對NAND快閃記憶體的介面驅動器,其中命令能夠由用戶限定或改變。因為命令能夠被改變,所以能夠適應來自不同供應商的命令序列,並且能夠使用ONFI和切換模式標準以及其他標準。
本公開內容的主題的實施方式還是使用一個處理器來執行多個“作業”或命令。例如,每個通道可以存在一個處理器。這減少功率消耗。可由使用者程式設計的記憶體結構儲存可以被調用的可用命令或“任務“。該記憶體結構可以包括能夠由使用者更改的查閱資料表。
圖1示出了包括NAND快閃記憶體的系統100的示例。一個或多個NAND快閃記憶體單元101經由快閃記憶體控制器103與主機系統102(其可以為例如個人電腦)通信。可以被實施為例如系統單晶片的快閃記憶體控制器103可以包括一個或多個NAND實體層介面(PHY)單元113,其中的每個NAND實體層介面(PHY)單元處理與NAND快閃記憶體單元101中的一個或多個的實際實體層通信。NAND管理子系統123與主機系統102介面連接,接收來自主機系統102的記憶體請求並對其做出回應。NAND快閃記憶體介面驅動器133處於NAND管理子系統123與 NAND PHY單元113之間。除了其他功能,NAND快閃記憶體介面驅動器133將來自主機系統102的記憶體請求轉化成能夠被中繼到用於通信到NAND快閃記憶體單元101的NAND PHY單元113的更多的基本命令或任務。
如以上所指出的,已知的NAND快閃記憶體介面驅動器一旦被實施已經難以改變。例如,NAND快閃記憶體介面驅動器可以被實施為與不同的命令序列相對應的多個硬接線的有限狀態機(未示出)。在這樣的實施方式中,改變(或添加)任何命令需要要求改變(或添加)對應的有限狀態機。為了提供超過一個記憶體通道的相同的命令的同時發佈,針對每個命令序列可以存在對應的有限狀態機的多個實例,其中的每個將必須在對應的命令序列要被改變時被改變。
NAND快閃記憶體介面驅動器200的另一已知實施方式被示出在圖2中。NAND快閃記憶體介面驅動器200包括多個並行作業處理器201。每個作業處理器201可以是硬接線的微處理器。每個作業處理器201通常一次處理一個命令(其可以被稱為“描述符”)。當來自主機系統102的每個命令到達時,其被分配以作業優先順序表203中的優先順序。一般地,在這樣的系統中的優先順序由到達的順序確定。
通常,任何作業處理器201能夠對針對NAND快閃記憶體單元101中的邏輯單元(LUN)中的任何一個的命令起作用。多工電路202將每個作業處理器201的輸出指引到正確的LUN。仲裁邏輯204確定哪個命令由哪個作業處理器201處理。作為一個示例,可以應用以下仲裁規則:
1.以它們被接收到的連續處理命令描述符。
2.按連續處理針對相同LUN的不同命令描述符;儘管規則1,針對特定LUN的命令描述符將在針對該LUN的不同命令描述符仍然被處理 的情況下被保持,並且在那種情況下針對不同LUN的命令描述符將甚至在它在稍後被接收到的情況下被處理。
3.按連續處理程式描述符,即,按連續處理程式資料(甚至在規則2的情況下,命令描述符不按順序來處理)。
4.處理讀取描述符使得讀取資料按順序被傳遞(甚至在規則2的情況下,命令描述符不按順序來處理)。
在諸如NAND快閃記憶體介面驅動器200的NAND快閃記憶體介面中,作業處理器201的利用率可以很低。例如,如果針對相同LUN的多個命令描述符被分配到作業處理器201的不同作業處理器,則在任何一個時間處這些作業處理器201中的僅僅一個是活動的。作業處理器201中的每個其他作業處理器必須等待直到所有較早的命令描述符已經由作業處理器201中的其他作業處理器執行。許多作業處理器201在大部分時間,尤其是在狀態輪詢期間保持不活動。
另外,針對這樣的佈置可能需要複雜的仲裁邏輯。作業處理器201中的每個可能需要檢查作業處理器201中的每個其他作業處理器的狀態以確定它自己的下一動作。仲裁過程的複雜度隨著作業處理器201的數量N的平方而增大。此外,難以關閉針對這種佈置的計時。
最後,命令描述符是由作業處理器201執行還是作為狀態機(未示出)執行,在已知系統中該命令被硬編碼。因此,限制了支持不同命令的靈活性。
根據本公開內容的主題的實施方式,每個通道的一個處理器執行可配置的NAND快閃記憶體命令。處理器可以是命令無意識的,即,沒有關於針對特定命令構建的處理器的內容。這提高處理器的靈活性以執行由使用者配置的任何命令。
在圖3中示出了根據本公開內容的主題的實施方式的NAND快閃記憶體介面(NFIF)驅動器300的一個示例。多個作業處理器201由單個每通道處理器301替代。通道處理器301可以是用於提高的靈活性的可程式設計微處理器。在302處輸入(例如,來自命令處理器312的)命令,而資料在讀/寫資料匯流排303上被輸入或被輸出。通道任務引擎304將新的處理器301的輸出與來自讀/寫資料先進/先出電路(FIFO)313的資料組合,讀/寫資料先進/先出電路(FIFO)313連接到讀/寫資料匯流排303,其繼而連接到錯誤校正單元(ECU)323。通道任務引擎304(例如通過NAND PHY單元113)與NAND快閃記憶體單元101通信。
在302處的命令輸入的通道處理器301的執行根據作業記憶體305、操作記憶體306、任務記憶體307和LUN狀態308的內容來控制。
如圖4所示,命令“作業”400包括一個或多個階段401。每個階段401包括任務組411和流程控制421,流程控制421控制任務組411被執行多少次(每個任務組411能夠被執行超過一次)。每個任務組411包括被發送到NAND快閃記憶體單元101的實際命令(CMD)、定址(ADDR)、資料-輸入(DIN)、資料-輸出(DOUT)和等待(WAIT)任務。如在該示例中示出的,用於執行任務組411的流程控制421的執行在通道處理器301中執行,而任務組411中的實際任務在通道任務引擎304中被執行。
圖5-7示出了流程控制421的不同示例。針對簡單的階段500(圖5),該階段的任務組511(“階段任務”)根據相關聯的流程控制421(未示出在圖5中)僅僅被執行一次。針對某種程度更複雜的階段600(圖6),階段任務611同樣根據相關聯的流程控制421僅僅被執行一次,但是流程控制421還包括在階段任務611之後的等待命令(“階段等待”) 621。在迴圈類型階段700(圖7)中,階段任務711可以根據相關聯的流程控制421的條件721被執行多次。另外,流程控制421還可以包括階段等待621。
圖8-11示出了讀取命令作業800的示例。如圖8所示,作業800包括命令位元組801、五個定址位元組802-806和另一命令位元組807。在等待或者休息時間tR之後,一個命令位元組808和三個定址位元組809-811被發送出以檢查NAND快閃記憶體的狀態。狀態檢查可以發生超過一次直到狀態位元組812指示資料已經在NAND快閃記憶體中。當資料準備好時,命令位元組813、五個定址位元組814-818和另一命令位元組819被發佈到NAND快閃記憶體以開始資料傳輸,並且n個資料位元組820被返回。分別在圖9-11中示出了在作業層級、處理器層級和通道I/O層級的對應的流程。
(圖9)作業流程900以讀取命令和定址901開始,跟著等待時間tR 902。在該等待時間tR 902期間,緩衝器在NAND快閃記憶體單元101中下載所請求的資料。迴圈903連續地檢查直到下載完成,如由從測試913得到的“是(YES)”指示的。一旦完成下載,在904處發佈輸出命令(“改變行定址增強”)並且在905處讀出資料。
在處理器層級(圖10),在處理器流程1000的第一階段1001中,讀取命令由處理器301發送到通道任務引擎304並且作業之後被停止,直到處理器301被關注等待時間tR。第一階段1001對應於作業流程900中的901和902。
在第二階段1002(對應於迴圈903)中,讀取狀態任務由處理器301發送到通道任務引擎304並且檢查所返回的任務的準備就緒位元。如果準備就緒位元指示“未準備就緒”,則以輪詢間隔停止作業,並 且讀取狀態任務之後被重複。如果準備就緒位元指示“準備就緒”,則階段完成並且處理器流程1000一直移動到第三階段1003。
在第三階段1003(對應於904和905)中,改變行定址和讀取資料任務由處理器301發送到通道任務引擎304,並且完成作業。
在通道層級,通道I/O流程1100(圖11)以(對應於901和902,並且對應於階段1001的)讀取命令任務1101開始,讀取命令任務1101包括命令位元組、五個定址位元組和另一命令類型(參考圖8),跟著等待時間tR 1102。這跟著必要多的(對應於迴圈903和階段1002的)讀取狀態任務1103,其中每個讀取狀態任務可以包括一個命令位元組、三個定址位元組、一個等待位元組和一個資料_輸入位元組。流程1100以(對應於904和905和階段1003的)改變行定址和讀取資料任務1104結束,其可以包括一個命令位元組、五個定址位元組、一個命令位元組、一個等待位元組和必要多的資料_輸入位元組。
如以上所指出的,根據本公開內容的主題的實施方式,有效的任務定義能夠被彙編成任務階段和作業。圖12-16示出了任務格式的示例。圖12示出了針對命令任務1200的格式,其可以被指定為任務_類型(task_type)0。圖13示出了針對定址任務1300的格式,其可以被指定為任務_類型1。圖14示出了針對等待或延遲任務1400的格式,其可以被指定為任務_類型2。圖15示出了針對資料_輸入任務1500的格式,其可以被指定為任務_類型3。圖16示出了針對資料_輸出任務1600的格式,其可以被指定為任務_類型4。根據ONFI規範,例如,針對總計116個位元組,命令任務可以佔有64個位元組並且包括高達32個命令,定址任務可以佔有14個位元組,任務_類型任務可以佔有18個位元組,資料_輸出任務可以佔有16個位元組,並且等待任務可以佔有4位元組。因此,任務記憶體 307可以為128位元組。
在圖12-16中示出的示例中,除了等待或延遲任務1400(任務_類型2)之外的每個任務格式包括一個頭位元組1201和至少一個額外位元組。在每個格式中,頭位元組1201的後半部1211(即4個位元)為任務類型保留。儘管僅僅需要3個位元來適應五個任務類型,但是可以提供額外任務類型。
在任務格式1200(命令)和1300(定址)中,頭位元組1201的第一位元1221是資料_源(data_source)位元,其指示任務資料是在作業記憶體305中還是在任務記憶體307中被發現。下面的三個位元表示週期數量1231,其指示在任務中包括多少額外位元組1202/1302(以及任務執行需要多少時脈週期);利用三個位元,可以提供總共八個額外位元組。
在任務格式1400(等待或延遲)中,頭位元組1201的前半部1401(四個位元)表示延遲任務中的時脈週期的數量,即,如在時脈週期中測量的延遲的長度。利用四個位元,高達16個週期的延遲是可能的。
在任務格式1500(資料_輸入)中,頭兩個位元1501表示資料路徑。在示出的示例中,存在三個選擇:資料被發送到ECU 323,或者被發送到通道處理器301以用於轉發到命令處理器312,或者被發送到通道處理器301以用於狀態檢查,但是高達四個選擇能夠利用兩個位元來供應。類似地,下兩個位元1502表示週期數量源,即,針對能夠來自作業記憶體305的或者來自當前任務記憶體307的當前週期的資料的源,然而能夠利用兩個位元來供應高達四個選擇。如所示出的,除了頭位元組1201之外,任務1500被期望包括僅僅一個位元組1503。
在任務格式1600(資料_輸出)中,頭兩個位元1601表示資料路徑。在示出的示例中,存在僅僅兩個選擇:資料從ECU 323或者從 作業記憶體305獲得,但是高達四個選擇能夠利用兩個位元來供應。如所示出的,除了頭位元組1201之外,任務1600根據由位元1601選擇的資料路徑被期望包括一個或兩個位元組1603。該一個或多個位元組的內容1613、1623取決於由位元1601選擇的資料路徑而不同。如果位元1601=‘0’,則所選擇的資料路徑包括ECU 323,並且兩個位元1602確定資料是來自作業記憶體305還是任務記憶體307。存在僅僅是具有內容1613的一個位元組1603,其確定開始索引和/或傳輸計數。如果位元1601=‘1’,則所選擇的資料路徑包括作業記憶體305,並且存在兩個位元組1603,其中的一個具有內容1613,並且其中的另一個具有內容1623。
如以上所指出的,任務被分組到階段中,階段被分組到作業(也被稱為“操作”)中。命令處理器312將作業沉積到作業記憶體305中。作業記憶體305中的作業的示例格式1700被示出在圖17中並且為32個位元寬。第一線路1701包含命令ID,其可以為高達32個位元寬。第二線路1702包括定址資訊,該定址資訊包括邏輯單元(LUN)號1712、卷(VOL)號1722、設備(DEV)號1732和通道(CH)號1742,其全部被示出為4個位元寬,以及到組成作業的操作的指標1752。除了兩個保留欄位1713之外,第三線路1703包括多個流程控制位元(RRD、CC、ML、LC、TC和GRP)1723、命令類型1733以及另外的定址資訊,另外的定址資訊包括分配單元(AU)號1743和多平面(MP)號1753(在包含多個頁的情況下;針對包含僅僅一個頁的單平面操作,MP=0)。(一個或多個)剩餘的線路1704包括針對作業的運算元。
組成作業的操作可以被儲存在操作記憶體306中,並且其在指標1752可以指向的地方。圖18示出了儲存在操作記憶體306中並由指標1752指向的一個操作1800。操作1800包括多個階段1801,以階段0(1811) 開始並且以最後階段1821結束。因為階段的數量不固定,所以最後階段1821由最後階段欄位(LP)中的值識別(圖19)。
圖19示出了階段1801的結構1900的示例。在該示例中,階段1900是32個位元寬。除了其他欄位,階段1900的第一線路1901包括如以上所討論的最後階段(LP)欄位1911。LP欄位1911中的值以信號傳達該階段1900是否為其作業中的“最後階段”,如以上所討論的。例如,‘0’能夠指示這不是最後階段,而‘1’能夠指示這是最後階段,或者反之亦然。
除了其他欄位,階段1900的線路1901包括下面進一步討論的階段優先順序欄位1921和階段類型欄位1931。階段類型欄位1931中的值可以與圖5-7中示出的三種類型的階段500、600、700相關(例如,值0、1和2)。在該連接中,階段1900的線路1902是針對階段類型=1或階段類型=2的情況(其分別指示在具有等待階段600或迴圈階段700的任務處)的任選的線路,並且包含階段等待週期數量。
階段1900的剩餘線路包含關於階段1900的任務組1903中的任務的資訊。如圖19所示,任務組1903中的線路中的每個包含指向任務記憶體307中的任務的指標。然而,在許多實施方式中,任務格式本身可以是足夠小以適合代替指標放入到任務組1903的一個線路中(其是四個位元組長)。在這樣的實施方式中,任務記憶體307可以被省略。例如,如圖12-16所示,一些任務格式可以僅僅是一個位元組或兩個位元組長,並且同時其他任務格式可以高達八個位元組長,它們能夠更短,並且高達四個位元組的任何任務將適合放入到階段1900的線路中。
操作記憶體306的內容,並且在提供的情況下,任務記憶體307能夠被程式設計以適應來自不同供應商的NAND快閃記憶體產品的命 令和信號結構。此外,操作記憶體306並且在提供的情況下任務記憶體307可以是用戶可程式設計的以適應訂製用戶任務和命令。
LUN狀態記憶體308可以被用於提供針對NAND快閃記憶體單元101中的每個LUN的以下狀態指示中的一個:空閒(IDLE):在該LUN上沒有作業。
待處理(PENDING):作業待處理。
預啟動(PRE-ACTIVE):預先提取下一階段任務組。
啟動(ACTIVE):階段被選擇以使用任務引擎。
等待(WAIT):階段等待。作業在WAIT期間被停止。如已知的,LUN狀態記憶體308還可以包括關於串鏈和等待時間狀態的資訊。
在圖20中用圖解法表示了LUN狀態記憶體308的操作的操作流程2000。如圖20中所示,針對每個LUN的階段狀態(參加先前段落)被指示在階段狀態2001中。階段狀態2001還在2011處儲存針對考慮下的LUN的當前階段狀態的階段指標,以及針對當前階段狀態的優先順序層級,其優先順序層級基於除了到達或接受的順序之外的事物。優先順序層級能夠由用戶設置。另外,階段可以在其為階段或操作的串鏈的不應當被中斷的部分的情況下具有更高優先順序。處理器301能夠使用優先順序層級來執行在它被接收到的順序之外的階段,不像先前已知的NAND快閃記憶體介面驅動器。
操作流程2000最好被理解為在測試2002的結束處開始,在測試2002中確定當前階段是否是其作業中的最後階段。如果,在測試2002處,當前階段是其作業中的最後階段,則流程返回到2003,其中LUN狀態被指示為空閒直到新的作業被分配給考慮下的LUN。如果,在測試2002處,當前階段不是其作業中的最後階段,則流程返回到2001,其中下一階 段的狀態為待處理、預啟動或啟動,並且最終執行。在該階段執行之後,流程前進到測試2002以再次確定當前階段是否是其作業中的最後階段,除非階段包括階段等待,在這種情況下流程前進等候狀態2004直到等待時間流逝並且之後流程前進到測試2002。
針對LUN狀態記憶體308中的各個狀態指示器的儲存格式可以採用針對每個狀態類型的位元遮罩的形式。例如,如圖21所示,每個狀態位元遮罩為32個位元寬,其中每個位元表示特定LUN的索引。如所示出的,存在針對空閒、待處理、預啟動、啟動和等待的單獨的位元遮罩2101-2105。每個LUN的狀態可以由針對恰當的狀態的位元遮罩中的該LUN的索引位置中的‘1’指示,其中‘0’出現在所有其他位元遮罩中的該位置中。備選地,每個LUN的狀態可以由針對恰當的狀態的位元遮罩中的該LUN的索引位置中的‘0’指示,其中‘1’出現在所有其他位元遮罩中的該位置中。
可以被儲存在LUN狀態記憶體308中的其他資訊能夠包括,針對每個LUN,等待時間時間戳記(如以上所討論的)、指向針對該LUN的下一階段的指標(除了以上提到的指向當前階段的指標),指向針對該LUN的下一階段的指標、以及當前階段對應的作業或命令的識別。
在本公開內容的主題的另一實施方式中,代替提供具有預定義操作和任務的操作記憶體306(以及任選的任務記憶體307),可以提供包含用戶能夠選擇以構建各種操作和任務的序列的查閱資料表的集合。
在基本層級,NAND快閃記憶體介面是信號(讀使能的、寫使能的、清除的、等等)的集合。因此,NAND快閃記憶體事務是這些信號中的一個或多個的一系列切換。針對介面信號中的每個的值的彙集和針對NAND快閃記憶體命令匯流排上的每個信號值的保持時間可以被定義 為信號幀。繼而,NAND快閃記憶體任務可以被定義為信號幀的序列,並且NAND快閃記憶體操作可以被定義為任務的序列。
因此,在這種實施方式中,操作記憶體306和任務記憶體307能夠利用圖22中示出的查閱資料表(LUT)來替代。幀序列LUT 2201中的每個條目表示介面信號狀態和保持時間。任務序列LUT 2202中的每個條目表示能夠為任務序列的部分的命令,並且包括指向幀序列LUT 2201中的條目的指標2212,和用於指示來自一起組成由任務序列LUT 2202中的條目表示的命令的指向條目的條目的數目的計數器2222。備選地,如果組成由任務序列LUT 2202中的條目表示的命令的幀序列LUT 2201中的條目在幀序列LUT 2201中不是連續的,則任務序列LUT 2202中的每個條目能夠包括指向組成由任務序列LUT 2202中的條目表示的命令的幀序列LUT 2201中的條目的指標的集合(未示出)。
繼而,任務指標LUT 2203中的每個條目表示由任務的序列組成的記憶體操作,並且包括指向任務序列LUT 2202中的條目的指標2213和用於指示來自一起組成由任務指標LUT 2203中的條目表示的記憶體操作的指向條目的條目的數目的計數器2223。備選地,如果組成由任務指標LUT 2203中的條目表示的記憶體操作的任務序列LUT 2202中的條目在任務序列LUT 2202中不是連續的,則任務指標LUT 2203中的每個條目能夠包括指向組成由任務指標LUT 2203中的條目表示的記憶體操作的任務序列LUT 2202中的條目的指標的集合(未示出)。
查閱資料表2201、2202、2203可以是可程式設計的。因此,各個信號序列和命令序列能夠被更改以適應來自不同供應商的NAND快閃記憶體產品的命令和信號結構。此外,查閱資料表2201、2202、2203可以是用戶可程式設計的以適應訂製用戶任務和命令。
因此,可見,已經提供了更靈活的NAND快閃記憶體介面的實施方式,以適應來自不同供應商的NAND快閃記憶體產品的命令和信號結構以及訂製使用者任務和命令。另外,所公開的NAND快閃記憶體介面是更有效的,因為存在較少的處理器在大部分時間處於空閒的,並且處理器能夠基於它們的優先順序而非它們被接收到的順序來執行任務。
本發明的另外的方面涉及以下一條或多條:第1條:一種針對一個或多個記憶體通道的記憶體通道命令介面,所述記憶體通道命令介面包括,針對所述一個或多個記憶體通道中的每個:針對記憶體命令的可程式設計儲存裝置;單個通道處理器,其用於執行所述記憶體命令;以及任務引擎,其用於將所述單個通道處理器的輸出通信到記憶體介質。
第2條:根據第1條所述的記憶體通道命令介面,其中所述記憶體介質是NAND快閃記憶體。
第3條:根據第1條所述的記憶體通道命令介面,其中:記憶體命令被組織成包括包含任務的操作的作業;並且針對記憶體命令的所述可程式設計儲存裝置包括作業記憶體和操作記憶體。
第4條:根據第3條所述的記憶體通道命令介面,其中任務作為操作的部分被儲存在所述操作記憶體中。
第5條:根據第3條所述的記憶體通道命令介面,其中:針對記憶體命令的所述可程式設計儲存裝置包括任務記憶體; 任務被儲存在所述任務記憶體中;並且指向儲存在所述任務記憶體中的所述任務的指標作為操作的部分被儲存在所述操作記憶體中。
第6條:根據第1條所述的記憶體通道命令介面,其中針對所述記憶體命令的所述可程式設計儲存裝置包括至少一個查閱資料表。
第7條:根據第6條所述的記憶體通道命令介面,其中:記憶體命令被組織成包括包含任務的操作的作業;並且所述任務被儲存在所述至少一個查閱資料表中的第一個中。
第8條:根據第7條所述的記憶體通道命令介面,其中:作業包括所述任務的序列;指向所述任務的序列的指標被儲存在所述至少一個查閱資料表中的第二個中;所述作業從所述至少一個查閱資料表中的所述第二個查閱資料表選擇指向任務的所述序列中的一個序列的所述指標中的一個指標;並且所述指標中的所述一個從所述至少一個查閱資料表中的所述第一個查閱資料表選擇任務的所述序列中的所述一個序列。
第9條:根據第8條所述的記憶體通道命令介面,其中:針對所述記憶體介質的控制信號序列被儲存在所述至少一個查閱資料表中的第三個中;任務的所述序列中的所述一個中的每個任務從所述至少一個查閱資料表中的所述第三個查閱資料表選擇控制信號序列。
第10條:根據第1條所述的記憶體通道命令介面,還包括記憶體介質狀態儲存裝置。
第11條:根據第10條所述的記憶體通道命令介面,其中:所述記憶體介質狀態儲存裝置儲存針對記憶體命令的優先順序指示;所述優先順序指示基於除了所述記憶體命令的到達或接受的順序之外的條件;以及所述單個通道處理器基於所述優先順序指示來控制記憶體命令的執行的順序。
第12條:根據第11條所述的記憶體通道命令介面,其中:所述記憶體介質狀態儲存裝置儲存針對所述記憶體命令中的每一個的單獨的優先順序指示;並且所述單個通道處理器基於所述單獨的優先順序指示來控制所述記憶體命令的所述執行的順序。
第13條:一種操作記憶體通道命令介面的方法,所述方法包括:將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中;將命令輸入到所述記憶體通道命令介面中;以及通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個來執行所述命令。
第14條:根據第13條所述的方法,其中:所述輸入命令包括輸入多個命令;並且所述方法還包括基於除了所述命令的到達或接受的順序之外的條件來將優先順序指示分配到所述多個命令中的每個命令;並且所述執行包括以基於所述優先順序指示的循序執行所述多 個命令。
第15條:根據第13條所述的方法,其中所述的將記憶體任務程式設計到所述記憶體通道命令介面中的所述可程式設計儲存裝置中包括接受由所述記憶體通道命令介面的使用者對記憶體任務的程式設計。
第16條:根據第15條所述的方法,其中接受由所述記憶體通道命令介面的使用者對記憶體任務的程式設計包括接受至少一個查閱資料表的程式設計。
第17條:根據第13條所述的方法,其中:所述輸入所述命令包括將所述命令分解為操作,並且將所述操作分解為所述記憶體任務中的多個記憶體任務;並且所述通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個記憶體任務來執行所述命令包括執行所述記憶體任務中的在所述輸入期間所述操作被分解而成的記憶體任務中的多個。
第18條:根據第13條所述的方法,其中:所述的將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中包括:將所述記憶體任務中的每個分解為記憶體介面信號的相應序列,以及將記憶體介面信號的每個相應序列儲存在第一查閱資料表中;以及所述的通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個記憶體任務來執行所述命令包括查找所述第一查閱資料表中的記憶體介面信號的所述相應序列。
第19條:根據第18條所述的方法,其中: 所述的將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中還包括:將從每個相應記憶體任務指向所述第一查閱資料表中的記憶體介面信號的所述相應序列中的一個的任務指標儲存在第二查閱資料表中;以及所述查找所述第一查閱資料表中的記憶體介面信號的所述相應序列包括查找所述第二查閱資料表中的每個相應任務以找到指向所述第一查閱資料表中的記憶體介面信號的所述相應序列的所述任務指標。
第20條:根據第19條所述的方法,還包括:將針對指向所述第二查閱資料表中的任務指標的相應序列的每個相應命令的相應命令指標儲存在第三查閱資料表中;其中:所述查找所述第一查閱資料表中的記憶體介面信號的所述相應序列還包括,在將命令輸入到所述記憶體通道命令介面中時,查找所述第三查閱資料表中的所述命令以找到針對所述第二查閱資料表中的任務指標的每個相應序列的所述相應命令指標。
將理解,前文僅僅是對本發明的原理的說明,並且本發明能夠由除了所描述的實施例之外的實施例來實踐,所描述的實施例出於說明而非限制的目的而被呈現,並且本發明僅僅受隨附申請專利範圍限制。
101‧‧‧NAND快閃記憶體單元
300‧‧‧NAND快閃記憶體介面(NFIF)驅動器
301‧‧‧通道處理器
303‧‧‧讀/寫資料匯流排
304‧‧‧通道任務引擎
305‧‧‧作業記憶體
306‧‧‧操作記憶體
307‧‧‧任務記憶體
308‧‧‧LUN狀態
312‧‧‧命令處理器
313‧‧‧讀/寫資料先進/先出電路
323‧‧‧錯誤校正單元(ECU)

Claims (20)

  1. 一種用於一個或多個記憶體通道的記憶體通道命令介面,所述記憶體通道命令介面針對所述一個或多個記憶體通道中的每個記憶體通道包括:針對記憶體命令的可程式設計儲存裝置;單個通道處理器,其用於執行所述記憶體命令;以及任務引擎,其用於將所述單個通道處理器的輸出通信到記憶體介質。
  2. 如請求項1所述的記憶體通道命令介面,其中所述記憶體介質是NAND快閃記憶體。
  3. 如請求項1所述的記憶體通道命令介面,其中:記憶體命令被組織成包括操作的作業,所述操作包含任務;並且針對記憶體命令的所述可程式設計儲存裝置包括作業記憶體和操作記憶體。
  4. 如請求項3所述的記憶體通道命令介面,其中任務作為操作的部分被儲存在所述操作記憶體中。
  5. 如請求項3所述的記憶體通道命令介面,其中:針對記憶體命令的所述可程式設計儲存裝置包括任務記憶體;任務被儲存在所述任務記憶體中;並且指向儲存在所述任務記憶體中的所述任務的指標作為操作的部分被儲存在所述操作記憶體中。
  6. 如請求項1所述的記憶體通道命令介面,其中針對記憶體命令的所述可程式設計儲存裝置包括至少一個查閱資料表。
  7. 如請求項6所述的記憶體通道命令介面,其中:記憶體命令被組織成包括操作的作業,所述操作包含任務;並且 所述任務被儲存在所述至少一個查閱資料表中的第一個查閱資料表中。
  8. 如請求項7所述的記憶體通道命令介面,其中:作業包括所述任務的序列;指向所述任務的序列的指標被儲存在所述至少一個查閱資料表中的第二個查閱資料表中;所述作業從所述至少一個查閱資料表中的所述第二個查閱資料表選擇指向任務的所述序列中的一個序列的所述指標中的一個指標;並且所述指標中的所述一個指標從所述至少一個查閱資料表中的所述第一個查閱資料表選擇任務的所述序列中的所述一個序列。
  9. 如請求項8所述的記憶體通道命令介面,其中:針對所述記憶體介質的控制信號序列被儲存在所述至少一個查閱資料表中的第三個查閱資料表中;任務的所述序列中的所述一個序列中的每個任務從所述至少一個查閱資料表中的所述第三個查閱資料表選擇控制信號序列。
  10. 如請求項1所述的記憶體通道命令介面,還包括記憶體介質狀態儲存裝置。
  11. 如請求項10所述的記憶體通道命令介面,其中:所述記憶體介質狀態儲存裝置儲存針對記憶體命令的優先順序指示;所述優先順序指示基於除了所述記憶體命令的到達或接受的順序之外的條件;以及所述單個通道處理器基於所述優先順序指示來控制記憶體命令的執行的順序。
  12. 如請求項11所述的記憶體通道命令介面,其中:所述記憶體介質狀態儲存裝置儲存針對所述記憶體命令中的每一個記憶體命令的獨立的優先順序指示;並且所述單個通道處理器基於所述獨立的優先順序指示來控制所述記憶體命令的所述執行的順序。
  13. 一種操作記憶體通道命令介面的方法,所述方法包括:將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中;輸入命令到所述記憶體通道命令介面中;以及通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個記憶體任務來執行所述命令。
  14. 如請求項13所述的方法,其中:所述輸入命令包括輸入多個命令;並且所述方法還包括基於除了所述命令的到達或接收的順序之外的條件,來將優先順序指示分配到所述多個命令中的每個命令;並且所述執行包括以基於所述優先順序指示的循序執行所述多個命令。
  15. 如請求項13所述的方法,其中所述將記憶體任務程式設計到所述記憶體通道命令介面中的所述可程式設計儲存裝置中包括:接受由所述記憶體通道命令介面的使用者對記憶體任務的程式設計。
  16. 如請求項15所述的方法,其中接受由所述記憶體通道命令介面的使用者對記憶體任務的程式設計包括接受至少一個查閱資料表的程式設計。
  17. 如請求項13所述的方法,其中:所述輸入所述命令包括將所述命令分解為操作,以及將所述操作分 解為所述記憶體任務中的多個記憶體任務;並且所述通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個記憶體任務來執行所述命令包括:執行所述記憶體任務中的在所述輸入期間所述操作被分解而成的記憶體任務中的多個。
  18. 如請求項13所述的方法,其中:所述將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中包括:將所述記憶體任務中的每個記憶體任務分解為記憶體介面信號的相應序列,以及將記憶體介面信號的每個相應序列儲存在第一查閱資料表中;以及所述通過從所述可程式設計儲存裝置選擇所述記憶體任務中的多個記憶體任務來執行所述命令包括查找所述第一查閱資料表中的記憶體介面信號的所述相應序列。
  19. 如請求項18所述的方法,其中:所述將記憶體任務程式設計到所述記憶體通道命令介面中的可程式設計儲存裝置中還包括:將從每個相應記憶體任務指向所述第一查閱資料表中的記憶體介面信號的所述相應序列中的一個序列的任務指標儲存在第二查閱資料表中;以及所述查找所述第一查閱資料表中的記憶體介面信號的所述相應序列包括:查找所述第二查閱資料表中的每個相應任務,以找到指向所述第一查閱資料表中的記憶體介面信號的所述相應序列的所述任務指標。
  20. 如請求項19所述的方法,還包括:將針對指向所述第二查閱資料表中的任務指標的相應序列的每個相 應命令的相應命令指標儲存在第三查閱資料表中;其中:所述查找所述第一查閱資料表中的記憶體介面信號的所述相應序列還包括:在將命令輸入到所述記憶體通道命令介面中時,查找所述第三查閱資料表中的所述命令以找到針對所述第二查閱資料表中的任務指標的每個相應序列的所述相應命令指標。
TW105125822A 2015-08-14 2016-08-12 針對nand快閃記憶體的靈活介面 TW201719429A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562205142P 2015-08-14 2015-08-14
US201662297230P 2016-02-19 2016-02-19

Publications (1)

Publication Number Publication Date
TW201719429A true TW201719429A (zh) 2017-06-01

Family

ID=57995489

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105125822A TW201719429A (zh) 2015-08-14 2016-08-12 針對nand快閃記憶體的靈活介面

Country Status (3)

Country Link
US (1) US20170046102A1 (zh)
CN (1) CN106469026A (zh)
TW (1) TW201719429A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690848B (zh) * 2018-10-11 2020-04-11 力晶積成電子製造股份有限公司 基於記憶體處理器的多處理架構及其操作方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802878B2 (en) * 2017-03-31 2020-10-13 Bmc Software, Inc. Phased start and stop of resources in a mainframe environment
CN109324828B (zh) * 2018-09-21 2023-06-02 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
CN110109618B (zh) * 2019-04-24 2022-09-27 珠海妙存科技有限公司 一种维护闪存操作时序的方法
US11650753B2 (en) * 2021-07-27 2023-05-16 Beijing Tenafe Electronic Technology Co., Ltd. Firmware-controlled and table-based conditioning for synchronous handling of exception cases
CN116266167A (zh) * 2021-12-17 2023-06-20 华为技术有限公司 一种数据处理系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1408405A1 (en) * 2002-10-11 2004-04-14 STMicroelectronics S.r.l. "A reconfigurable control structure for CPUs and method of operating same"
JP5147584B2 (ja) * 2008-07-23 2013-02-20 株式会社日立製作所 ストレージサブシステム及びコントローラによるコマンド実行方法
US9134919B2 (en) * 2012-03-29 2015-09-15 Samsung Electronics Co., Ltd. Memory device including priority information and method of operating the same
US9081666B2 (en) * 2013-02-15 2015-07-14 Seagate Technology Llc Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
US9753653B2 (en) * 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690848B (zh) * 2018-10-11 2020-04-11 力晶積成電子製造股份有限公司 基於記憶體處理器的多處理架構及其操作方法

Also Published As

Publication number Publication date
US20170046102A1 (en) 2017-02-16
CN106469026A (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
TW201719429A (zh) 針對nand快閃記憶體的靈活介面
US10761772B2 (en) Memory system including a plurality of chips and a selectively-connecting bus
US7934052B2 (en) System and method for performing host initiated mass storage commands using a hierarchy of data structures
CN102428451A (zh) 用于数据存储装置的命令及中断分组
US9304952B2 (en) Memory control device, storage device, and memory control method
US10108565B2 (en) Method for on-demand fetching of SGL pointers based buffer, traffic and command requirements
US10540096B2 (en) Method and design for dynamic management of descriptors for SGL operation
WO2012058383A1 (en) Causing related data to be written together to non-volatile, solid state memory
US10095442B2 (en) Memory device that changes execution order of commands
US20140237170A1 (en) Storage device, and read command executing method
US20040148606A1 (en) Multi-thread computer
KR20210035910A (ko) 비-결정적 커맨드를 지원하는 메모리 서브-시스템
US10089039B2 (en) Memory controller, memory device having the same, and memory control method
JP2012230554A (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
US8966159B2 (en) Flash storage device and data writing method thereof
JP2010061620A (ja) Dma装置及びdma転送方法
US20230022998A1 (en) Overhead Reduction in Data Transfer Protocol for NAND Memory
CN112306927B (zh) 一种io请求的处理方法、装置及系统
US20040093439A1 (en) Data processing control apparatus and DMA controller
US9880952B2 (en) Bus access controller, hardware engine, controller, and memory system
JP2023137515A (ja) 半導体記憶装置