用於受管理的非易失性存儲器的低等待時間讀取操作的製作方法
2023-05-24 13:03:26 1
專利名稱:用於受管理的非易失性存儲器的低等待時間讀取操作的製作方法
技術領域:
本主題總地涉及受管理的非易失性存儲器(NVM)的訪問和管理。
背景技術:
快閃記憶體是一類電可擦除可編程只讀存儲器(EEPROM)。因為快閃記憶體是非易失性的並且相對密集,所以它們被用於在手持式計算機、行動電話、數字相機、可攜式音樂播放器和其他存儲方案(例如磁碟)不適用的許多其他設備中存儲文件和其他持續性對象。NAND是能夠像諸如硬碟或存儲卡之類的塊器件那樣被訪問的一類快閃記憶體。每個塊由若干頁(例如64-1 頁)構成。典型的頁大小是4KB-8KB字節。NAND器件可具有多個管芯,其中每個管芯具有4096-8192個塊。與每個頁相關聯的是用於差錯檢測和校正校驗和的存儲的數個字節(例如12-16個字節)。讀取和編程是以頁為單位執行的,擦除是以塊為單位執行的,並且塊中的數據只能被順序寫入。NAND依賴於差錯校正碼(ECC)來針對在正常器件操作期間可能翻轉的比特進行補償。當執行擦除或編程操作時,NAND器件可檢測未能編程或擦除的塊並將這些塊在不良塊映射圖中標記為不良的。數據可被寫入到另一不同的、良好的塊,並且不良塊映射圖被更新。受管理的NAND器件將原始NAND與存儲器控制器相組合以處理差錯校正和檢測, 以及NAND存儲器的存儲器管理功能。商業上,可在球柵陣列(BGA)封裝中或者支持標準化處理器接口的其他集成電路(IC)封裝(例如多媒體存儲卡(MMC)和安全數字(SD)卡)中獲得受管理的NAND。受管理的NAND器件可包括可利用一個或多個晶片選擇信號來訪問的數個NAND器件或管芯。晶片選擇是在數字電子設備中用來從連接到同一總線的若干個晶片中選擇一個晶片的控制線。晶片選擇通常是大多數IC封裝上的命令管腳,該命令管腳將器件上的輸入管腳連接到該器件的內部電路。當晶片選擇管腳被保持在非活動狀態中時, 晶片或器件忽略其輸入管腳的狀態的變化。當晶片選擇管腳被保持在活動狀態中時,晶片或器件就好像其是總線上的唯一晶片那樣作出響應。開放NAND快閃記憶體接口工作組(ONFI)為NAND快閃記憶體晶片開發了一種標準化的低級別接口,以允許來自不同廠商的合格NAND器件之間的互操作性。ONFI規範版本1. 0規定 TS0P-48、WS0P-48、LGA-52和BGA-63封裝中的NAND快閃記憶體的標準物理接口(管腳輸出);用於讀取、寫入和擦除NAND快閃記憶體晶片的標準命令集;以及用於自識別的機制。ONFI規範版本 2.0支持雙通道接口,其中奇數晶片選擇(也稱為晶片使能或「CE」)連接到通道1並且偶數CE連接到通道2。物理接口對於整個封裝不應具有多於8個CE。雖然ONFI規範允許了互操作性,但當前的ONFI規範並沒有充分利用受管理的 NAND方案。
發明內容
在存儲器系統中,主機控制器耦合到非易失性存儲器(NVM)封裝(例如NAND器件)。主機控制器向NVM封裝發送讀取命令以請求低等待時間讀取操作。響應於讀取命令,NVM封裝中的控制器取得數據並將數據發送到ECC引擎以便校正。在讀取命令之後,主機控制器向NVM封裝中的控制器發送讀取狀態請求命令。響應於讀取狀態請求,控制器向主機控制器發送狀態報告,指示出一些或全部數據可用於傳送到主機控制器。響應於該報告,主機控制器傳送數據。在一些實現方式中,響應於主機控制器在讀取操作結束時發送的讀取操作狀態請求命令,欠載運行狀態被NVM封裝中的控制器確定並被報告給主機控制器。NVM封裝報告的讀取操作狀態指示出是否有欠載運行,其中未經校正數據被傳送到主機控制器,以及數據是可校正的還是不可校正的。基於讀取操作狀態,主機控制器可採取行動,例如執行另一讀取操作,而不考慮低等待時間。所公開的低等待時間讀取操作的一個優點是所請求的數據的經校正部分可被傳送到主機控制器,這可與傳統的非易失性存儲器系統相對比在傳統的非易失性存儲器系統中,在任何數據被傳送到主機控制器之前,所有請求的數據被加載在緩衝器中並被校正。
圖1是包括耦合到受管理的NVM封裝的主機處理器的示例性存儲器系統的框圖。圖2示出了用於圖1的受管理的NVM封裝的示例性地址映射。圖3示出了包括不良塊替換的圖2的地址映射。圖4示出了受管理的非易失性存儲器的低等待時間讀取的示例性方法。圖5示出了用於確定低等待時間讀取操作中的欠載運行狀態的示例性過程。圖6示出了受管理的非易失性存儲器的低等待時間讀取的另一示例性方法。圖7是主機控制器執行的低等待時間讀取操作的流程圖。圖8是NVM控制器執行的低等待時間讀取操作的流程圖。
具體實施例方式存儲器系統概述圖1是包括耦合到受管理的NVM封裝104 (例如NAND器件)的主機控制器102的示例性存儲器系統100的框圖。NVM封裝104可以是BGA封裝或其他IC封裝,包括多個NVM 器件108(例如多個原始NAND器件)。存儲器系統100可用在多種設備中,包括但不限於 手持式計算機、行動電話、數字相機、可攜式音樂播放器、玩具、指狀驅動器、電子郵件設備以及任何其他想要或需要非易失性存儲器的設備。就這裡使用的而言,原始NVM是被外部主機處理器管理的存儲器器件或封裝,並且受管理的NVM是包括諸如差錯校正、耗損均衡、 不良塊管理等等之類的至少一個內部存儲器管理功能的存儲器器件或封裝。在一些實現方式中,NVM封裝104可包括用於利用內部晶片選擇信號通過內部通道訪問和管NVM器件108的控制器106。內部通道是控制器106與NVM器件108之間的數據路徑。控制器106可執行存儲器管理功能(例如耗損均衡、不良塊管理)並且可包括用於檢測和校正數據差錯(例如翻轉的比特)的差錯校正(ECC)引擎110。在一些實現方式中,ECC引擎110可實現為控制器106中的硬體組件或實現為由控制器106執行的軟體組件。在一些實現方式中,ECC引擎110可位於NVM器件108中。在一些實現方式中,主機控制器102和NVM封裝104通過主機可見的通信通道(「主機通道」)來傳輸信息(例如控制命令、地址、數據)。主機通道可支持標準接口,例如原始NAND接口或雙通道接口,例如ONFI規範版本2. 0中描述的那種。主機控制器102還可提供主機晶片使能(CE)信號。主機CE是主機控制器102可見的,以便選擇主機通道。在示例性存儲器系統100中,NVM封裝104支持CE隱藏。CE隱藏允許了單個主機 CE被用於NVM封裝104中的每個內部通道,從而減少了支持NVM封裝104的接口所需要的信號的數目。可利用地址空間和地址映射將存儲器訪問映射到內部通道和NVM器件108,如參考圖2和3所述。可利用由控制器106生成的內部CE信號來使能各個NVM器件108。示例性地址映射圖2示出了用於圖1的受管理的NVM封裝104的示例性地址映射。具體地,該映射可用於包括多個管芯的受管理的NAND器件,其中每個管芯可能包括多個平面。在一些實現方式中,地址映射在可同時尋址單元(CAU)上工作。CAU是可從單個主機通道訪問的物理存儲的一部分,其可與NVM封裝中的其他CAU同時或並行地被讀取、編程或擦除。CAU例如可以是單個平面或單個管芯。CAU大小是CAU中的可擦除塊的數目。將利用圖2的示例性存儲器體系結構來描述映射。對於此示例性體系結構,塊大小被定義為可擦除塊中的頁的數目。在一些實現方式中,對於每4k字節的數據,有16位元組的元數據可用。其他存儲器體系結構也是可能的。例如,元數據可被分配以更多或更少字節。圖2所示的地址映射允許了使用原始NAND協議來對NAND塊進行讀取/編程/擦除並且允許了使能優化性能的額外命令。NVM封裝104包括用於管理NAND的數據可靠性的 ECC引擎(例如ECC引擎110)。從而,主機控制器102不需要包括ECC引擎110或以其他方式出於可靠性目的處理數據。NVM封裝104將CAU定義為能夠與其他CAU同時或並行訪問(例如將數據從NAND 存儲器單元移動到內部寄存器)的區域。在此示例性體系結構中,假定所有CAU包括相同數目的塊。在其他實現方式中,CAU可具有不同數目的塊。以下的表I描述了用於訪問CAU 中的頁的示例性行地址格式。表I-示例性行地址格式
權利要求
1.一種非易失性存儲器(NVM)器件,包括接口,可用於接收來自耦合到所述NVM器件的主機控制器的讀取命令和讀取狀態請求;多個可同時尋址單元,其中每個包含多個塊;耦合到所述接口和所述多個可同時尋址單元的控制器,該控制器可用於 從由所述讀取命令指定的所述多個可同時尋址單元的一個或多個塊中讀取數據; 對要讀取的所述數據的一部分進行差錯校正; 使所述數據的經差錯校正的部分可用於傳送到所述主機控制器;以及利用指示出欠載運行狀態或所述數據是可校正的還是不可校正的之中的一個或多個的信息來響應所述讀取狀態請求。
2.如權利要求1所述的器件,其中,所述信息包括指示出差錯校正碼延遲的一個或多個比特。
3.如權利要求1所述的器件,其中,所述信息包括指示出數據被從所述NVM器件的存儲器陣列中恰當地讀取的一個或多個比特。
4.如權利要求1所述的器件,其中,所述信息包括指示出數據準備好被從所述NVM器件傳送到所述主機控制器的一個或多個比特。
5.一種被配置用於與非易失性存儲器(NVM)器件耦合的主機控制器,包括 接口,被配置用於耦合到所述NVM器件;耦合到所述接口的控制器,該控制器被配置用於向所述NVM器件發送讀取命令和讀取狀態請求,並且接收來自所述NVM器件的數據和信息,所述信息指示出欠載運行狀態或所述數據是可校正的還是不可校正的之中的一個或多個。
6.一種由非易失性存儲器(NVM)器件執行的方法,該方法包括 接收來自耦合到所述NVM器件的主機控制器的讀取命令和讀取狀態請求; 從所述NVM器件中的由所述讀取命令標識的多個可同時尋址單元中讀取數據; 對要讀取的所述數據的一部分進行差錯校正;使數據的經差錯校正的部分可用於傳送到所述主機控制器;以及利用指示出欠載運行狀態或所述數據是可校正的還是不可校正的之中的一個或多個的信息來響應所述狀態請求。
7.如權利要求6所述的方法,其中,所述信息包括指示出差錯校正碼延遲的一個或多個比特。
8.如權利要求6所述的方法,其中,所述信息包括指示出數據被從所述NVM器件的存儲器陣列中恰當地讀取的一個或多個比特。
9.如權利要求6所述的方法,其中,所述信息包括指示出數據準備好被從所述NVM器件傳送到所述主機控制器的一個或多個比特。
10.一種由被配置用於與非易失性存儲器(NVM)器件耦合的主機控制器執行的方法, 該方法包括向所述NVM器件發送讀取命令和讀取狀態請求;以及響應於所述讀取狀態請求,接收來自所述NVM器件的數據和信息,所述信息指示出欠載運行狀態或所述數據是可校正的還是不可校正的之中的一個或多個。
11.如權利要求10所述的方法,其中,所述主機控制器響應於所述信息而向所述NVM器件發送另一讀取命令。
12.如權利要求10所述的方法,其中,所述信息包括指示出差錯校正碼延遲的一個或多個比特。
13.如權利要求10所述的方法,其中,所述信息包括指示出數據被從所述NVM器件中恰當地讀取的一個或多個比特。
14.如權利要求10所述的方法,其中,所述信息包括指示出數據準備好被從所述NVM器件傳送到所述主機控制器的一個或多個比特。
15.如權利要求10所述的方法,其中,所述信息能在數據被傳送到所述主機控制器之前或之後被發送到所述NVM器件。
16.如權利要求10所述的方法,其中,所述信息指示出可用於傳送到所述主機控制器的差錯校正碼片段的數目。
17.一種存儲器系統,包括主機控制器;非易失性存儲器(NVM)器件;耦合所述主機控制器和所述NVM器件的接口,所述主機控制器被配置用於從所述主機控制器通過所述接口向所述NVM器件發送讀取命令和讀取狀態請求;所述NVM器件中包括的多個可同時尋址單元,所述單元包含多個塊;所述NVM器件的耦合到所述多個可同時尋址單元的控制器,該控制器可用於從由所述讀取命令指定的所述多個可同時尋址單元的多個塊中讀取數據;對要讀取的所述數據的一部分進行差錯校正;使所述數據的經差錯校正的部分可用於從所述NVM器件通過所述接口傳送到所述主機控制器;以及從所述NVM器件向所述主機控制器發送信息,該信息指示出欠載運行狀態或所述數據是可校正的還是不可校正的之中的一個或多個。
18.如權利要求17所述的系統,其中,所述信息包括指示出數據準備好被從所述NVM器件傳送到所述主機控制器的一個或多個比特。
19.如權利要求17所述的系統,其中,所述信息能在數據被傳送到所述主機控制器之前或之後被發送到所述NVM器件。
20.如權利要求17所述的系統,其中,所述信息指示出可用於傳送到所述主機控制器的差錯校正碼片段的數目。
全文摘要
在存儲器系統中,主機控制器耦合到非易失性存儲器(NVM)封裝(例如NAND器件)。主機控制器向NVM封裝發送讀取命令以請求低等待時間讀取操作。響應於讀取命令,NVM封裝中的控制器取得數據並將數據發送到ECC引擎以便校正。在讀取命令之後,主機控制器向NVM封裝中的控制器發送讀取狀態請求命令。響應於讀取狀態請求,控制器向主機控制器發送狀態報告,指示出一些或全部數據可用於傳送到主機控制器。響應於該報告,主機控制器傳送數據。可確定欠載運行狀態,以指示出未經校正的數據被傳送到了主機控制器。
文檔編號G06F11/07GK102414666SQ201080019952
公開日2012年4月11日 申請日期2010年4月27日 優先權日2009年5月6日
發明者丹尼爾·傑弗裡·波斯特, 威蒂姆·克梅爾尼特斯基, 尼爾·雅各布·瓦卡拉特 申請人:蘋果公司