TWI473109B - 用於非揮發性記憶體之導引設置 - Google Patents

用於非揮發性記憶體之導引設置 Download PDF

Info

Publication number
TWI473109B
TWI473109B TW97104818A TW97104818A TWI473109B TW I473109 B TWI473109 B TW I473109B TW 97104818 A TW97104818 A TW 97104818A TW 97104818 A TW97104818 A TW 97104818A TW I473109 B TWI473109 B TW I473109B
Authority
TW
Taiwan
Prior art keywords
memory
module
control module
read
data
Prior art date
Application number
TW97104818A
Other languages
English (en)
Other versions
TW200842890A (en
Inventor
Yang Xueshi
Wu Zining
Sutardja Pantas
Original Assignee
Marvell World Trade Ltd
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 Marvell World Trade Ltd filed Critical Marvell World Trade Ltd
Publication of TW200842890A publication Critical patent/TW200842890A/zh
Application granted granted Critical
Publication of TWI473109B publication Critical patent/TWI473109B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

用於非揮發性記憶體之導引設置
本發明涉及一種記憶體,尤其涉及一種非揮發性記憶體。
這裏提供的背景技術描述僅用於一般地呈現本發明的上下文。在該背景技術部份中所描述的當前署名的發明人的工作以及不能以其他方式被當作提交時的現有技術的這些描述中的一些方面不能明示或暗示地看作是本發明的現有技術。
參考圖1、2A和2B,非揮發性半導體記憶體10可包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)、多態記憶體等。非揮發性半導體記憶體10可包括一個或多個陣列16。陣列16可以安排為B個記憶體塊18-1、18-2、…和18-B(共同稱為塊18)。
在圖2A中,每個塊18包括P個頁20-1、20-2、…和20-P(共同稱為頁20)。在圖2B中,每個頁20可包括與資料部份24相關聯的多個記憶體單元,並且可包括與間接資料部份26相關聯的其他記憶體單元,間接資料部份26例如是錯誤修正程式碼(ECC)資料或其他(O)間接資料。
非揮發性半導體記憶體10一般與主機裝置的記憶體控制模組連接。通常,控制模組利用硬體連接塊大小來定址記憶體。塊中的頁也具有硬體連接物理頁大小,因此,可以稱為物理頁。資料和間接部份24和26中的記憶體單元的數目分別可以是硬體連接的。
僅作為例子,NAND快閃記憶體陣列對於總共二十億位元組(GB)的記憶體可包括16384個塊。每個塊可包括64頁中的128千位元組(KB)。每個頁可包括2112個位元組。在2112個位元組中,2048個位元組可以與資料部份相關聯,而64個位元組可 以與間接部份相關聯。每個記憶體單元可以儲存一個比特。為了擦除儲存在陣列中的資料,記憶體控制模組一般需要擦除整塊和/或整頁。
在圖2C中,記憶體塊48包括物理頁50-1、50-2、…和50-P(共同稱為頁50)。每個頁50包括用於資料部份的Y個記憶體單元(記憶體單元46-1、46-2、…和46-Y)和用於間接部份的Z個記憶體單元(記憶體單元46-(Y+1)、46-(Y+2)、…和46-(Y+Z)),其中Y和Z對於特定的記憶體控制模組來說是固定值。在對第一寫入資料塊的第一寫入操作期間,記憶體控制模組將資料寫入到頁50-1和50-2以及頁50-3的一部份。在對第二寫入資料塊的第二寫入操作期間,資料被寫入到頁50-4和50-5以及頁50-6的一部份。頁50-3和50-6中的剩餘記憶體單元不被使用。
現在參考圖2D,圖示了包括物理頁和邏輯頁兩者的另一記憶體塊80。記憶體控制模組(未示出)可以將物理頁50-1至50-6格式化顯示為邏輯頁51-1至51-3以用於讀取/寫入操作。換句話說,資料根據邏輯頁而不是根據物理頁被寫入到記憶體塊。
一種記憶體控制模組包括格式模組,所述格式模組與包括B個記憶體塊的記憶體陣列連接,每個記憶體塊包括P個物理頁和Q個邏輯頁。格式模組在B個記憶體塊中的每一個中選擇X個預定位置以寫入引導資料(write pilot data)和讀回引導信號(read-back pilot signals)。B、P、Q和X是大於或等於1的整數。記憶體控制模組還包括信號處理模組,所述信號處理模組將所寫入的引導資料與讀回的引導信號相比較,並根據比較結果確定所寫入的引導資料和所讀回的引導信號之間的差異。
在其他特徵中,引導資料在記憶體陣列的讀取、寫入和擦 除操作期間被嵌入到使用者資料中。格式模組選擇性地設置Q個邏輯頁中的每一個的開始和結束之一。格式模組選擇性地設置P個物理頁中的每一個的開始和結束之一。記憶體控制模組還包括寫入模組和讀取模組中的至少一個,所述寫入模組選擇性地將包括引導資料的資料寫入到記憶體陣列,讀取模組選擇性地從記憶體陣列讀回資料。
在其他特徵中,信號處理模組執行以下操作中的至少一種:在後續讀取/寫入操作中忽略差異,以及在後續讀取/寫入操作中不對發生差異的記憶體陣列中的位置進行寫入/讀取操作。所述差異至少部份地是由於對記憶體陣列的物理干擾和記憶體陣列內的缺陷之一引起的。
在其他特徵中,記憶體控制模組包括設置X個預定位置中的M個的引導位置模組。Q個邏輯頁中的每一個包括開始和結束之一。M個預定位置對於Q個邏輯頁中的每一個來說相對於開始和結束是相同的。M是大於或等於1的整數。引導位置模組將M個預定位置中的至少一個設置在Q個邏輯頁中的每一個內的開始、結束和某一位置。所述位置包括Q個邏輯頁中的每一個的中間。引導位置模組在Q個邏輯頁中的每一個內按預定模式設置M個預定位置。引導位置模組將M個預定位置中的至少一個設置在開始,並且還將M個預定位置中的至少另一個設置在緊鄰結束。
在其地特徵中,記憶體控制模組包括設置X個預定位置中的M個的引導位置模組。P個物理頁中的每一個包括開始和結束之一。M個預定位置對於P個物理頁中的每一個來說相對於開始和結束是相同的。M是大於或等於1的整數。引導位置模組將M個預定位置中的至少一個設置在P個物理頁中的每一個內的開始、結束和某一位置。所述位置包括P個物理頁中的每一個的中間。引導位置模組在P個物理頁中的每一個內按預定模式設置M個預定位置。引導位置模組將M個預定位置中的至少一個設置在開始,並且還將M個預定位置中的至少另一個設置在緊鄰結束。
在其他特徵中,一種記憶體系統包括記憶體控制模組,並且還包括記憶體陣列。記憶體陣列包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。格式模組產生記憶體陣列的記憶體圖像。格式模組執行以下操作中的至少一種:將記憶體映射校正為記憶體陣列中發生差異的指示部份中的至少一個,以及不再繼續使用記憶體陣列中發生差異的部份。
在其他特徵中,一種用於操作記憶體控制模組的方法包括在記憶體陣列的B個記憶體塊中的每一個中選擇X個預定位置來寫入引導資料和讀回引導信號。B個記憶體塊中的每一個包括P個物理頁和Q個邏輯頁。B、P、Q和X是大於或等於1的整數。該方法還包括將所寫入的引導資料與讀回的引導信號相比較。該方法還包括根據比較結果確定所寫入的引導資料和所讀回的引導信號之間的差異。
在其他特徵中,該方法包括讀取、寫入和擦除嵌入在使用者資料中的引導資料。該方法還包括選擇性地設置Q個邏輯頁中的每一個的開始和結束之一。該方法還包括選擇性地設置P個物理頁中的每一個的開始和結束之一。該方法還包括選擇性地將包括引導資料的資料寫入到記憶體陣列和選擇性地從記憶體陣列讀回資料中的至少一種。該方法還包括以下操作中的至少一種:在後續讀取/寫入操作中忽略差異,以及在後續讀取/寫入操作中不對發生差異的記憶體陣列中的位置進行寫入/讀取操作。所述差異至少部份地是由於對記憶體陣列的物理干擾和記憶體陣列內的缺陷之一引起的。
在其他特徵中,該方法包括設置X個預定位置中的M個。Q個邏輯頁中的每一個包括開始和結束之一。M個預定位置對於Q個邏輯頁中的每一個來說相對於開始和結束是相同的,其中M是大於或等於1的整數。該方法還包括將M個預定位置中的至少一 個設置在Q個邏輯頁中的每一個內的開始、結束和某一位置。所述位置包括Q個邏輯頁中的每一個的中間。
在其他特徵中,該方法包括在Q個邏輯頁中的每一個內按預定模式設置M個預定位置。該方法還包括將M個預定位置中的至少一個設置在開始,並將M個預定位置中的至少另一個設置在緊鄰結束。該方法還包括設置X個預定位置中的M個。P個物理頁中的每一個包括開始和結束之一。M個預定位置對於P個物理頁中的每一個來說相對於開始和結束是相同的,其中M是大於或等於1的整數。
在其他特徵中,該方法包括將M個預定位置中的至少一個設置在P個物理頁中的每一個內的開始、結束和某一位置。所述位置包括P個物理頁中的每一個的中間。該方法還包括在P個物理頁中的每一個內按預定模式設置M個預定位置。該方法還包括將M個預定位置中的至少一個設置在開始,並將M個預定位置中的至少另一個設置在緊鄰結束。
在其他特徵中,記憶體陣列包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。該方法還包括產生記憶體陣列的一記憶體映射。該方法還包括以下操作中的至少一種:將記憶體圖像校正為記憶體陣列中發生差異的指示部份中的至少一個,以及不再繼續使用記憶體陣列中發生差異的部份。
在其他特徵中,控制記憶體的控制裝置包含格式化裝置以連接儲存資料之陣列裝置。陣列裝置包括B個記憶體塊,每個記憶體塊包括P個物理頁和Q個邏輯頁。格式裝置在B個記憶體塊中的每一個中選擇X個預定位置以寫入引導資料和讀回引導信號。B、P、Q和X是大於或等於1的整數。控制裝置還包括信號處理裝置,所述信號處理裝置用於將所寫入的引導資料與讀回的引導信號相比較,並根據比較結果確定所寫入的引導資料和所讀回的 引導信號之間的差異。
在其他特徵中,引導資料在陣列裝置的讀取、寫入和擦除操作期間被嵌入到使用者資料中。格式裝置選擇性地設置Q個邏輯頁中的每一個的開始和結束之一。格式裝置選擇性地設置P個物理頁中的每一個的開始和結束之一。控制裝置還包括寫入裝置和讀取裝置中的至少一個,所述寫入裝置用於選擇性地將包括引導資料的資料寫入到陣列裝置,所述讀取裝置用於選擇性地從陣列裝置讀回資料。
在其他特徵中,信號處理裝置執行以下操作中的至少一種:在後續讀取/寫入操作中忽略差異,以及在後續讀取/寫入操作中不對發生差異的陣列裝置中的位置進行寫入/讀取操作。所述差異至少部份地是由於對陣列裝置的物理干擾和陣列裝置內的缺陷之一引起的。
在其他特徵中,控制裝置包括設置X個預定位置中的M個的引導位置裝置。Q個邏輯頁中的每一個包括開始和結束之一。M個預定位置對於Q個邏輯頁中的每一個來說相對於開始和結束是相同的。M是大於或等於1的整數。引導位置裝置將M個預定位置中的至少一個設置在Q個邏輯頁中的每一個內的開始、結束和某一位置。所述位置包括Q個邏輯頁中的每一個的中間。引導位置裝置在Q個邏輯頁中的每一個內按預定模式設置M個預定位置。引導位置裝置將M個預定位置中的至少一個設置在開始,並且還將M個預定位置中的至少另一個設置在緊鄰結束。
在其他特徵中,控制裝置包括設置X個預定位置中的M個的引導位置模組。P個物理頁中的每一個包括開始和結束之一。M個預定位置對於P個物理頁中的每一個來說相對於開始和結束是相同的。M是大於或等於1的整數。引導位置裝置將M個預定位置中的至少一個設置在P個物理頁中的每一個內的開始、結束和某一位置。所述位置包括P個物理頁中的每一個的中間。引導位置裝置在P個物理頁中的每一個內按預定模式設置M個預定位 置。引導位置裝置將M個預定位置中的至少一個設置在開始,並且還將M個預定位置中的至少另一個設置在緊鄰結束。
在其他特徵中,一種記憶體系統包括控制裝置,並且還包括陣列裝置。陣列裝置包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。格式裝置產生陣列裝置的記憶體映射。格式裝置執行以下操作中的至少一種:將記憶體映射校正為陣列裝置中發生差異的指示部份中的至少一個,以及不再繼續使用陣列裝置中發生差異的部份。
在其他特徵中,上述系統和方法實施一個或多個處理器是由電腦程式執行的。電腦程式可以存在於電腦可讀取介質上,電腦可讀取介質例如但不限於記憶體、非揮發性資料儲存裝置、和/或其他合適的實體儲存介質。
電腦程式包括在記憶體陣列的B個記憶體塊中的每一個選擇X個預定位置來寫入引導資料和讀回引導信號。B個記憶體塊中的每一個包括P個物理頁和Q個邏輯頁。B、P、Q和X是大於或等於1的整數。電腦程式還包括將所寫入的引導資料與讀回的引導信號相比較。電腦程式還包括根據比較結果確定所寫入的引導資料和所讀回的引導信號之間的差異。
在其他特徵中,電腦程式包括讀取、寫入和擦除嵌入在使用者資料中的引導資料。電腦程式還包括選擇性地設置Q個邏輯頁中的每一個的開始和結束之一。電腦程式還包括選擇性地設置P個物理頁中的每一個的開始和結束之一。電腦程式還包括選擇性地將引導資料的資料寫入到記憶體陣列和選擇性地從記憶體陣列讀回資料中的至少一種。電腦程式還包括以下操作中的至少一種:在後續讀取/寫入操作中忽略差異,以及在後續讀取/寫入操作中不對發生差異的記憶體陣列中的位置進行寫入/讀取操作。所述差異至少部份地是由於對記憶體陣列的物理干擾和記憶體陣列內的缺陷之一引起的。
在其他特徵中,電腦程式包括設置X個預定位置中的M個。Q個邏輯頁中的每一個包括開始和結束之一。M個預定位置對於Q個邏輯頁中的每一個來說相對於開始和結束是相同的,其中M是大於或等於1的整數。電腦程式還包括將M個預定位置中的至少一個設置在Q個邏輯頁中的每一個內的開始、結束和某一位置。所述位置包括Q個邏輯頁中的每一個的中間。
在其他特徵中,電腦程式包括在Q個邏輯頁中的每一個內按預定模式設置M個預定位置。電腦程式還包括將M個預定位置中的至少一個設置在開始,並將M個預定位置中的至少另一個設置在緊鄰結束。電腦程式還包括設置X個預定位置中的M個。P個物理頁中的每一個包括開始和結束之一。M個預定位置對於P個物理頁中的每一個相對於開始和結束是相同的,其中M是大於或等於1的整數。
在其他特徵中,電腦程式包括將M個預定位置中的至少一個設置在P個物理頁中每一個開始、結束和某一位置。所述位置包括P個物理頁中每一個的中間。電腦程式還包括在P個物理頁中的每一個內按預定模式設置M個預定位置。電腦程式還包括將M個預定位置中的至少一個設置在開始,並將M個預定位置中的至少另一個設置在緊鄰結束。
在其他特徵中,記憶體陣列包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。電腦程式還包括產生記憶體陣列的記憶體映射。電腦程式還包括以下操作中的至少一種:將記憶體映射校正為記憶體陣列中發生差異的指示部份中的至少一個,以及不再繼續使用記憶體陣列中發生差異的部份。
可以瞭解到前面對於本發明的大概描述和下面對於本發明的詳細描述具有實例性和解釋性,並且將提供作為申請專利的進一步解釋。
下面的描述本質上僅僅是示例性的,並且決不是意圖限制本發明、其應用或使用。為了清楚的目的,在附圖中將使用相同的標號來標識類似的元件。這裏所用的短語A、B和C中的至少一個應當解釋為指使用非排他性邏輯“或”的邏輯(A或B或C)。應當理解,一種方法內的步驟可以按不同順序執行,而不改變本發明的原理。
這裏所用的術語模組指專用積體電路(ASIC)、電子電路、運行一個或多個軟體或固件程式的處理器(共用、專用或群組)和記憶體、組合邏輯電路和/或提供所述功能的其他合適的元件。
引導資料可以儲存在記憶體中的多個位置內。引導資料可包括預定的資料模式。資料模式受到與儲存在記憶體中的其他資料類似的干擾。引導信號可以從引導資料中讀取出。信號處理模組可以根據引導資料來分析引導信號。信號處理模組可以根據分析結果確定包括引導資料的記憶體塊的干擾的統計參數。例如,雜訊之類的干擾可以有諸如雜訊的幅度和長度的統計參數。
一物理頁可以是具有硬體連接大小的記憶體單元的群組。邏輯頁可包括一個或多個物理頁內的格式化的開始和結束點。當要儲存在記憶體中的資料具有與物理頁中一段不同的長度時可以用在邏輯頁。在大多數情況下,邏輯頁大小和物理頁大小是不同的。因而,一個邏輯頁可以被分段並保存在不同的物理頁中。控制模組可以在物理和/或邏輯頁中設置引導資料的位置。
諸如雜訊之類的干擾參數由於讀取/寫入迴圈、製造差異和/或操作環境狀況而隨不同的邏輯和物理頁有所不同。控制模組的信號處理模組可以接收引導信號,將引導信號與引導資料相比較,並根據引導信號和引導資料之間的差別確定干擾參數。根據引導信號處理增加位置數量可以增加確定干擾的準確性,另外,所有的邏輯頁都應當包括引導資料的位置。因此,本發明包括提 供用於引導資料的預定位置。所有的邏輯頁和/或所有的物理頁可包括相同數目的引導資料的位置。這些位置相對於頁的開始和結束點可以是相同的。
在當前的快閃記憶體中,引導單元被放置在與資料儲存單元不同的位置中。例如,引導單元可以放置在錯誤修正程式碼(ECC)/間接部份中;或者它們可以放置在使用者不易進入的系統區域中。在本發明中,記憶體系統使用將引導單元與使用者資料一同放置(嵌入)的嵌入式方案。在這方案中,引導資料和使用者資料經歷相同的讀取/寫入/擦除迴圈。因此,讀回的引導信號提供了對使用者資料的雜訊和干擾的準確性指示。
現在參考圖3A-3E,圖示說明用於非揮發性半導體記憶體68的記憶體系統66。在圖3A中,主機裝置70包括控制模組72。控制模組72可以改變非揮發性半導體記憶體68中每頁的記憶體單元的數目。控制模組72可以改變每頁中資料部份和間接部份分配的記憶體單元的數目。控制模組72還可以確定非揮發性記憶體68內引導資料的位置。
控制模組72的格式模組110可以利用引導資料的位置對記憶體68進行格式化。格式模組110可包括在記憶體68中設置引導資料的位置的引導位置模組112。引導程式模組116將已知的模式編程為位置,以有利於快速獲得雜訊和干擾的參數。
格式模組110可以將引導資料的位置設置在物理頁和/或邏輯頁的開始、中間和/或結束。格式模組110也可以把根據相對已知模式分類到引導資料的位置。物理頁可以是預定義的,並被硬體連接到非揮發性記憶體68中。邏輯頁可以是一個或多個物理頁內的邏輯構造,並且可能不是硬體連接的。
非揮發性半導體記憶體68可包括記憶體單元的一個或多個陣列78-1、78-2、…和78-A(共同稱為陣列78)。陣列78可以安排在記憶體塊80-1、80-2、…和80-X(共同稱為塊80)中。在圖3B中,每個塊80包括物理頁82-1、82-2、…和82-Q(共同稱為 頁82)。
控制模組72可以改變每頁的記憶體單元的數目、每記憶體單元的位元數目和/或分別與資料部份和間接部份相關聯的記憶體單元的相對數目。格式模組110可以根據由控制模組72確定的頁結構來改變引導資料的位置。在圖3C中,每個頁82包括與資料部份90相關聯的記憶體單元和與間接部份92相關聯的其他記憶體單元。
在圖3D中,控制模組72與記憶體68通信。控制模組72包括包含引導位置模組112的格式模組110、類型確定模組114和/或信號處理模組115。信號處理模組115可以確定記憶體單元的干擾的統計參數。控制模組72將引導資料寫入到這些位置中,並且信號處理模組115讀回資料並將讀回的資料與引導資料相比較。
干擾特性可能隨記憶體68的每個物理塊而變化。信號處理模組115可以根據預期引導信號和實際引導信號的差別來確定干擾參數。信號處理模組115可包括確定這些參數的演算法。
例如,該演算法可包括由第一變換矩陣A代表引導資料,並由第二變換矩陣B代表讀回的引導數據。信號處理模組115指定矩陣A和B之間的差別作為干擾參數。信號處理模組115還可以使該演算法改寫後續的讀取/寫入操作。例如,定期發生的干擾可被包括在參數中。因此,信號處理模組115可以通過在確定預期和實際引導信號之間的差別之前,從讀回的引導信號中減去定期發生的干擾,在後續的讀取/寫入操作中對該干擾不加考慮。
格式模組110可以根據引導資料的位置來對記憶體68進行格式化。格式化可包括產生記憶體映射。因此,當不是引導資料的資料被寫入到記憶體68中時,該資料被儲存在引導資料的位置以外的其他位置中。格式模組110還可以根據信號處理演算法來校正記憶體映射。例如,如果信號處理模組115確定干擾已經損壞了記憶體68的一部份,則格式模組110可以對記憶體進行映射以不再繼續使用該部份。
類型確定模組114可以用於確定已經連接到記憶體控制模組72的記憶體的類型。類型確定模組114可以使用任何方法,例如但不限於與記憶體68連接並接收設定資訊。設定資訊可以儲存在具有標準或預定設定的記憶體68的設置部份中。控制模組72可以讀取取設置部份並配置記憶體68的其餘部份。
一旦確定了記憶體類型,格式模組110就可以接收來自類型確定模組114的記憶體設定資訊。根據該資訊,格式模組110可以針對物理和邏輯頁兩者確定引導資料的位置的預定安排。格式模組110可以可替換地產生引導資料的位置。格式模組110還可以確定每頁的位置或位址的開始和結束、記憶體單元的密度、每頁的ECC/O位元組的數目,並根據這些資訊產生引導資料的位置。
控制模組72包括寫入模組118和讀取模組120,這兩個模組根據由格式模組110確定的記憶體配置向記憶體68讀取寫入資料。寫入和讀取模組118、120向引導資料的位置和記憶體68中的其他位置讀取寫入資料。
寫入和讀取模組118、120可以採用行和列選擇模組(未示出)來選擇記憶體68內的記憶體單元。在寫入操作期間,寫入模組118選擇寫入目標單元。寫入目標單元可包括任何數目的記憶體單元,例如特定單元、一列單元、一行單元、一塊單元、一頁單元等,以及與這些單元相關聯的引導資料。一旦選擇了寫入目標單元,寫入模組118就產生寫入信號。
在讀取操作期間,讀取模組120選擇讀取目標單元,讀取目標單元可包括任何數目的記憶體單元,例如特定單元、一列單元、一行單元、一塊單元、一頁單元等。一旦選擇了讀取目標單元,讀取模組120就讀取目標單元。
如上所述,引導位置模組112可以在相對於物理頁的不同位置中設置引導資料的位置。例如,引導位置模組112可以將引導資料的位置設置在物理頁的開始、結束和/或固定段處(例如,在中間)。引導位置模組112還可以按預定義的模式在整個物理頁中 設置引導資料的位置(例如,在整個物理頁中均勻間隔)。
引導位置模組112也可以在相對於邏輯頁的不同位置中設置引導資料的位置。例如,引導位置模組112可以將引導資料的位置設置在邏輯頁的開始、結束和/或固定段處(例如,在中間)。引導位置模組112還可以按預定義的模式在整個邏輯頁中設置引導資料的位置(例如,在整個邏輯頁中均勻間隔)。
引導資料可以經歷類似的讀取/寫入迴圈,並且在記憶體68中位於其他資料的附近。引導信號可以用於處理整個邏輯頁的干擾,或者處理包括引導資料的邏輯頁的任何段的干擾。根據第一和第二實施例說明了兩種範例性的校正位置。
現在參考圖4,該圖說明廣泛識別為170的根據第一實施例的物理記憶體空間。在第一實施例中,引導資料被包含在物理頁和邏輯頁兩者中。邏輯頁大小說明大於物理頁大小。邏輯頁A開始於物理頁1的開始。信號處理模組115可以使用在物理頁1和邏輯頁A於開始中的引導資料172、174的位置來確定存在於物理頁1中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置176中的引導資料來確定存在於物理頁2中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置178中的引導資料來確定邏輯頁B的干擾。
現在參考圖5,該圖說明廣泛識別為180的根據第一實施例的物理記憶體空間。邏輯頁大小說明大於物理頁大小。邏輯頁A開始於物理頁1的中間。信號處理模組115可以使用位置182中的引導資料來確定邏輯頁C的干擾。信號處理模組115可以使用位置184中的引導資料來確定存在於物理頁1中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置186中的引導資料來確定存在於物理頁2中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置188中的引導資料來確定邏輯頁B的干擾。
現在參考圖6,該圖說明廣泛識別為190的根據第一實施例 的物理記憶體空間。邏輯頁大小小於物理頁大小。邏輯頁A開始於物理頁1的開始。信號處理模組115可以使用位置192、194中的引導資料來確定邏輯頁A的干擾。信號處理模組115可以使用位置196中的引導資料來確定存在於物理頁1中的邏輯頁B的部份資料的干擾。信號處理模組115可以使用位置198中的引導資料來確定存在於物理頁2中的邏輯頁B的部份資料的干擾。信號處理模組115可以使用位置200中的引導資料來確定邏輯頁C的資料干擾。
現在參考圖7,該圖說明廣泛識別為210的根據第一實施例的物理記憶體空間。邏輯頁大小小於物理頁大小。邏輯頁A開始於物理頁1的中間。信號處理模組115可以使用位置212中的引導資料來確定邏輯頁D的干擾。信號處理模組115可以使用位置214中的引導資料來確定存在於物理頁1中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置216中的引導資料來確定存在於物理頁2中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用位置218中的引導資料來確定邏輯頁B的干擾。信號處理模組115可以使用位置220中的引導資料來確定邏輯頁C的干擾。
現在參考圖8-9,該圖說明了根據本發明的第二實施例的物理記憶體空間。第二實施例可以用在當邏輯頁大小說明大於物理頁大小時。根據第二實施例,引導資料位於物理頁內的固定位置處,但是,當邏輯頁被寫入時引導資料也被寫入。換句話說,如果當前邏輯頁覆蓋了整個物理頁,則引導資料的開始和結束位置都被寫入。否則,只有引導資料的開始位置被寫入。引導資料的結束位置與填充整個物理頁的下一邏輯頁一同被寫入。
現在參考圖8,該圖說明廣泛識別為230的根據第二實施例的物理記憶體空間。邏輯頁大小說明大於物理頁大小。邏輯頁A開始於物理頁1的開始。信號處理模組115可以使用來自位置232、234的引導資料來確定存在於物理頁1中的邏輯頁A的部份 資料的干擾。信號處理模組115可以使用來自位置236的引導資料來確定存在於物理頁2中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用來自位置238的引導資料來確定邏輯頁B的干擾。
現在參考圖9,該圖說明廣泛識別為240的根據第二實施例的物理記憶體空間。邏輯頁大小可能大於物理頁大小。邏輯頁A開始於物理頁1的中間。信號處理模組115可以使用來自位置242的引導資料來確定邏輯頁C的干擾。信號處理模組115可以使用來自位置244的引導資料來確定存在於物理頁1中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用來自位置246的引導資料來確定存在於物理頁2中的邏輯頁A的部份資料的干擾。信號處理模組115可以使用來自位置248的引導資料來確定邏輯頁B的干擾。
現在參考圖10,範例性流程圖300說明了系統的操作。該過程開始於步驟302。在步驟304中,系統確定是否請求了讀取操作。如果真,則系統進行到步驟306。如果假,則系統返回到步驟304。在步驟306中,系統在作為目標的資料塊中定位引導資料的位置。在步驟308中,系統根據來自記憶體中的多個位置的引導資料來產生引導信號。在步驟310中,系統根據引導信號確定記憶體的干擾參數。在步驟312中,系統根據干擾參數修改信號處理演算法。例如,信號處理模組115在確定定期發生的干擾被包括在參數中時可以修改用於後續讀取/寫入操作的演算法。因此,信號處理模組115可以通過在確定預期和實際引導信號之間的差別之前從讀取回的引導信號中減去定期發生的干擾,在於後續的讀取/寫入操作中對該干擾不加以考慮。在步驟314中,系統利用修改後的信號處理演算法從記憶體中讀取作為目標的資料。系統隨後返回到步驟304。
在步驟316中,系統確定是否請求了寫入操作。如果真,則系統進行到步驟318。在步驟318中,系統在作為目標的資料塊中 選擇引導的位置。在步驟320中,系統產生引導資料。在步驟322中,系統將引導資料嵌入使用者資料中。在步驟324中,系統寫入使用者資料以及嵌入的引導資料。
現在參考圖11A-11H,示出了結合本發明的教導的各種範例性實現方式。
現在參考圖11A,本發明的教導可以實現在硬碟驅動器(HDD)900的非揮發性記憶體912中。HDD 900包括硬碟元件(HDA)901和HDD印刷電路板(PCB)902。HAD 901可包括磁性介質903(例如儲存資料的一個或多個碟片)和讀取/寫入元件904。讀取/寫入元件904可以安排在磁頭驅動臂905上,並且可以讀取寫入磁性介質903上的資料。另外,HAD 901包括旋轉磁性介質903的主軸馬達906和磁頭驅動臂905的音圈馬達(VCM)907。放大器元件908在讀取操作期間由讀取/寫入元件904產生的放大信號,並且在寫入操作期間將信號提供給讀取/寫入元件904。
HDD PCB 902包括讀取/寫入通道模組(下文中稱為“讀取通道”)909、硬碟控制器(HDC)模組910、緩衝器911、非揮發性記憶體912、處理器913和主軸/VCM'驅動器模組914。讀取通道909處理從放大器元件908接收的以及向放大器元件908發送的資料。HDC模組910控制HAD 901的元件,並且經由輸入/輸出(I/O)介面915與外部裝置(未示出)通信。外部裝置可包括電腦、多媒體裝置、移動計算裝置等。I/O介面915可包括有線和/或無線通信鏈路。
HDC模組910可以接收來自HDA 901、讀取通道909、緩衝器911、非揮發性記憶體912、處理器913、主軸/VCM驅動器模組914和/或I/O介面915的資料。處理器913可以處理資料,包括編碼、解碼、過濾和/或格式化。處理後的資料可以被輸出到HDA901、讀取通道909、緩衝器911、非揮發性記憶體912、處理器913、主軸/VCM驅動器模組914和/或I/O介面915。
HDC模組910可以使用緩衝器911和/或非揮發性記憶體912來儲存與HDD 900的控制和操作有關的資料。緩衝器911可包括DRAM、SDRAM等。非揮發性記憶體912可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。主軸/VCM驅動器模組914控制主軸馬達906和VCM 907。HDD PCB 902包括向HDD 900的元件供電的電源916。
現在參考圖11B,本發明的教導可以實現在DVD驅動器918或CD驅動器(未示出)的非揮發性記憶體923中。DVD驅動器918包括DVD PCB 919和DVD元件(DVDA)920。DVD PCB 919包括DVD控制模組921、緩衝器922、非揮發性記憶體923、處理器924、主軸/FM(饋送馬達)驅動器模組925、類比前端模組926、寫入策略模組927和DSP模組928。
DVD控制模組921控制DVDA 920的元件,並且經由I/O介面929與外部裝置(未示出)通信。外部裝置可包括電腦、多媒體裝置、移動計算裝置等。I/O介面929可包括有線和/或無線通信鏈路。
DVD控制模組921可以接收來自緩衝器922、非揮發性記憶體923、處理器924、主軸/FM驅動器模組925、類比前端模組926、寫入策略模組927、DSP模組928和/或I/O介面929的資料。處理器924可以處理資料,包括編碼、解碼、過濾和/或格式化。DSP模組928執行信號處理,例如視頻和/或音頻編碼/解碼。處理後的資料可以被輸出到緩衝器922、非揮發性記憶體923、處理器924、主軸/FM驅動器模組925、類比前端模組926、寫入策略模組927、DSP模組928和/或I/O介面929。
DVD控制模組921可以使用緩衝器922和/或非揮發性記憶體923來儲存與DVD驅動器918的控制和操作有關的資料。緩衝器922可包括DRAM、SDRAM等。非揮發性記憶體923可包括 任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。DVD PCB 919包括向DVD驅動器918的元件供電的電源930。
DVDA 920可包括放大器元件931、雷射驅動器932和光學元件933,光學元件933可以是光學讀取/寫入(ORW)元件或光學唯讀取(OR)元件。主軸馬達934旋轉光學儲存介質935,而饋送馬達936相對於光學儲存介質935致動光學元件933。
當從光學儲存介質935讀取資料時,雷射驅動器向光學元件933提供讀取功率。光學元件933檢測來自光學儲存介質935的資料,並將資料發送到放大器元件931。類比前端模組926接收來自放大器元件931的資料,並執行過濾和A/D轉換之類的功能。為了向光學儲存介質935執行寫入,寫入策略模組927將傳送功率層和定時資料發送到雷射驅動器932。雷射驅動器932控制光學元件933向光學儲存介質935寫入資料。
現在參考圖11C,本發明的教導可以實現在高畫質數位電視(HDTV)937的非揮發性記憶體941中。HDTV 937包括HDTV控制模組938、顯示器939、電源940、記憶體941、儲存裝置942、網路介面943和外部介面945。如果網路介面943包括無線區域網路介面,則可包括天線(未示出)。
HDTV 937可以接收來自網路介面943和/或外部介面945的輸入信號,網路介面943和/或外部介面945可以經由電纜、寬頻網際網路和/或衛星發送和接收資料。HDTV控制模組938可以處理輸入信號(包括編碼、解碼、過濾和/或格式化),並產生輸出信號。輸出信號可以被傳輸到顯示器939、記憶體941、儲存裝置942、網路介面943和外部介面945中的一個或多個。
記憶體941可包括隨機存取記憶體(RAM)和/或非揮發性記憶體。非揮發性記憶體可包括任何合適類型的半導體或固態記 憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。儲存裝置942可包括光學儲存驅動器,例如DVD驅動器和/或硬碟驅動器(HDD)。HDTV控制模組938經由網路介面943和/或外部介面945與外部通信。電源940向HDTV 937的元件供電。
現在參考圖11D,本發明的教導可以實現在車輛946的非揮發性記憶體949中。車輛946可包括車輛控制系統947、電源948、記憶體949、儲存裝置950和網路介面952。如果網路介面952包括無線區域網路介面,則可包括天線(未示出)。車輛控制系統947可以是傳動系控制系統、車體控制系統、娛樂控制系統、防鎖死剎車系統(ABS)、導航系統、無線數據通訊系統、車道偏離系統、主動車距控制巡航系統等。
車輛控制系統947可以與一個或多個感測器954通信,並產生一個或多個輸出信號956。感測器954可包括溫度感測器、加速度感測器、壓強感測器、旋轉感測器、氣流感測器等。輸出信號956可以控制引擎工作參數、傳動工作參數、懸吊參數等。
電源948向車輛946的元件供電。車輛控制系統947可以將資料儲存在記憶體949和/或儲存裝置950中。記憶體949可包括隨機存取記憶體(RAM)和/或非揮發性記憶體。非揮發性記憶體可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。儲存裝置950可包括光學儲存驅動器,例如DVD驅動器和/或硬碟驅動器(HDD)。車輛控制系統947可以利用網路介面952與外部通信。
現在參考圖11E,本發明的教導可以實現在行動電話958的非揮發性記憶體964中。行動電話958包括電話控制模組960、電源962、記憶體964、儲存裝置966和行動網路介面967。行動電 話958可包括網路介面968、麥克風970、諸如揚聲器和/或輸出插孔之類的音頻輸出972、顯示器974和諸如鍵盤和/或指向裝置之類的使用者輸入裝置976。如果網路介面968包括無線區域網路介面,則可包括天線(未示出)。
電話控制模組960可以接收來自行動網路介面967、網路介面968、麥克風970和/或使用者輸入裝置976的輸入信號。電話控制模組960可以處理輸入信號(包括編碼、解碼、過濾和/或格式化),並產生輸出信號。輸出信號可以被傳輸到記憶體964、儲存裝置966、行動網路介面967、網路介面968和音頻輸出972中的一個或多個。
記憶體964可包括隨機存取記憶體(RAM)和/或非揮發性記憶體。非揮發性記憶體可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。儲存裝置976可包括光學儲存驅動器,例如DVD驅動器和/或硬碟驅動器(HDD)。電源962向行動電話958的元件供電。
現在參考圖11F,本發明的教導可以實現在機頂盒978的非揮發性記憶體中。機頂盒978包括機頂盒控制模組980、顯示器981、電源982、記憶體983、儲存裝置984和網路介面985。如果網路介面985包括無線區域網路介面,則可包括天線(未示出)。
機頂盒控制模組980可以接收來自網路介面985和外部介面987的輸入信號,網路介面985和外部介面987可以經由電纜、寬頻網際網路和/或衛星發送和接收資料。機頂盒控制模組980可以處理信號(包括編碼、解碼、過濾和/或格式化),並產生輸出信號。輸出信號可包括標準和/或高清晰度格式的音頻和/或視頻信號。輸出信號可以被傳輸到網路介面985和/或顯示器981。顯示器981可包括電視、投影儀和/或監視器。
電源982向機頂盒978的元件供電。記憶體983可包括隨機 存取記憶體(RAM)和/或非揮發性記憶體。非揮發性記憶體可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。儲存裝置984可包括光學儲存驅動器,例如DVD驅動器和/或硬碟驅動器(HDD)。
現在參考圖11G,本發明的教導可以實現在行動裝置989的非揮發性記憶體992中。行動裝置989可包括行動裝置控制模組990、電源991、記憶體992、儲存裝置993、網路介面994和外部介面999。如果網路介面994包括無線區域網路介面,則可包括天線(未示出)。
行動裝置控制模組990可以接收來自網路介面994和/或外部介面999的輸入信號。外部介面999可包括USB、紅外和/或乙太網路。輸入信號可包括經壓縮的音頻和/或視頻,並且可以符合MP3格式。另外,行動裝置控制模組990可以接收來自諸如鍵盤、觸控板或各個按鈕之類的使用者輸入996的輸入。行動裝置控制模組990可以處理輸入信號(包括編碼、解碼、過濾和/或格式化),並產生輸出信號。
行動裝置控制模組990可以向音頻輸出997輸出音頻信號,並向顯示器998輸出視頻信號。音頻輸出997可包括揚聲器和/或輸出插孔。顯示器998可以呈現圖形使用者介面,圖形使用者介面可包括功能表、圖示等。電源991向行動裝置989的元件供電。記憶體992可包括隨機存取記憶體(RAM)和/或非揮發性記憶體。
非揮發性記憶體可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。儲存裝置993可包括光學儲存驅動器,例如DVD驅動器和/或硬碟驅動器(HDD)。行動裝置可包括個人數位助理、媒體播放器、筆記型電 腦、遊戲控制臺或其他行動計算裝置。
現在參考圖11H,本發明的教導可以實現在固態儲存裝置1066的非揮發性記憶體中。固態儲存裝置1066包括記憶體控制模組1072和非揮發性記憶體1068。記憶體控制模組1072可以與主機裝置1070通信。非揮發性記憶體1068可包括任何合適類型的半導體或固態記憶體,例如快閃記憶體(包括NAND和NOR快閃記憶體)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體,在多態記憶體中每個記憶體單元具有多於兩種狀態。記憶體控制模組1072可以經由寫入和讀取路徑模組1073、1075與非揮發性記憶體1068通信,寫入和讀取路徑模組1073、1075分別對記憶體單元的一個或多個陣列1078-1、1078-2、…和1078-X進行寫入和讀取操作,每個陣列可以對應於一個或多個記憶體晶片。
本領域技術人員現在可以從前述描述中意識到,本發明的廣泛教導可以以多種形式實現。因此,儘管該公開包括了特定示例,但是本發明的真實範圍不應當受限於此,因為本領域技術人員在研究附圖、說明書和申請專利範圍之後將清楚其他修改。
10‧‧‧半導體記憶體
16‧‧‧陣列
18‧‧‧塊
20、20-1、20-2~20-P‧‧‧頁
24‧‧‧資料部份
26‧‧‧間接資料部份
48‧‧‧記憶塊
50-1、50-2~50-9‧‧‧物理頁
46-1、46-1~46-Y~46-(Y+Z)‧‧‧記憶體單元
51-1~51-3‧‧‧邏輯頁
68‧‧‧非揮發性記憶體
70‧‧‧主機裝置
72‧‧‧記憶體控制模組
78-1、78-2~78-A‧‧‧陣列
80‧‧‧記憶塊
82-1、82-2~82-Q‧‧‧物理頁
90‧‧‧資料部份
92‧‧‧間接資料部份
118‧‧‧寫入模組
120‧‧‧讀取模組
115‧‧‧信號處理模組
110‧‧‧格式模組
112‧‧‧引導位置模組
114‧‧‧確定類型模組
116‧‧‧引導程式模組
170、180、190、210、230、240‧‧‧物理記憶體空間
172、174‧‧‧引導裝置
176、178、182、184、186、188、192、194、196、198、212、214、 216、218、220、232、234、236、238、242、244、246、248‧‧‧位置
300‧‧‧流程
302、304、306、308、312、314、316、320、322、324‧‧‧步驟
900‧‧‧硬碟驅動器(HDD)
901‧‧‧硬碟元件(HDA)
902、919‧‧‧印刷電路板
903‧‧‧磁性介質
904‧‧‧讀取/寫入元件
905‧‧‧磁頭驅動臂
906、934‧‧‧主軸馬達
907‧‧‧音圈馬達(VCM)
908、931‧‧‧放大器元件
909‧‧‧讀取/寫入通道模組(讀取通道)
910‧‧‧硬碟控制器(HDC)模組
911、922‧‧‧緩衝器
912、923‧‧‧NV記憶體
913、924‧‧‧處理器
914‧‧‧主軸/VCM驅動器模組
915、929‧‧‧輸入/輸出(I/O)介面
916、930、940、948、962、982、991‧‧‧電源
918‧‧‧DVD驅動器
920‧‧‧DVD元件
921‧‧‧DVD控制模組
925‧‧‧主軸/FM驅動器模組
926‧‧‧類比前端模組
927‧‧‧寫入策略模組
928‧‧‧DSP模組
932‧‧‧雷射驅動器
933‧‧‧光學元件
935‧‧‧光學儲存介質
936‧‧‧饋送馬達
937‧‧‧高畫質數位電視(HDTV)
938‧‧‧HDTV控制模組
939、974、981、998‧‧‧顯示器
941、949、964、983、992‧‧‧記憶體
942、950、966、984、993‧‧‧儲存裝置
943、952、968、985、994‧‧‧網路介面
945、987、999‧‧‧外部介面
946‧‧‧車輛
947‧‧‧車輛控制系統
954‧‧‧感測器
956‧‧‧輸出信號
958‧‧‧行動電話
960‧‧‧電話控制模組
967‧‧‧行動網路介面
970‧‧‧麥克風
972、497‧‧‧音頻輸出
976‧‧‧使用者輸入裝置
978‧‧‧機頂盒
980‧‧‧機頂盒控制模組
989‧‧‧行動裝置
990‧‧‧行動裝置控制模組
996‧‧‧使用者輸入
1066‧‧‧固態儲存裝置
1068‧‧‧非揮發性記憶體
1070‧‧‧主機裝置
1072‧‧‧記憶體控制裝置
1073‧‧‧寫入路徑模組
1075‧‧‧讀取路徑模組
1078、1078-2~1078-X‧‧‧陣列
圖1 是根據習知技術包括塊的記憶體的功能方塊圖;圖2A 說明了根據習知技術記憶體的塊內的頁;圖2B 說明了根據習知技術頁內的記憶體單元;圖2C 說明了根據習知技術安排在記憶體塊中的記憶體單元;圖2D 說明了根據習知技術安排在記憶體塊中的記憶體單元;圖3A 是根據本發明具有記憶體控制模組的記憶體系統的功能方塊圖;圖3B 說明了包括具有可變密度、頁長度和/或間接的頁的記憶體塊;圖3C 說明了包括與資料部份和間接部份相關聯的記憶體單元的頁;圖3D 是更詳細的圖3A的記憶體系統的範例性功能方塊圖;圖3E 說明了範例性引導位置模組;圖4 是圖示說明根據本發明的物理記憶體空間的視圖;圖5 是圖示說明根據本發明的物理記憶體空間的視圖;圖6 是圖示說明根據本發明的物理記憶體空間的視圖;圖7 是圖示說明根據本發明的物理記憶體空間的視圖;圖8 是圖示說明根據本發明的物理記憶體空間的視圖;圖9 是圖示說明根據本發明的物理記憶體空間的視圖;圖10 是圖示說明根據本發明的非揮發性記憶體的操作流程圖;圖11A 是硬碟驅動器的功能方塊圖;圖11B 是DVD驅動器的功能方塊圖;圖11C 是高畫質數位電視的功能方塊圖;圖11D 是車輛控制系統的功能方塊圖;圖11E 是行動電話的功能方塊圖;圖11F 是機頂盒的功能方塊圖;圖11G 是行動裝置的功能方塊圖;以及圖11H 是固態儲存裝置的功能方塊圖。
66‧‧‧記憶體系統
68‧‧‧非揮發性記憶體
70‧‧‧主機裝置
72‧‧‧記憶體控制模組
78-1、78-2~78-A‧‧‧陣列
80-1、80-2~80-A‧‧‧記憶塊

Claims (41)

  1. 一種記憶體控制模組,包括:格式模組,所述格式模組與包括B個記憶體塊的記憶體陣列連接,每個記憶體塊包括P個物理頁和Q個邏輯頁,並且所述格式模組在所述B個記憶體塊中的每一個選擇X個預定位置以寫入引導資料並讀回引導信號,其中所述引導資料包括預定的資料模式其係不受使用者資料支配,且其中B、P、Q和X是大於或等於1的整數;以及信號處理模組,所述信號處理模組將所寫入的引導資料與所讀回的引導信號相比較,並根據所述比較結果確定所寫入的引導資料和所讀取回的引導信號之間的差異。
  2. 如申請專利範圍第1項所述的記憶體控制模組,其中所述之引導資料在所述記憶體陣列的讀取、寫入和擦除操作期間被嵌入到使用者資料中。
  3. 如申請專利範圍第1項所述的記憶體控制模組,其中所述之格式模組選擇性地設置所述Q個邏輯頁中的每一個的開始和結束之一。
  4. 如申請專利範圍第1項所述的記憶體控制模組,其中所述之格式模組選擇性地設置所述P個物理頁中的每一個的開始和結束之一。
  5. 如申請專利範圍第1項所述的記憶體控制模組,還包括寫入模組和讀取模組中的至少一個,所述寫入模組選擇性地將包括所述引導資料的資料寫入到所述記憶體陣列,所述讀取模組選擇性地從所述記憶體陣列讀取回所述資料。
  6. 如申請專利範圍第1項所述的記憶體控制模組,其中所述之信號處理模組執行以下操作中的至少一種:在後續讀取/寫入操作中忽略所述差異,以及在後續讀取/寫入操作中不對發生所述差異的所述記憶體陣列中的所述位置進行寫入/讀取操作。
  7. 如申請專利範圍第6項所述的記憶體控制模組,其中所述差異至少部份地是由於對所述記憶體陣列的物理干擾和所述記憶體陣列內的缺陷之一引起的。
  8. 如申請專利範圍第1項所述的記憶體控制模組,包括設置所述X個預定位置中的M個的引導位置模組,其中所述之Q個邏輯頁中的每一個包括開始和結束之一,並且其中所述M個預定位置對於所述Q個邏輯頁中的每一個來說相對於所述開始和結束是相同的,其中M是大於或等於1的整數。
  9. 如申請專利範圍第8項所述的記憶體控制模組,其中所述之引導位置模組將所述M個預定位置中的至少一個設置在所述Q個邏輯頁中的每一個內的所述開始、所述結束和某一位置。
  10. 如申請專利範圍第9項所述的記憶體控制模組,其中所述之位置包括所述Q個邏輯頁中的每一個的中間。
  11. 如申請專利範圍第9項所述的記憶體控制模組,其中所述之引導位置模組在所述Q個邏輯頁中的每一個內按預定模式設置所述M個預定位置。
  12. 如申請專利範圍第9項所述的記憶體控制模組,其中所 述之引導位置模組將所述M個預定位置中的所述至少一個設置在所述開始,並且將所述M個預定位置中的至少另一個設置在緊鄰所述結束。
  13. 如申請專利範圍第1項的記憶體控制模組,還包括設置所述X個預定位置中的M個的引導位置模組,其中所述之P個物理頁中的每一個包括開始和結束之一,並且其中所述M個預定位置對於所述P個物理頁中的每一個來說相對於所述開始和結束是相同的,其中M是大於或等於1的整數。
  14. 如申請專利範圍第13項所述的記憶體控制模組,其中所述之引導位置模組將所述M個預定位置中的至少一個設置在所述P個物理頁中的每一個內的所述開始、所述結束和某一位置。
  15. 如申請專利範圍第14項所述的記憶體控制模組,其中所述之位置包括所述P個物理頁中的每一個的中間。
  16. 如申請專利範圍第14項所述的記憶體控制模組,其中所述之引導位置模組在所述P個物理頁中的每一個內按預定模式設置所述M個預定位置。
  17. 如申請專利範圍第14項所述的記憶體控制模組,其中所述之引導位置模組將所述M個預定位置中的所述至少一個設置在所述開始,並且將所述M個預定位置中的至少另一個設置在緊鄰所述結束。
  18. 一種記憶體系統,包括如申請專利範圍第1項所述的記憶體控制模組並且還包括所述記憶體陣列。
  19. 如申請專利範圍第18項所述的記憶體系統,其中所述之記憶體陣列包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。
  20. 如申請專利範圍第18項所述的記憶體系統,其中所述之格式模組產生所述記憶體陣列的記憶體圖像。
  21. 如申請專利範圍第20項所述的記憶體系統,其中所述之格式模組執行至少一種以下操作:將所述記憶體圖像校正為所述記憶體陣列中發生所述差異的指示部份中的至少一個,以及不再繼續使用所述記憶體陣列中發生所述差異的所述部份。
  22. 一種用於操作記憶體控制模組的方法,包括:在記憶體陣列的B個記憶體塊中的每一個中選擇X個預定位置來寫入引導資料和讀回引導信號,其中所述之B個記憶體塊中的每一個包括P個物理頁和Q個邏輯頁,其中所述引導資料包括預定的資料模式其係不受使用者資料支配,且其中B、P、Q和X是大於或等於1的整數;將所寫入的引導資料與所讀回的引導信號相比較;以及根據所述比較結果確定所寫入的引導資料和所讀回的引導信號之間的差異。
  23. 如申請專利範圍第22項所述之方法,還包括讀取、寫入和擦除嵌入在使用者資料中的引導資料。
  24. 如申請專利範圍第22項所述之方法,還包括選擇性地設置所述Q個邏輯頁中的每一個的開始和結束之一。
  25. 如申請專利範圍第22項所述之方法,還包括選擇性地設置所述P個物理頁中的每一個的開始和結束之一。
  26. 如申請專利範圍第22項所述之方法,還包括選擇性地將包括所述引導資料的資料寫入到所述記憶體陣列和選擇性地從所述記憶體陣列讀回所述資料中的至少一種。
  27. 如申請專利範圍第22項所述之方法,其中所述之信號處理模組還包括以下操作中的至少一種:如後續讀取/寫入操作中忽略所述差異,以及在後續讀取/寫入操作中不對發生所述差異的所述記憶體陣列中的所述位置進行寫入/讀取操作。
  28. 如申請專利範圍第27項所述之方法,其中所述差異至少部份地是由於對所述記憶體陣列的物理干擾和所述記憶體陣列內的缺陷之一引起的。
  29. 如申請專利範圍第22項所述之方法,還包括設置所述X個預定位置中的M個,其中所述Q個邏輯頁中的每一個包括開始和結束之一,並且其中所述M個預定位置對於所述Q個邏輯頁中的每一個來說相對於所述開始和結束是相同的,其中M是大於或等於1的整數。
  30. 如申請專利範圍第29項所述之方法,還包括將所述M個預位置中的至少一個設置在所述Q個邏輯頁中的每一個 內的所述開始、所述結束和某一位置。
  31. 如申請專利範圍第30項所述之方法,其中所述之位置包括所述Q個邏輯頁中的每一個的中間。
  32. 如申請專利範圍第30項所述之方法,還包括在所述Q個邏輯頁中的每一個內按預定模式設置所述M個預定位置。
  33. 如申請專利範圍第30項所述之方法,還包括:將所述M個預定位置中的至少一個設置在所述開始;以及將所述M個預定位置中的至少另一個設置在緊鄰所述結束。
  34. 如申請專利範圍第22項所述之方法,還包括設置所述X個預定位置中的M個,其中所述之P個物理頁中的每一個包括開始和結束之一,並且其中所述之M個預定位置對於所述P個物理頁中的每一個來說相對於所述開始和結束是相同的,其中M是大於或等於1的整數。
  35. 如申請專利範圍第34項所述之方法,還包括將所述M個預位置中的至少一個設置在所述P個物理頁中的每一個內所述開始、所述結束和某一位置。
  36. 如申請專利範圍第35項所述之方法,其中所述之位置包括所述P個物理頁中的每一個的中間。
  37. 如申請專利範圍第35項所述之方法,還包括在所述P個物理頁中的每一個按預定模式設置內所述M個預定位置。
  38. 如申請專利範圍第35項所述之方法,還包括:將所述M個預定位置中的至少一個設置在所述開始;以及將所述M個預定位置中的至少另一個設置在緊鄰所述結束。
  39. 如申請專利範圍第22項所述之方法,其中所述之記憶體陣列包括快閃記憶體、靜態隨機存取記憶體(SRAM)、氮化物唯讀取記憶體(NROM)、相變記憶體、磁阻式隨機存取記憶體(Magnetic RAM)和多態記憶體中的至少一種。
  40. 如申請專利範圍第22項所述之方法,還包括產生所述記憶體陣列的記憶體圖像。
  41. 如申請專利範圍第40項所述之方法,還包括以下操作中的至少一種:如所述記憶體圖像校正為所述記憶體陣列中發生所述差異至少一個的指示部份中,以及不再繼續使用所述記憶體陣列中發生所述差異的部份。
TW97104818A 2007-02-12 2008-02-12 用於非揮發性記憶體之導引設置 TWI473109B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88944107P 2007-02-12 2007-02-12
US12/029,134 US8316206B2 (en) 2007-02-12 2008-02-11 Pilot placement for non-volatile memory

Publications (2)

Publication Number Publication Date
TW200842890A TW200842890A (en) 2008-11-01
TWI473109B true TWI473109B (zh) 2015-02-11

Family

ID=39686854

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97104818A TWI473109B (zh) 2007-02-12 2008-02-12 用於非揮發性記憶體之導引設置

Country Status (4)

Country Link
US (3) US8316206B2 (zh)
CN (1) CN101652753B (zh)
TW (1) TWI473109B (zh)
WO (1) WO2008100529A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2083541A3 (en) * 2008-01-28 2013-07-10 Core Logic, Inc. Apparatus and method for estimating the channel in orthogonal frequency division multiplexing communication systems
US8180954B2 (en) * 2008-04-15 2012-05-15 SMART Storage Systems, Inc. Flash management using logical page size
US8566505B2 (en) * 2008-04-15 2013-10-22 SMART Storage Systems, Inc. Flash management using sequential techniques
US8028123B2 (en) * 2008-04-15 2011-09-27 SMART Modular Technologies (AZ) , Inc. Circular wear leveling
US20090259806A1 (en) * 2008-04-15 2009-10-15 Adtron, Inc. Flash management using bad page tracking and high defect flash memory
US8185778B2 (en) * 2008-04-15 2012-05-22 SMART Storage Systems, Inc. Flash management using separate metadata storage
US9159422B1 (en) * 2011-04-12 2015-10-13 Sk Hynix Memory Solutions Inc. Cross page management to avoid NAND physical page size limitation
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9653184B2 (en) 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
US8976609B1 (en) 2014-06-16 2015-03-10 Sandisk Enterprise Ip Llc Low-test memory stack for non-volatile storage
US9613715B2 (en) 2014-06-16 2017-04-04 Sandisk Technologies Llc Low-test memory stack for non-volatile storage
GB201701747D0 (en) * 2017-02-02 2017-03-22 Blancco Tech Group Ip Oy Intelligent verification of cryptographic erase and other firmware erasure processes
CN117270963A (zh) * 2022-06-14 2023-12-22 瑞昱半导体股份有限公司 开机数据读取系统、方法以及处理电路
CN114845100B (zh) * 2022-07-04 2023-04-14 苏州浪潮智能科技有限公司 一种视频压缩系统、方法、设备、介质、芯片及服务器

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279133B1 (en) * 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
US20030156454A1 (en) * 2002-02-21 2003-08-21 Jian Wei Direct memory swapping between NAND flash and SRAM with error correction coding
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US20040123020A1 (en) * 2000-11-22 2004-06-24 Carlos Gonzalez Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US20050289444A1 (en) * 2004-06-25 2005-12-29 Klein Dean A Low power cost-effective ECC memory system and method
US20060155921A1 (en) * 2004-12-16 2006-07-13 Gorobets Sergey A Non-volatile memory and method with multi-stream update tracking
US20060161722A1 (en) * 2004-12-16 2006-07-20 Bennett Alan D Scratch pad block

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225693A (ja) * 1992-02-14 1993-09-03 Sony Corp ディジタル信号処理回路
CN1180429A (zh) * 1995-04-04 1998-04-29 记忆体公共有限公司 存储器管理
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6487685B1 (en) * 1999-09-30 2002-11-26 Silicon Graphics, Inc. System and method for minimizing error correction code bits in variable sized data formats
US6564346B1 (en) * 1999-12-07 2003-05-13 Infineon Technologies Richmond, Lp. Advanced bit fail map compression with fail signature analysis
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
KR100634356B1 (ko) * 2004-05-12 2006-10-16 삼성전자주식회사 메인 데이터를 안전하게 로딩하는 메모리 시스템 및 그것의 데이터 로딩 방법
JP4408783B2 (ja) 2004-09-29 2010-02-03 Necエレクトロニクス株式会社 復号装置及び復号方法
US7779338B2 (en) * 2005-07-21 2010-08-17 Realtek Semiconductor Corp. Deinterleaver and dual-viterbi decoder architecture
US7469368B2 (en) * 2005-11-29 2008-12-23 Broadcom Corporation Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US7561482B2 (en) * 2006-09-07 2009-07-14 Sandisk Corporation Defective block isolation in a non-volatile memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279133B1 (en) * 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
US20040123020A1 (en) * 2000-11-22 2004-06-24 Carlos Gonzalez Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US20030156454A1 (en) * 2002-02-21 2003-08-21 Jian Wei Direct memory swapping between NAND flash and SRAM with error correction coding
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US20050289444A1 (en) * 2004-06-25 2005-12-29 Klein Dean A Low power cost-effective ECC memory system and method
US20060155921A1 (en) * 2004-12-16 2006-07-13 Gorobets Sergey A Non-volatile memory and method with multi-stream update tracking
US20060161722A1 (en) * 2004-12-16 2006-07-20 Bennett Alan D Scratch pad block

