JP6201242B2 - Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ - Google Patents
Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ Download PDFInfo
- Publication number
- JP6201242B2 JP6201242B2 JP2015500584A JP2015500584A JP6201242B2 JP 6201242 B2 JP6201242 B2 JP 6201242B2 JP 2015500584 A JP2015500584 A JP 2015500584A JP 2015500584 A JP2015500584 A JP 2015500584A JP 6201242 B2 JP6201242 B2 JP 6201242B2
- Authority
- JP
- Japan
- Prior art keywords
- stripe
- storage medium
- page
- data
- pages
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
M*(バイト内のページサイズ)=N*(バイト内のAUサイズ) (1)
しかしながら、実際には、(1)式を満たすのに必要なM及び/又はNの値は、非常に大きいか、他の場合は実装にとって実際的でない。しかし、上記の(1)式を満たさないM及びNの値が用いられる場合でも、記憶媒体は依然として、ストライプフレームワークに基づいて、個々のAUがページに渡って突破できないスキームの場合より効率的に利用される。これは以下で説明される。
Stripe_Size_Write = AU_Size × Page_Cnt
Waste_Percentage = 100(Waste_Bytes/Stripe_Size_Write) 例えば、不使用バイトの数が4,248バイトであり、ストライプサイズが27,648バイトである場合、不使用割合はおよそ15パーセントと決定される。550において、540で決定された不使用割合が予め指定された値(例えば、1パーセント、3パーセント又は5パーセント)より小さいかが判断される。不使用割合が予め指定された値より小さいと560で判断された場合、処理500は570に進み、ファームウェアは、ストライプが、ページカウンタPage_Cntの現在の値に等しいページ数を含むことになると判断する。一方、不使用割合が予め指定された値より大きいと560で判断された場合、処理500は580に進み、ページカウンタが値1でインクリメントされる。この後者の場合、処理500は530に進む。
[項目1]
記憶媒体にデータを書き込むシステムであって、前記システムは、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続し、前記ストライプが前記記憶媒体の複数のページを有するインタフェース回路と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する区画化回路と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む書き込み回路と
を備え、
前記複数のAUの各AUは、予め定められたバイト長を持つ
システム。
[項目2]
前記書き込み回路は、前記複数のページの順序付けされたシーケンスに基づいて、前記複数のAUを前記ストライプに書き込む
項目1に記載のシステム。
[項目3]
前記書き込み回路は、書き込みバッファを有し、前記書き込み回路は、前記ストライプの長さに等しいデータ量が前記書き込みバッファ内に蓄積した後に前記記憶媒体に書き込む
項目1又は2に記載のシステム。
[項目4]
前記複数のページは、複数の記憶デバイスに配置されている
項目1から3のいずれか1項に記載のシステム。
[項目5]
前記書き込み回路は、前記1又は複数のデータ転送チャネルのうちの1つめのデータ転送チャネルを用いて前記複数のページのうちの1つめにアクセスし、前記1又は複数のデータ転送チャネルのうちの2つめを用いて前記複数のページのうちの2つめにアクセスする
項目1から4のいずれか1項に記載のシステム。
[項目6]
前記複数のAUの各AUは、前記1又は複数のデータ転送チャネルからの最大2つのデータ転送チャネルに関連付けられ、前記2つのデータ転送チャネルは隣接している
項目1から5のいずれか1項に記載のシステム。
[項目7]
訂正回路
を更に備え、
前記訂正回路は、
前記記憶媒体に記憶されたデータを読み出し、
前記読み出しデータ中の複数の未書き込みのバイトを検出し、
前記読み出しデータを、前記記憶媒体に再書き込みし、
前記再書き込みは、前記複数の未書き込みのバイトに渡って書き込む
項目1から6のいずれか1項に記載のシステム。
[項目8]
前記記憶媒体のストライプに記憶されているデータを読み出して、前記読み出されたデータに対応する誤り訂正シーケンスを計算する誤り訂正回路(ECC回路)
を更に備える項目1から7のいずれか1項に記載のシステム。
[項目9]
前記書き込み回路は、前記誤り訂正シーケンスを受信し、前記誤り訂正シーケンスを前記記憶媒体の前記ストライプの最後のページに書き込む
項目8に記載のシステム。
[項目10]
前記書き込み回路は、前記ストライプの第2部分に書き込まれない状態にしたまま、前記複数のAUを前記ストライプの第1部分に書き込む
項目1から9のいずれか1項に記載のシステム。
[項目11]
記憶媒体にデータを書き込む方法であって、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続する段階であって、前記ストライプが前記記憶媒体の複数のページを有する段階と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する段階と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む段階と
を備え、
前記複数のAUの各AUは、予め定められたバイト長を持つ
方法。
[項目12]
前記複数のページの順序付けされたシーケンスに基づいて、前記複数のAUを前記ストライプに書き込む段階
を更に備える項目11に記載の方法。
[項目13]
前記ストライプの長さに等しいデータ量が書き込みバッファ内に蓄積したとの判断に応じて前記記憶媒体に書き込む段階
を更に備える項目11又は12に記載の方法。
[項目14]
前記複数のページは、複数の記憶デバイスに配置されている
項目11から13のいずれか1項に記載の方法。
[項目15]
前記1又は複数のデータ転送チャネルのうちの1つめのデータ転送チャネルを用いて前記複数のページのうちの1つめにアクセスし、前記1又は複数のデータ転送チャネルのうちの2つめを用いて前記複数のページのうちの2つめにアクセスする段階
を更に備える項目11から14のいずれか1項に記載の方法。
[項目16]
前記複数のAUの各AUは、前記1又は複数のデータ転送チャネルからの最大2つのデータ転送チャネルに関連付けられ、前記2つのデータ転送チャネルは隣接している
項目11から15のいずれか1項に記載の方法。
[項目17]
前記記憶媒体に記憶されたデータを読み出す段階と、
前記読み出しデータ中の複数の未書き込みのバイトを検出する段階と、
前記読み出しデータを、前記記憶媒体に再書き込みする段階と
を更に備え、
前記再書き込みする段階は、前記複数の未書き込みのバイトに渡って書き込む
項目11から16のいずれか1項に記載の方法。
[項目18]
前記記憶媒体のストライプに記憶されているデータを読み出す段階と、
前記読み出されたデータに対応する誤り訂正シーケンスを計算する段階と
を更に備える項目11から17のいずれか1項に記載の方法。
[項目19]
前記誤り訂正シーケンスを受信する段階と、
前記誤り訂正シーケンスを前記記憶媒体の前記ストライプの最後のページに書き込む段階と
を更に備える項目18に記載の方法。
[項目20]
前記ストライプの第2部分に書き込まれない状態にしたまま、前記複数のAUを前記ストライプの第1部分に書き込む段階
を更に備える項目11から19のいずれか1項に記載の方法。
Claims (20)
- 記憶媒体にデータを書き込むシステムであって、前記システムは、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続し、前記ストライプが前記記憶媒体の複数のページを有するインタフェース回路と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する区画化回路と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む書き込み回路と
を備え、
前記複数のAUの各AUは、予め定められた同一のバイト長を持ち、
前記書き込み回路は、前記記憶媒体の前記ストライプに記憶されているデータに対応する誤り訂正シーケンスを受信し、前記誤り訂正シーケンスを前記記憶媒体の前記ストライプの最後のページに書き込むよう構成される
システム。 - 前記書き込み回路は、前記複数のページの順序付けされたシーケンスに基づいて、前記複数のAUを前記ストライプに書き込む
請求項1に記載のシステム。 - 前記書き込み回路は、書き込みバッファを有し、前記書き込み回路は、前記ストライプの長さに等しいデータ量が前記書き込みバッファ内に蓄積した後に前記記憶媒体に書き込む
請求項1又は2に記載のシステム。 - 前記複数のページは、複数の記憶デバイスに配置されている
請求項1から3のいずれか1項に記載のシステム。 - 前記書き込み回路は、前記1又は複数のデータ転送チャネルのうちの1つめのデータ転送チャネルを用いて前記複数のページのうちの1つめにアクセスし、前記1又は複数のデータ転送チャネルのうちの2つめを用いて前記複数のページのうちの2つめにアクセスする
請求項1から4のいずれか1項に記載のシステム。 - 前記複数のAUの各AUは、前記1又は複数のデータ転送チャネルからの最大2つのデータ転送チャネルに関連付けられ、前記2つのデータ転送チャネルは隣接している
請求項1から5のいずれか1項に記載のシステム。 - 訂正回路
を更に備え、
前記訂正回路は、
前記記憶媒体に記憶されたデータを読み出し、
前記読み出しデータ中の複数の未書き込みのバイトを検出し、
前記読み出しデータを、前記記憶媒体に再書き込みし、
前記再書き込みは、前記複数の未書き込みのバイトに渡って書き込む
請求項1から6のいずれか1項に記載のシステム。 - 前記記憶媒体の前記ストライプに記憶されているデータを読み出して、前記読み出されたデータに対応する前記誤り訂正シーケンスを計算する誤り訂正回路(ECC回路)
を更に備える請求項1から7のいずれか1項に記載のシステム。 - 前記書き込み回路は、前記ストライプの第2部分に書き込まれない状態にしたまま、前記複数のAUを前記ストライプの第1部分に書き込む
請求項1から8のいずれか1項に記載のシステム。 - 記憶媒体にデータを書き込むシステムであって、前記システムは、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続し、前記ストライプが前記記憶媒体の複数のページを有するインタフェース回路と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する区画化回路と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む書き込み回路と、
訂正回路であって、
前記記憶媒体に記憶されたデータを読み出し、
前記読み出しデータ中の複数の未書き込みのバイトを検出し、
前記読み出しデータを、前記記憶媒体に再書き込みし、
前記再書き込みは、前記複数の未書き込みのバイトに渡って書き込む、訂正回路と
を備え、
前記複数のAUの各AUは、予め定められた同一のバイト長を持つ
システム。 - 記憶媒体にデータを書き込む方法であって、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続する段階であって、前記ストライプが前記記憶媒体の複数のページを有する段階と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する段階と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む段階と、
前記記憶媒体の前記ストライプに記憶されているデータに対応する誤り訂正シーケンスを受信する段階と、
前記誤り訂正シーケンスを前記記憶媒体の前記ストライプの最後のページに書き込む段階と
を備え、
前記複数のAUの各AUは、予め定められた同一のバイト長を持つ
方法。 - 前記複数のページの順序付けされたシーケンスに基づいて、前記複数のAUを前記ストライプに書き込む段階
を更に備える請求項11に記載の方法。 - 前記ストライプの長さに等しいデータ量が書き込みバッファ内に蓄積したとの判断に応じて前記記憶媒体に書き込む段階
を更に備える請求項11又は12に記載の方法。 - 前記複数のページは、複数の記憶デバイスに配置されている
請求項11から13のいずれか1項に記載の方法。 - 前記1又は複数のデータ転送チャネルのうちの1つめのデータ転送チャネルを用いて前記複数のページのうちの1つめにアクセスし、前記1又は複数のデータ転送チャネルのうちの2つめを用いて前記複数のページのうちの2つめにアクセスする段階
を更に備える請求項11から14のいずれか1項に記載の方法。 - 前記複数のAUの各AUは、前記1又は複数のデータ転送チャネルからの最大2つのデータ転送チャネルに関連付けられ、前記2つのデータ転送チャネルは隣接している
請求項11から15のいずれか1項に記載の方法。 - 前記記憶媒体に記憶されたデータを読み出す段階と、
前記読み出しデータ中の複数の未書き込みのバイトを検出する段階と、
前記読み出しデータを、前記記憶媒体に再書き込みする段階と
を更に備え、
前記再書き込みする段階は、前記複数の未書き込みのバイトに渡って書き込む
請求項11から16のいずれか1項に記載の方法。 - 前記記憶媒体の前記ストライプに記憶されているデータを読み出す段階と、
前記読み出されたデータに対応する前記誤り訂正シーケンスを計算する段階と
を更に備える請求項11から17のいずれか1項に記載の方法。 - 前記ストライプの第2部分に書き込まれない状態にしたまま、前記複数のAUを前記ストライプの第1部分に書き込む段階
を更に備える請求項11から18のいずれか1項に記載の方法。 - 記憶媒体にデータを書き込む方法であって、
1又は複数のデータ転送チャネルを通じて前記記憶媒体のストライプと接続する段階であって、前記ストライプが前記記憶媒体の複数のページを有する段階と、
データストリームを受信して、前記データストリームを複数のアロケーションユニット(複数のAU)に区画化する段階と、
前記複数のAUから選択されたAUのバイトを前記複数のページのうちの第1ページ上の開始バイトから前記複数のページのうちの第2ページ上の終了バイトまで連続して書き込むことによって、前記選択されたAUの第1部分を前記第1ページに書き込み、前記選択されたAUの第2部分を前記第2ページに書き込む段階と、
前記記憶媒体に記憶されたデータを読み出す段階と、
前記読み出しデータ中の複数の未書き込みのバイトを検出する段階と、
前記読み出しデータを前記記憶媒体に再書き込みする段階であって、前記再書き込みする段階が、前記複数の未書き込みのバイトに渡って書き込む、段階と
を備え、
前記複数のAUの各AUは、予め定められた同一のバイト長を持つ
方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261612140P | 2012-03-16 | 2012-03-16 | |
US61/612,140 | 2012-03-16 | ||
PCT/US2013/031114 WO2013138540A1 (en) | 2012-03-16 | 2013-03-14 | Architecture to allow efficient storage of data on nand flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015511040A JP2015511040A (ja) | 2015-04-13 |
JP6201242B2 true JP6201242B2 (ja) | 2017-09-27 |
Family
ID=48014332
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015500584A Active JP6201242B2 (ja) | 2012-03-16 | 2013-03-14 | Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ |
JP2015500592A Active JP6175684B2 (ja) | 2012-03-16 | 2013-03-14 | Nandフラッシュメモリ上のデータの記憶のためのアーキテクチャ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015500592A Active JP6175684B2 (ja) | 2012-03-16 | 2013-03-14 | Nandフラッシュメモリ上のデータの記憶のためのアーキテクチャ |
Country Status (4)
Country | Link |
---|---|
US (2) | US9081668B2 (ja) |
JP (2) | JP6201242B2 (ja) |
CN (2) | CN104246708B (ja) |
WO (2) | WO2013138552A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081668B2 (en) | 2012-03-16 | 2015-07-14 | Marvell World Trade Ltd. | Architecture to allow efficient storage of data on NAND flash memory |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
JP2014199591A (ja) * | 2013-03-29 | 2014-10-23 | 株式会社東芝 | 記憶装置制御システム、記憶装置制御装置及びプログラム |
KR102063566B1 (ko) * | 2014-02-23 | 2020-01-09 | 삼성전자주식회사 | 메시지 운용 방법 및 이를 지원하는 전자 장치 |
CN105843746A (zh) * | 2015-01-12 | 2016-08-10 | 广明光电股份有限公司 | 固态硬盘的写入方法 |
US9940034B2 (en) * | 2016-01-25 | 2018-04-10 | International Business Machines Corporation | Reducing read access latency by straddling pages across non-volatile memory channels |
CN108628752B (zh) * | 2017-03-17 | 2021-10-01 | 北京兆易创新科技股份有限公司 | 一种数据存储方法和装置 |
US10564890B2 (en) * | 2017-07-07 | 2020-02-18 | Seagate Technology Llc | Runt handling data storage system |
CN108319429B (zh) * | 2018-01-10 | 2021-02-19 | 北京思特奇信息技术股份有限公司 | 一种加快文件读取的方法及计算机设备 |
CN108804346A (zh) * | 2018-05-30 | 2018-11-13 | 广东思诺伟智能技术有限公司 | 一种电池soc数据在flash存储器存储的方法 |
US11709623B2 (en) | 2018-08-03 | 2023-07-25 | Sk Hynix Nand Product Solutions Corp. | NAND-based storage device with partitioned nonvolatile write buffer |
KR20200053204A (ko) | 2018-11-08 | 2020-05-18 | 삼성전자주식회사 | 저장 장치, 저장 장치의 동작 방법 및 저장 장치를 제어하는 호스트의 동작 방법 |
CN109976673B (zh) * | 2019-03-29 | 2023-04-25 | 新华三技术有限公司 | 一种数据写入方法和装置 |
CN111984441B (zh) | 2019-05-21 | 2023-09-22 | 慧荣科技股份有限公司 | 瞬间断电回复处理方法及装置以及计算机可读取存储介质 |
US11693594B2 (en) * | 2021-03-29 | 2023-07-04 | Micron Technology, Inc. | Zone striped zone namespace memory |
US11347609B1 (en) * | 2021-04-29 | 2022-05-31 | International Business Machines Corporation | Failed media channel recovery throttling |
CN113448778A (zh) * | 2021-07-15 | 2021-09-28 | 华东师范大学 | 一种混合式ssd中关键数据的备份方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2509297B2 (ja) * | 1987-08-31 | 1996-06-19 | 沖電気工業株式会社 | 自己訂正機能付半導体記憶装置及びマイクロコンピュ―タ |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | 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 |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US6985995B2 (en) * | 2002-03-29 | 2006-01-10 | Panasas, Inc. | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data |
US8321650B2 (en) | 2003-01-13 | 2012-11-27 | Emulex Design & Manufacturing Corporation | Alignment-unit-based virtual formatting methods and devices employing the methods |
JP3884722B2 (ja) * | 2003-04-28 | 2007-02-21 | Necトーキン株式会社 | データ管理方法、プログラム及び半導体装置 |
JP2006107311A (ja) | 2004-10-08 | 2006-04-20 | Hitachi Ltd | ディスクアレイ装置およびその制御方法 |
JP4135747B2 (ja) * | 2006-04-06 | 2008-08-20 | ソニー株式会社 | データ処理装置及びフラッシュメモリへのアクセス方法 |
US8019959B2 (en) * | 2007-02-09 | 2011-09-13 | Marvell World Trade Ltd. | Nonvolatile memory system |
US7904749B2 (en) * | 2008-10-24 | 2011-03-08 | Hitachi, Ltd. | Fast data recovery from HDD failure |
WO2010054410A2 (en) * | 2008-11-10 | 2010-05-14 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for predicting failures in solid-state storage |
US8438455B2 (en) * | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
CN102193745B (zh) * | 2010-03-05 | 2015-01-14 | 群联电子股份有限公司 | 快闪存储器储存装置、其控制器与写入管理方法 |
JP4940322B2 (ja) * | 2010-03-16 | 2012-05-30 | 株式会社東芝 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
US8726126B2 (en) * | 2010-03-23 | 2014-05-13 | Apple Inc. | Non-regular parity distribution detection via metadata tag |
US20110258380A1 (en) | 2010-04-19 | 2011-10-20 | Seagate Technology Llc | Fault tolerant storage conserving memory writes to host writes |
US9081668B2 (en) | 2012-03-16 | 2015-07-14 | Marvell World Trade Ltd. | Architecture to allow efficient storage of data on NAND flash memory |
-
2013
- 2013-03-14 US US13/804,099 patent/US9081668B2/en active Active
- 2013-03-14 WO PCT/US2013/031182 patent/WO2013138552A1/en active Application Filing
- 2013-03-14 JP JP2015500584A patent/JP6201242B2/ja active Active
- 2013-03-14 CN CN201380019643.4A patent/CN104246708B/zh active Active
- 2013-03-14 US US13/804,113 patent/US9158675B2/en active Active
- 2013-03-14 CN CN201380019240.XA patent/CN104220991B/zh active Active
- 2013-03-14 WO PCT/US2013/031114 patent/WO2013138540A1/en active Application Filing
- 2013-03-14 JP JP2015500592A patent/JP6175684B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
WO2013138540A1 (en) | 2013-09-19 |
JP2015512110A (ja) | 2015-04-23 |
CN104246708A (zh) | 2014-12-24 |
US9081668B2 (en) | 2015-07-14 |
US9158675B2 (en) | 2015-10-13 |
CN104220991B (zh) | 2017-08-29 |
CN104220991A (zh) | 2014-12-17 |
WO2013138552A1 (en) | 2013-09-19 |
US20130246892A1 (en) | 2013-09-19 |
US20130246890A1 (en) | 2013-09-19 |
CN104246708B (zh) | 2017-12-05 |
JP2015511040A (ja) | 2015-04-13 |
JP6175684B2 (ja) | 2017-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6201242B2 (ja) | Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ | |
US12032438B2 (en) | SSD architecture supporting low latency operation | |
US10558383B2 (en) | Storage system | |
US9632880B2 (en) | Data storage device and flash memory control method | |
US8806108B2 (en) | Semiconductor storage apparatus and method of controlling semiconductor storage apparatus | |
US8825947B1 (en) | System and method for managing data access in non-volatile memory | |
US8595414B2 (en) | Selectively combining commands for a system having non-volatile memory | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
US10061710B2 (en) | Storage device | |
JP3942807B2 (ja) | ブロックアラインメント機能付き半導体記憶装置 | |
US9489409B2 (en) | Rollover strategies in a N-bit dictionary compressed column store | |
US20110153917A1 (en) | Storage apparatus and its control method | |
US8589768B2 (en) | Memory system having multiple channels and write control method including determination of error correction channel in memory system | |
US20140181378A1 (en) | Control device, control method, and program | |
US11442636B2 (en) | Method, apparatus for managing the redundant array of independent disks (RAID) and related computer readable medium | |
CN111324461B (zh) | 内存分配方法、装置、计算机设备和存储介质 | |
JP2010097333A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US20190004703A1 (en) | Method and computer system for managing blocks | |
KR20100117295A (ko) | 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치 | |
US8671257B2 (en) | Memory system having multiple channels and method of generating read commands for compaction in memory system | |
US10310758B2 (en) | Storage system and storage control method | |
KR20090106221A (ko) | 병렬 구조를 가지는 플래시 메모리 시스템 및 그 데이터기록방법 및 플래시 메모리 | |
US11016848B2 (en) | Distributed data storage system with initialization-less parity | |
CN108196790B (zh) | 数据管理方法、存储设备及计算机可读存储介质 | |
JP2013200722A (ja) | 半導体記憶装置の論理ブロックの構築方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170809 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6201242 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |