TW201432709A - 控制方法、連接器與記憶體儲存裝置 - Google Patents
控制方法、連接器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201432709A TW201432709A TW102104645A TW102104645A TW201432709A TW 201432709 A TW201432709 A TW 201432709A TW 102104645 A TW102104645 A TW 102104645A TW 102104645 A TW102104645 A TW 102104645A TW 201432709 A TW201432709 A TW 201432709A
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- host system
- storage device
- instructions
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
一種控制方法與使用此控制方法的連接器與記憶體儲存裝置。此控制方法包括:建立主機系統與記憶體儲存裝置之間的連線;接收由主機系統發送的一個第一指令並將第一指令儲存至一個指令佇列當中,其中在將第一指令儲存至指令佇列之後,指令佇列儲存有至少一個第二指令;判斷第二指令的一指令數目是否大於一臨界值,其中臨界值大於1;若指令數目大於臨界值,由記憶體儲存裝置取得連線的一使用權並且執行一個第二指令;以及若指令數目不大於臨界值,等待接收來自主機系統的指令,其中連線的使用權屬於主機系統。藉此,可以增加系統的使用效率。
Description
本發明是有關於一種控制方法,且特別是有關於一種記憶體儲存裝置的控制方法以及使用此方法的連接器與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組會被包裝成一個記憶體儲存裝置,並且透過一個傳輸介面耦接至一個主機系統。主機系統可以下達一或多個指令以給此記憶體儲存裝置以存取資料。然而,這些指令可被儲存在記憶體儲存裝置中的一個指令佇列中,並且記憶體儲存裝置可以決定這些指令的執行順序。因此,如何利用此指令佇列來增加整體系統的執行效率,為此領
域技術人員所關心的議題。
本發明範例實施例提供一種控制方法以及使用此方法的連接器與記憶體儲存裝置,可以增加系統的執行效率。
本發明一範例實施例提出一種控制方法,用於一記憶體儲存裝置。控制方法包括:建立主機系統與記憶體儲存裝置之間的連線;接收由主機系統發送的一個第一指令並將第一指令儲存至一個指令佇列當中,其中在將第一指令儲存至指令佇列之後,指令佇列儲存有至少一個第二指令;判斷第二指令的一指令數目是否大於一臨界值,其中臨界值大於1;若指令數目大於臨界值,由記憶體儲存裝置取得連線的一使用權並且執行一個第二指令;以及若指令數目不大於臨界值,等待接收來自主機系統的指令,其中連線的使用權屬於主機系統。
在一範例實施例中,上述執行第二指令的步驟包括:傳送一個第二指令一標籤至主機系統。
在一範例實施例中,上述執行第二指令的步驟包括:執行一個第二指令,直到指令數目不大於臨界值。
在一範例實施例中,上述等待接收來自主機系統的指令的步驟包括:等待一預設時間;以及,在預設時間以後,由記憶體儲存裝置取得連線的使用權並且執行一個第二指令。
在一範例實施例中,上述的記憶體儲存裝置包括一記憶
體控制器。上述等待預設時間的步驟還包括:在預設時間內,由記憶體控制器執行一有效指令,用以對儲存於該記憶體儲存裝置當中之資料進行一相對應之運作。
在一範例實施例中,上述的控制方法更包括:若在預設時間內接收到來自主機系統的一個第三指令,將第三指令加入至指令佇列當中。
在一範例實施例中,上述的記憶體儲存裝置包括一可複寫式非揮發性記憶體模組。上述的臨界值是正比於可複寫式非揮發性記憶體模組的一通道數目。
以另外一個角度來說,本發明一範例實施例提出一種連接器,包括記憶體、傳輸電路與控制電路。記憶體中儲存了一指令佇列。傳輸電路是耦接至記憶體,用以建立主機系統與連接器之間的一連線,接收由主機系統發送的一個第一指令並將第一指令儲存至指令佇列當中。在將第一指令儲存至指令佇列之後,指令佇列儲存有至少一個第二指令。控制電路是耦接至上述的記憶體與傳輸電路,用以判斷第二指令的一指令數目是否大於一臨界值,其中臨界值大於1。若指令數目大於臨界值,傳輸電路用以取得連線的一使用權並且控制電路用以執行一個第二指令。若指令數目不大於臨界值,傳輸電路用以等待接收來自主機系統的指令,其中連線的使用權屬於主機系統。
在一範例實施例中,上述控制電路執行一個第二指令的操作包括:控制電路控制傳輸電路傳送一個第二指令的一標籤至
主機系統。
在一範例實施例中,上述控制電路執行一個第二指令的操作包括:控制電路執行一個第二指令,直到指令數目不大於臨界值。
在一範例實施例中,上述傳輸電路等待接收來自主機系統的指令的操作包括:傳輸電路等待一預設時間;以及,在預設時間以後,傳輸電路取得連線的使用權,並且控制電路執行一個第二指令。
在一範例實施例中,上述的連接器用以耦接至一記憶體控制器。記憶體控制器用以在預設時間內,執行一有效指令。
在一範例實施例中,上述的傳輸電路更用以在預設時間內接收來自主機系統的一個第三指令,並且將第三指令加入至指令佇列當中。
在一範例實施例中,上述的記憶體控制器用以耦接至一可複寫式非揮發性記憶體模組。上述的臨界值是正比於可複寫式非揮發性記憶體模組的一通道數目。
以另外一個角度來說,本發明一範例實施例提出一種記憶體儲存裝置,包括連接器、包括多個實體抹除單元的可複寫式非揮發性記憶體模組、與記憶體控制器。連接器是用以耦接至一主機系統。記憶體控制器是耦接至連接器與可複寫式非揮發性記憶體模組。此連接器包括記憶體、傳輸電路與控制電路。記憶體中儲存了一指令佇列。傳輸電路是耦接至記憶體,用以建立主機
系統與連接器之間的一連線,接收由主機系統發送的一個第一指令並將第一指令儲存至指令佇列當中。在將第一指令儲存至指令佇列之後,指令佇列儲存有至少一個第二指令。控制電路是耦接至上述的記憶體與傳輸電路,用以判斷第二指令的一指令數目是否大於一臨界值,其中臨界值大於1。若指令數目大於臨界值,傳輸電路用以取得連線的一使用權並且控制電路用以執行一個第二指令。若指令數目不大於臨界值,傳輸電路用以等待接收來自主機系統的指令,其中連線的使用權屬於主機系統。
基於上述,本發明範例實施例提出的控制方法、連接器與記憶體儲存裝置,可以適當地讓主機系統傳送指令給記憶體儲存裝置,藉此增加系統的執行效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接器
104‧‧‧記憶體控制器
106‧‧‧可複寫式非揮發性記憶體模組
304(0)~304(R)‧‧‧實體抹除單元
310‧‧‧傳輸電路
320‧‧‧記憶體
322‧‧‧指令佇列
330‧‧‧控制電路
S402、S404、S406、S408、S410、S412、S414、S416、S418、S502、S504、S506、S508、S510‧‧‧步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據一範例實施例繪示連接器的示意方塊圖。
圖4是根據一範例實施例繪示連接器的系統流程圖。
圖5是根據一範例實施例繪示控制方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資
料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,
PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、小型計算機系统介面(Small Computer System Interface,SCSI)、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元304(0)~304(R)。例如,實體抹除單元304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體程式化單元所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位
元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據一範例實施例繪示連接器的示意方塊圖。
請參照圖3,連接器102包括傳輸電路310、記憶體320與控制電路330。
傳輸電路310會接收來自主機系統1000的訊號,並且根據一個特定標準來解讀這些訊號。例如,在SATA的標準中,主機系統1000與記憶體儲存裝置1000之間的通訊分為實體層(physical layer)、連結層(link layer)、傳輸層(transport layer)與應
用層(application layer);傳輸電路310至少是負責連結層與傳輸層的通訊。亦即,傳輸電路310能夠依照SATA的標準來分析(parse)或建立各種基元(primitive)與訊框資訊結構(frame information structure,FIS)。
記憶體320是耦接至傳輸電路310,用以儲存來自主機系
統1000的指令或資料。特別的是,來自主機系統1000的指令會被儲存在一個指令佇列322中。例如,在SATA的標準中,指令佇列322亦可被稱為在地指令佇列(native command queueing,NCQ)。在此,記憶體320可以是隨機存取記憶體或是快閃記憶體,本發明並不在此限。
控制電路330是耦接至傳輸電路310與記憶體320,用以決定是否要執行指令佇列322中的指令。
具體來說,當連接器102耦接至主機系統1000時,傳輸電路310會建立記憶體儲存裝置100(連接器102)與主機系統1000之間的連線。例如,傳輸電路310與主機系統1000會交換符合頻外訊號(out ot band signal,OOB signal)的一個重置(COMRESET)訊號、一個初始(COMINIT)訊號、一個喚醒(COMWAKE)訊號或其組合。並且,傳輸電路310與主機系統1000也會交換一或多個基元(不限其種類)。接下來,主機系統1000會傳送一或多個指令給傳輸電路310,並且這些指令會被儲存在指令佇列322當中。記憶體控制器104可決定指令佇列332中指令的執行順序。
當記憶體控制器104要執行一個指令時,傳輸電路310
會先取得連線的使用權。例如,傳輸電路310會傳送一個直接記憶體存取設定(DMA setup)指令給主機系統,此時連線的使用權會屬於記憶體儲存裝置100。此外,每一個在指令佇列322中的指令都會包括一個標籤(tag)。在取得連線的使用權之後,傳輸電路310會傳送要被執行的指令所對應的標籤至主機系統1000。要被執行的指令可以是寫入指令、讀取指令或是其他指令,本發明並不在此限。主機系統1000在接收到上述的標籤以後,便知道記憶體儲存裝置100要執行哪一個指令,因此主機系統1000會傳送相關的訊號(例如,要寫入至可複寫式非揮發性記憶體模組106的資料、或是記憶體位址)給傳輸電路310。藉此,記憶體控制器104可以根據這些訊號將資料寫入至可複寫式非揮發性記憶體106當中,從可複寫式非揮發性記憶體106中讀取資料、或進行其他操作。在執行完一個指令以後,連線的使用權便會再屬於主機系統1000。
特別的是,在連線的使用權屬於記憶體儲存裝置100的期間,主機系統1000並無法傳送其他指令給連接器102。舉例來說,被執行的指令是一個讀取指令,而控制電路330會驅動傳輸電路310以傳送多筆資料給主機系統1000。在這些資料沒有被傳送完畢之前,主機系統1000並不能下達其他的指令給連接器102。而主機系統1000沒有下達的指令可先被暫存在主機系統1000的一個暫存器當中。並且,在執行一個指令以後,控制電路330有較高的權限(相對於主機系統1000)來決定是否要繼續執行下一個指令,或是釋放連線的使用權使主機系統1000傳送其他的
指令給連接器102。
控制電路330會持續的偵測指令佇列322中指令的數目是否大於0。若指令佇列322中指令的數目大於0,控制電路330會啟動一個指令佇列狀態機,用以執行指令佇列322中的一個指令。接下來,控制電路330還會判斷記憶體320中是否有足夠的空間來執行此指令。若記憶體320中沒有足夠的空間,則控制電路330會等待,直到記憶體320中有足夠的空間為止。特別的是,若記憶體320中有足夠的空間,控制電路330還會判斷指令佇列322中指令的數目(亦稱指令數目)是否大於等於一個臨界值,藉此決定是否要執行一個指令。
在此假設當傳輸電路310從主機系統1000接收到一個指令(亦稱第一指令)並且儲存在指令佇列322以後,指令佇列322會儲存至少一個指令(亦稱第二指令)。在判斷記憶體320中有足夠的空間以後,控制電路330會判斷第二指令的指令數目是否大於臨界值。此臨界值為大於1的正整數,但本發明並不限制其數值為多少。若上述的指令數目大於此臨界值,傳輸電路310會取得連線的使用權,並且控制電路330會執行至少一個第二指令。例如,控制電路330會控制傳輸電路310傳送對應的標籤或是對應的訊框資訊結構至主機系統1000。相反地,若指令數目不大於臨界值,則控制電路330會控制傳輸電路310以等待接收來自主機系統1000的指令,此時連線的使用權會屬於主機系統1000。例如,控制電路330可設定連接器102處於一個閒置(idle)狀態。當連線的
使用權是屬於主機系統1000時,主機系統1000便可再傳送其他的指令給連接器102。如此一來,指令佇列322中指令的數目會維持在臨界值以上,藉此讓記憶體控制器104盡可能維持在”忙碌”的狀態,增加系統的使用效率。
在一範例實施例中,控制電路330會設定一個預設時間,並且在判斷指令數目不大於臨界值時,控制電路330會等待此預設時間。此預設時間為一個很短暫的時間,例如為若干微秒(micro second),但本發明並不限制此預設時間的數值。傳輸電路310會將在預設時間內從主機系統1000接收到的指令(亦稱第三指令)儲存至指令佇列322當中。值得注意的是,在此預設時間內,傳輸電路310會等待來自主機系統1000的指令,同時記憶體控制器104可執行一個有效指令。此有效指令指的是相關資料已經準備好的指令,用以對儲存於記憶體儲存裝置100當中之資料進行一相對應之運作。例如,在傳輸電路310開始等待之前,主機系統1000已經傳送了關於一個第四指令的資料(例如,記憶體位址)給傳輸電路310(即,第四指令為有效指令)。在此預設時間內,記憶體控制器104會執行此第四指令(例如,將資料寫入至可複寫示非揮發性記憶體模組106,或是從可複寫示非揮發性記憶體模組106中讀取資料,其中,此等運作並不需要使用到傳輸電路310,即不需將資料透過傳輸電路310傳送到主機系統1000,或透過傳輸電路310從主機系統1000接收資料)。在經過了此預設時間以後,連接器102會取得連線的使用權,並且控制電路330會執行指令佇列322
中的一個指令。
在此範例實施例中,若指令數目大於此臨界值,則控制電路330會執行指令佇列322中的指令,直到指令數目不大於臨界值。控制電路310可以持續執行指令佇列322中的指令,直到指令佇列322中沒有指令為止。或者,控制電路310也可以在指令數目不大於臨界值以後等待一段預設時間,讓主機系統1000傳送其他的指令給傳輸電路310,本發明並不在此限。
在此範例實施例中,指令佇列322中可儲存32個指令,因此上述的臨界值會大於1並且小於32。然而,在其他範例實施例中,指令佇列322可儲存更多或更少的指令,並且臨界值可以在其他數值範圍內,本發明並不在此限。在一範例實施例中,此臨界值是正比於可複寫式非揮發性記憶體模組106的一個通道數目。具體來說,此通道數目表示可複寫式非揮發性記憶體模組106可以同時從幾個記憶單元(未繪示)中讀取資料,其中實體抹除單元304(0)~304(R)是分佈在這些記憶單元當中。當通道數目越大時,表示記憶體控制器104可以愈快速地在可複寫式非揮發性記憶體模組106上讀取或寫入資料(以平行的方式)。也就是說,若通道數目越大,則記憶體控制器104執行指令的速度會越大。因此,控制電路330會設定臨界值是正比於此通道數目,使得指令佇列322中指令的數目足夠讓記憶體控制器104處於”忙碌”的狀態。
圖4是根據一範例實施例繪示連接器的系統流程圖。
請參照圖4,在步驟S402中,連接器102是處於閒置狀
態。在步驟S404中,控制電路330會判斷指令數目是否不為0。若步驟S404的結果為否,控制電路330會回到步驟S402,設定連接器102繼續處於閒置狀態。
若步驟S404的結果為是,在步驟S406,控制電路330會啟動一個指令佇列狀態機。在步驟S408中,控制電路330會判斷是否有足夠的記憶體空間。若步驟S408的結果為否,控制電路330會等待,直到有足夠的記憶體空間為止。
若步驟S408的結果為是,控制電路330會判斷指令數目是否大於臨界值。若步驟S410的結果為否,則控制電路330會等待接收指令(步驟S412),並且判斷是否已超過一個預設時間(步驟S414)。在步驟S412中,若傳輸電路310接收到一個第三指令則會將此第三指令加入至指令註列中,並且此時記憶體控制器104會執行一個有效指令。若步驟S410的結果為是,控制電路330會執行指令佇列322中的一個指令(步驟S416),並且判斷指令數目是否不大於臨界值(步驟S418),直到指令數目不大於臨界值。若步驟S418的結果為是,控制電路330會回到步驟S404。
圖5是根據一範例實施例繪示控制方法的流程圖。
請參照圖5,在步驟S502中,建立主機系統與記憶體儲存裝置之間的一連線。在步驟S504中,接收由主機系統發送的一第一指令並將此第一指令儲存至指令佇列當中。在步驟S506中,判斷指令數目是否大於臨界值。
若步驟S506的結果為是,則進行步驟S508,由記憶體控
制器100取得連線的使用權並且執行指令佇列中的至少一個指令。若步驟S506的結果為否,則進行步驟S510,等待接收來自主機系統的指令,此時連線的使用權是屬於主機系統。圖5中各步驟已詳細說明如上,在此便不再贅述。
圖5中各步驟可以被實作為一或多個模組,並且這些模組會儲存在一個記憶體並且由一個處理器來執行。或者,圖5中各步驟可被實作為一或多個電路(例如,傳輸電路310與控制電路330)。本發明並不限制用軟體或硬體的方式來實作圖5所描繪的各步驟。此外,圖5流程可以配合以上的範例實施例一起實施,或者也可以單獨實施,本發明並不在此限。
綜上所述,本發明範例實施例所提出的記憶體儲存裝置,連接器與控制方法,可以在指令佇列中的指令不大於一個臨界值時,讓主機系統可以下達更多的指令給記憶體儲存裝置,藉此增加系統的使用效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S502、S504、S506、S508、S510‧‧‧控制方法的步驟
Claims (21)
- 一種控制方法,用於一記憶體儲存裝置,該控制方法包括:建立一主機系統與該記憶體儲存裝置之間的一連線;接收由該主機系統發送的一第一指令並將該第一指令儲存至一指令佇列當中,其中在將該第一指令儲存至該指令佇列之後,該指令佇列儲存有至少一第二指令;判斷該至少一第二指令的一指令數目是否大於一臨界值,其中該臨界值大於1;若該指令數目大於該臨界值,由該記憶體儲存裝置取得該連線的一使用權並且執行該至少一第二指令的其中之一;以及若該指令數目不大於該臨界值,等待接收來自該主機系統的指令,其中該連線的該使用權屬於該主機系統。
- 如申請專利範圍第1項所述的控制方法,其中執行該至少一第二指令的其中之一的步驟包括:傳送該至少一第二指令的該其中之一的一標籤至該主機系統。
- 如申請專利範圍第1項所述的控制方法,其中執行該至少一第二指令的其中之一的步驟包括:執行該至少一第二指令的其中之一,直到該指令數目不大於該臨界值。
- 如申請專利範圍第1項所述的控制方法,其中等待接收來自該主機系統的指令的步驟包括: 等待一預設時間;以及在該預設時間以後,由該記憶體儲存裝置取得該連線的該使用權並且執行該至少一第二指令的其中之一。
- 如申請專利範圍第4項所述的控制方法,其中該記憶體儲存裝置包括一記憶體控制器,其中等待該預設時間的步驟還包括:在該預設時間內,由該記憶體控制器執行一有效指令,用以對儲存於該記憶體儲存裝置當中之資料進行一相對應之運作。
- 如申請專利範圍第4項所述的控制方法,更包括:若在該預設時間內接收到來自該主機系統的一第三指令,將該第三指令加入至該指令佇列當中。
- 如申請專利範圍第1項所述的控制方法,其中該記憶體儲存裝置包括一可複寫式非揮發性記憶體模組,並且該臨界值正比於該可複寫式非揮發性記憶體模組的一通道數目。
- 一種連接器,包括:一記憶體,儲存一指令佇列;一傳輸電路,耦接至該記憶體,用以建立一主機系統與該連接器之間的一連線,接收由該主機系統發送的一第一指令並將該第一指令儲存至該指令佇列當中,其中在將該第一指令儲存至該指令佇列之後,該指令佇列儲存有至少一第二指令;以及一控制電路,耦接至該記憶體與該傳輸電路,用以判斷該至少一第二指令的一指令數目是否大於一臨界值,其中該臨界值大於1, 若該指令數目大於該臨界值,該傳輸電路用以取得該連線的一使用權並且該控制電路用以執行該至少一第二指令的其中之一,若該指令數目不大於該臨界值,該傳輸電路用以等待接收來自該主機系統的指令,其中該連線的該使用權屬於該主機系統。
- 如申請專利範圍第8項所述的連接器,其中該控制電路執行該至少一第二指令的其中之一的操作包括:該控制電路控制該傳輸電路傳送該至少一第二指令的該其中之一的一標籤至該主機系統。
- 如申請專利範圍第8項所述的連接器,其中該控制電路執行該至少一第二指令的其中之一的操作包括:該控制電路執行該至少一第二指令的其中之一,直到該指令數目不大於該臨界值。
- 如申請專利範圍第8項所述的連接器,其中該傳輸電路等待接收來自該主機系統的指令的操作包括:該傳輸電路等待一預設時間;以及在該預設時間以後,該傳輸電路取得該連線的該使用權,並且該控制電路執行該至少一第二指令的其中之一。
- 如申請專利範圍第11項所述的連接器,其中該連接器用以耦接至一記憶體控制器,並且該記憶體控制器用以在該預設時間內執行一有效指令,用以對儲存於該記憶體儲存裝置當中之資料進行一相對應之運作。
- 如申請專利範圍第11項所述的連接器,其中該傳輸電路 更用以在該預設時間內接收來自該主機系統的一第三指令,並且將該第三指令加入至該指令佇列當中。
- 如申請專利範圍第12項所述的連接器,其中該記憶體控制器用以耦接至一可複寫式非揮發性記憶體模組,並且該臨界值正比於該可複寫式非揮發性記憶體模組的一通道數目。
- 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中該連接器包括:一記憶體,儲存一指令佇列;一傳輸電路,耦接至該記憶體,用以建立該主機系統與該記憶體儲存裝置之間的一連線,接收由該主機系統發送的一第一指令並將該第一指令儲存至該指令佇列當中,其中在將該第一指令儲存至該指令佇列之後,該指令佇列儲存有至少一第二指令;以及一控制電路,耦接至該記憶體與該傳輸電路,用以判斷該至少一第二指令的一指令數目是否大於一臨界值,其中該臨界值大於1,若該指令數目大於該臨界值,該傳輸電路用以取得該連線的 一使用權並且該控制電路用以執行該至少一第二指令的其中之一,若該指令數目不大於該臨界值,該傳輸電路用以等待接收來自該主機系統的指令,其中該連線的該使用權屬於該主機系統。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該控制電路執行該至少一第二指令的其中之一的操作包括:該控制電路控制該傳輸電路傳送該至少一第二指令的該其中之一的一標籤至該主機系統。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該控制電路執行該至少一第二指令的其中之一的操作包括:該控制電路執行該至少一第二指令的其中之一,直到該指令數目不大於該臨界值。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該傳輸電路等待接收來自該主機系統的指令的操作包括:該傳輸電路等待一預設時間;以及在該預設時間以後,該傳輸電路取得該連線的該使用權,並且該控制電路執行該至少一第二指令的其中之一。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制器用以在該預設時間內執行一有效指令,用以對儲存於該記憶體儲存裝置當中之資料進行一相對應之運作。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該傳輸電路更用以在該預設時間內接收來自該主機系統的一第三指 令,並且將該第三指令加入至該指令佇列當中。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該臨界值正比於該可複寫式非揮發性記憶體模組的一通道數目。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102104645A TWI545588B (zh) | 2013-02-06 | 2013-02-06 | 控制方法、連接器與記憶體儲存裝置 |
US13/831,710 US9804983B2 (en) | 2013-02-06 | 2013-03-15 | Controlling method, connector, and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102104645A TWI545588B (zh) | 2013-02-06 | 2013-02-06 | 控制方法、連接器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201432709A true TW201432709A (zh) | 2014-08-16 |
TWI545588B TWI545588B (zh) | 2016-08-11 |
Family
ID=51260304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102104645A TWI545588B (zh) | 2013-02-06 | 2013-02-06 | 控制方法、連接器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9804983B2 (zh) |
TW (1) | TWI545588B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI601060B (zh) * | 2017-01-17 | 2017-10-01 | 群聯電子股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
CN110879794A (zh) * | 2018-09-05 | 2020-03-13 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037167B2 (en) * | 2015-09-11 | 2018-07-31 | Sandisk Technologies Llc | Multiple scheduling schemes for handling read requests |
US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
CN109597576B (zh) * | 2018-11-30 | 2022-04-05 | 深圳市得一微电子有限责任公司 | 提高ncq命令响应速度的方法、装置、可读存储介质及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640596A (en) * | 1992-03-10 | 1997-06-17 | Hitachi, Ltd. | Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed |
US8930583B1 (en) * | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
TW200705180A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Adjustable flash memory management system and method |
US7620751B2 (en) * | 2005-09-27 | 2009-11-17 | Intel Corporation | Command scheduling and affiliation management for serial attached storage devices |
JP4901310B2 (ja) * | 2006-05-31 | 2012-03-21 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置のコマンド実行数制御方法 |
-
2013
- 2013-02-06 TW TW102104645A patent/TWI545588B/zh active
- 2013-03-15 US US13/831,710 patent/US9804983B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI601060B (zh) * | 2017-01-17 | 2017-10-01 | 群聯電子股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
US10664167B2 (en) | 2017-01-17 | 2020-05-26 | Phison Electronics Corp. | Data transmitting method, memory storage device and memory control circuit unit |
CN110879794A (zh) * | 2018-09-05 | 2020-03-13 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110879794B (zh) * | 2018-09-05 | 2023-01-17 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
US9804983B2 (en) | 2017-10-31 |
US20140223076A1 (en) | 2014-08-07 |
TWI545588B (zh) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
TWI409633B (zh) | 快閃記憶體儲存裝置、其控制器與資料寫入方法 | |
US9324435B2 (en) | Data transmitting method, memory control circuit unit and memory storage apparatus | |
TWI607448B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8775760B2 (en) | Modifying a host interface setting for a non-volatile memory module | |
TW201426303A (zh) | 資料讀取方法、記憶體控制器與記憶體儲存裝置 | |
TWI467574B (zh) | 記憶體儲存裝置、記憶體控制器與其資料傳輸方法 | |
CN107179877B (zh) | 数据传输方法、存储器控制电路单元与存储器存储装置 | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI545588B (zh) | 控制方法、連接器與記憶體儲存裝置 | |
TWI507981B (zh) | 指令執行方法、連接器與記憶體儲存裝置 | |
TWI492054B (zh) | 快閃記憶體的模擬方法與模擬器 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TW201523616A (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI454922B (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US9733832B2 (en) | Buffer memory accessing method, memory controller and memory storage device | |
TWI631460B (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI514141B (zh) | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI494944B (zh) | 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置 | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
TWI467578B (zh) | 錯誤處理方法、記憶體儲存裝置與記憶體控制電路單元 | |
CN104008072B (zh) | 控制方法、连接器与存储器存储装置 | |
TWI569201B (zh) | 控制方法、記憶體控制器與資料傳輸系統 | |
TWI584292B (zh) | 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置 |