Also Published As

Publication number Publication date
US8316206B2 (en) 2012-11-20
US8732432B2 (en) 2014-05-20
US9594630B2 (en) 2017-03-14
WO2008100529A3 (en) 2008-11-27
TW200842890A (en) 2008-11-01
CN101652753A (zh) 2010-02-17
CN101652753B (zh) 2013-06-05
US20140325179A1 (en) 2014-10-30
US20130080729A1 (en) 2013-03-28
US20080195822A1 (en) 2008-08-14
WO2008100529A2 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
TWI473109B (zh) 用於非揮發性記憶體之導引設置
TWI478171B (zh) 非揮發性記憶體系統
US8166271B2 (en) Memory controller for setting page length and memory cell density for semiconductor memory
CN107123441B (zh) 数据存储装置及其操作方法
US9766974B2 (en) Data storage device and data access-method
US20140325118A1 (en) Data writing method, memory controller and memory storage apparatus
US20200218653A1 (en) Controller, data storage device, and operating method thereof
US10545689B2 (en) Data storage device and operating method thereof
US20130019054A1 (en) Flash memory device and method performing erase operation using over program
US10432230B2 (en) Error detection or correction of a portion of a codeword in a memory device
US20150095575A1 (en) Cache migration management method and host system applying the method
KR20190019543A (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI679641B (zh) 非揮發性記憶體裝置和操作方法及包括其的資料存儲裝置
US20110035636A1 (en) Data storage device and method for writing test data to a memory
US9588708B2 (en) Semiconductor memory device, operating method thereof, and data storage device including the same
US20170090768A1 (en) Storage device that performs error-rate-based data backup
US11482291B2 (en) Memory device and method of operating the same

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees