JP2015036981A5 - - Google Patents

Download PDF

Info

Publication number
JP2015036981A5
JP2015036981A5 JP2014150593A JP2014150593A JP2015036981A5 JP 2015036981 A5 JP2015036981 A5 JP 2015036981A5 JP 2014150593 A JP2014150593 A JP 2014150593A JP 2014150593 A JP2014150593 A JP 2014150593A JP 2015036981 A5 JP2015036981 A5 JP 2015036981A5
Authority
JP
Japan
Prior art keywords
data
read
page
request
specific page
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.)
Granted
Application number
JP2014150593A
Other languages
English (en)
Other versions
JP5978259B2 (ja
JP2015036981A (ja
Filing date
Publication date
Application filed filed Critical
Publication of JP2015036981A publication Critical patent/JP2015036981A/ja
Publication of JP2015036981A5 publication Critical patent/JP2015036981A5/ja
Application granted granted Critical
Publication of JP5978259B2 publication Critical patent/JP5978259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (12)

  1. 方法であって、
    I/Oデバイスにおいて、ホストを介してI/Oデバイスインターフェースに送られた読み出し要求を受け取るステップであって、該読み出し要求は、前記I/Oデバイスの不揮発性メモリから、該読み出し要求の論理ブロックアドレスに対応するデータを読み出すための要求である、ステップと、
    前記読み出し要求を受け取ったことに応答して、
    マップの複数のエントリのうちの特定のエントリを読み出して、前記不揮発性メモリの複数のページのうちの特定のページの物理アドレスと、前記読み出し要求の前記論理ブロックアドレスに対応するデータの書き込みに応答して以前に格納された圧縮データ(圧縮されているデータ)に対する前記特定のページ内のオフセットと、前記圧縮データのバイト長とを取得するステップであって、前記特定のマップエントリは、前記読み出し要求の前記論理ブロックアドレスに関連付けられている、ステップと、
    前記圧縮データに対する前記特定のページ内のオフセット及び前記圧縮データのバイト長を、前記特定のページ内の複数の読み出しユニットのうちの第1の読み出しユニットのアドレス、及び、前記特定のページから読み出される読み出しユニットの数に変換するステップと、
    前記特定のページから前記数の読み出しユニットだけを読み出すステップと、
    前記特定のページから読み出した前記読み出しユニットの各々に対して誤り訂正復号処理を実施して、訂正されたデータを得るステップと、
    前記圧縮データに対する前記特定のページ内のオフセット、及び、前記圧縮データのバイト長にしたがって、前記訂正されたデータから前記圧縮データを取り出すステップと、
    前記圧縮データを解凍してリターンデータを生成するステップと、
    前記リターンデータを前記ホストに返すステップ
    を実行するステップ
    を含む方法。
  2. 方法であって、
    I/Oデバイスにおいて、ホストを介してI/Oデバイスインターフェースに送られた読み出し要求を受け取るステップであって、該読み出し要求は、前記I/Oデバイスの不揮発性メモリから、該読み出し要求の論理ブロックアドレスに対応するデータを読み出すための要求である、ステップと、
    前記読み出し要求を受け取ったことに応答して、
    マップの複数のエントリのうちの特定のエントリを読み出して、前記不揮発性メモリの複数のページのうちの特定のページの物理アドレスと、前記読み出し要求の前記論理ブロックアドレスに対応するデータの書き込みに応答して以前に格納された圧縮データ(圧縮されているデータ)に対する前記特定のページ内のオフセットと、前記圧縮データのバイト長とを取得するステップであって、前記特定のマップエントリは、前記読み出し要求の前記論理ブロックアドレスに関連付けられている、ステップと、
    前記圧縮データに対する前記特定のページ内のオフセット及び前記圧縮データのバイト長を、前記特定のページ内の複数の読み出しユニットのうちの第1の読み出しユニットのアドレス、及び、前記特定のページから読み出される読み出しユニットの数に変換するステップと、
    前記特定のページから前記数以上で、前記特定のページ内の全ての読み出しユニットよりは少ない数の読み出しユニットを読み出すステップと、
    前記特定のページから読み出した前記読み出しユニットの各々に対して誤り訂正復号処理を実施して、訂正されたデータを得るステップと、
    前記圧縮データに対する前記特定のページ内のオフセット、及び、前記圧縮データのバイト長にしたがって、前記訂正されたデータから前記圧縮データを取り出すステップと、
    前記圧縮データを解凍してリターンデータを生成するステップと、
    前記リターンデータを前記ホストに返すステップ
    を実行するステップ
    を含む方法。
  3. 読み出される読み出しユニットの数が、前記特定のページ内の全ての読み出しユニットの数よりも少ない、請求項1または2の方法。
  4. 前記圧縮データに対する前記特定のページ内のオフセット及び前記圧縮データのバイト長と、前記特定のページ内のユーザーデータの量との組み合わせにしたがって、前記圧縮データの少なくとも一部が、前記不揮発性メモリの前記ページに続くページの1以上の読み出しユニットに存在するか否かを判定するステップをさらに含む、請求項1〜3のいずれかの方法。
  5. 前記不揮発性メモリの前記ページのうちの第1のページは、第1の数の読み出しユニットを含み、前記不揮発性メモリの前記ページのうちの第2のページは、第2の数の読み出しユニットを含み、前記第1の数は前記第2の数とは異なる、請求項1〜4のいずれかの方法。
  6. 前記不揮発性メモリの前記ページのうちの第1のページは、第1の量のユーザーデータを含み、前記不揮発性メモリの前記ページのうちの第2のページは、第2の量のユーザーデータを含み、ユーザーデータの前記第1の量はユーザーデータの前記第2の量とは異なる、請求項1〜5のいずれかの方法。
  7. I/Oデバイスにおいて、前記ホストを介してI/Oデバイスインターフェースに送られた書き込み要求を受け取るステップであって、該書き込み要求は、前記論理ブロックアドレスに対応するデータを書き込むための要求である、ステップと、
    前記書き込み要求を受け取ったことに応答して、
    前記論理ブロックアドレスに対応する前記データを圧縮して、前記論理ブロックアドレスに対応する前記データよりも小さな圧縮された書き込みデータを生成するステップと、
    前記特定のページに、前記圧縮された書き込みデータの少なくとも第1の部分を書き込むステップと、
    前記特定のエントリに、前記特定のページの物理アドレス、前記圧縮された書き込みデータに対する前記特定のページ内のオフセット、及び、前記圧縮された書き込みデータのバイト長を格納するステップ
    を実施するステップ
    をさらに含む、請求項1〜6のいずれかの方法。
  8. 前記書き込みデータに対する要求を受け取ったことに応答して、前記特定のページにヘッダーを書き込むステップをさらに含む請求項7の方法であって、前記ヘッダーは、前記要求の前記論理ブロックアドレスの少なくとも一部と前記圧縮データのバイト長とを含む、方法。
  9. 前記論理ブロックアドレスが、複数の論理ブロックアドレスのうちの第1の論理ブロックアドレスであり、前記数の読み出しユニットのうちの少なくとも1つが、前記論理ブロックアドレスのそれぞれに対応する少なくともいくつかのデータを含む、請求項1〜8のいずれかの方法。
  10. 前記数の読み出しユニットのうちの少なくとも1つが、前記圧縮データの一部に加えて、1以上のヘッダーを含む、請求項1〜9のいずれかの方法。
  11. 方法であって、
    I/Oデバイスにおいて、ホストを介してI/Oデバイスインターフェースに送られた読み出し要求を受け取るステップであって、該読み出し要求は、前記I/Oデバイスの不揮発性メモリから、該読み出し要求の論理ブロックアドレスに対応するデータを読み出すための要求である、ステップと、
    前記読み出し要求を受け取ったことに応答して、
    マップの複数のエントリのうちの特定のエントリを読み出して、前記不揮発性メモリの複数のページのうちの特定のページの物理アドレスと、前記読み出し要求の前記論理ブロックアドレスに対応するデータの書き込みに応答して以前に格納された可変サイズのデータ(以下、可変サイズのデータを可変サイズデータという)に対する前記特定のページ内のオフセットと、前記可変サイズデータのバイト長とを取得するステップであって、前記特定のマップエントリは、前記読み出し要求の前記論理ブロックアドレスに関連付けられている、ステップと、
    前記可変サイズデータに対する前記特定のページ内のオフセット及び前記可変サイズデータのバイト長を、前記特定のページ内の複数の読み出しユニットのうちの第1の読み出しユニットのアドレス、及び、前記特定のページから読み出される読み出しユニットの数に変換するステップと、
    前記特定のページから前記数の読み出しユニットだけを読み出すステップと、
    前記特定のページから読み出した前記読み出しユニットの各々に対して誤り訂正復号処理を実施して、訂正されたデータを得るステップと、
    前記可変サイズデータに対する前記特定のページ内のオフセット、及び、前記可変サイズデータのバイト長にしたがって、前記訂正されたデータから前記可変サイズデータを取り出すステップと、
    前記取り出したデータを前記ホストに返すステップ
    を実行するステップ
    を含む方法。
  12. I/Oデバイスにおいて、前記ホストを介してI/Oデバイスインターフェースに送られた書き込み要求を受け取るステップであって、該書き込み要求は、前記論理ブロックアドレスに対応する可変サイズデータ、及び前記可変サイズデータのサイズを書き込むための要求である、ステップと、
    前記書き込み要求を受け取ったことに応答して、
    前記特定のページに、前記可変サイズデータの少なくとも第1の部分を書き込むステップと、
    前記特定のエントリに、前記特定のページの物理アドレス、前記可変サイズデータに対する前記特定のページ内のオフセット、及び、前記可変サイズデータのサイズに対応する該可変サイズデータのバイト長を格納するステップ
    を実施するステップ
    をさらに含む、請求項11の方法。
JP2014150593A 2013-08-16 2014-07-24 順次読み出し最適化可変サイズフラッシュトランスレーションレイヤ Expired - Fee Related JP5978259B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361866672P 2013-08-16 2013-08-16
US61/866,672 2013-08-16

Publications (3)

Publication Number Publication Date
JP2015036981A JP2015036981A (ja) 2015-02-23
JP2015036981A5 true JP2015036981A5 (ja) 2015-04-02
JP5978259B2 JP5978259B2 (ja) 2016-08-24

Family

ID=51662509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014150593A Expired - Fee Related JP5978259B2 (ja) 2013-08-16 2014-07-24 順次読み出し最適化可変サイズフラッシュトランスレーションレイヤ

Country Status (2)

Country Link
JP (1) JP5978259B2 (ja)
GB (1) GB2519629A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9927998B2 (en) * 2014-02-05 2018-03-27 Tidal Systems, Inc. Flash memory compression
JP6443571B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
JP6443572B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CA3142618A1 (en) * 2019-07-02 2021-01-07 Microsoft Technology Licensing, Llc Hardware-based memory compression

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374341B1 (en) * 1998-09-02 2002-04-16 Ati International Srl Apparatus and a method for variable size pages using fixed size translation lookaside buffer entries
US7644251B2 (en) * 2005-12-19 2010-01-05 Sigmatel, Inc. Non-volatile solid-state memory controller
EP1939751A1 (en) * 2006-12-22 2008-07-02 Telefonaktiebolaget LM Ericsson (publ) Storing compressed data
US9105305B2 (en) * 2010-12-01 2015-08-11 Seagate Technology Llc Dynamic higher-level redundancy mode management with independent silicon elements
EP2666091A2 (en) * 2011-01-18 2013-11-27 LSI Corporation Higher-level redundancy information computation
KR101289931B1 (ko) * 2011-09-23 2013-07-25 한양대학교 산학협력단 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치
US8843711B1 (en) * 2011-12-28 2014-09-23 Netapp, Inc. Partial write without read-modify

Similar Documents

Publication Publication Date Title
JP2014142931A5 (ja)
US8572308B2 (en) Supporting variable sector sizes in flash storage devices
US9141537B2 (en) Magnetic random access memory journal
US9329789B1 (en) Methods and apparatus for efficiently operating on a storage device
TWI648622B (zh) 快閃記憶體之壓縮、讀取方法及應用其方法的裝置
US9563551B2 (en) Data storage device and data fetching method for flash memory
CN106354615B (zh) 固态硬盘日志生成方法及其装置
JP2015535119A5 (ja)
JP2013025793A5 (ja)
US10909031B2 (en) Memory system and operating method thereof
TWI515737B (zh) 資料儲存裝置以及其資料抹除方法
US20150154071A1 (en) Data storage device and data access-method
JP6034183B2 (ja) 半導体記憶装置
RU2016151308A (ru) Способ и система для обновления динамического оперативного запоминающего устройства (dram) и устройство
JP2015036981A5 (ja)
CN112771491B (zh) 主机常驻转换层有效性检查技术
US10318165B2 (en) Data operating method, device, and system
JPWO2020243098A5 (ja)
JP2013239099A5 (ja)
CN114761931A (zh) 有限ram系统中的逻辑到物理转译技术
US20180188971A1 (en) Devices, systems, and methods having high data deduplication and low read latencies
TWI679534B (zh) 資料儲存裝置以及資料儲存方法
US11709612B2 (en) Storage and method to rearrange data of logical addresses belonging to a sub-region selected based on read counts
US20210397370A1 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비