TWI744457B - 對混合記憶體模組進行存取元資料的方法及混合記憶體模組 - Google Patents
對混合記憶體模組進行存取元資料的方法及混合記憶體模組 Download PDFInfo
- Publication number
- TWI744457B TWI744457B TW107100584A TW107100584A TWI744457B TW I744457 B TWI744457 B TW I744457B TW 107100584 A TW107100584 A TW 107100584A TW 107100584 A TW107100584 A TW 107100584A TW I744457 B TWI744457 B TW I744457B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- metadata
- random access
- dynamic random
- access memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/221—Static RAM
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
-
- 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)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762459414P | 2017-02-15 | 2017-02-15 | |
| US62/459,414 | 2017-02-15 | ||
| US15/587,286 US10282294B2 (en) | 2017-02-15 | 2017-05-04 | Mitigating DRAM cache metadata access overhead with SRAM metadata cache and bloom filter |
| US15/587,286 | 2017-05-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201832086A TW201832086A (zh) | 2018-09-01 |
| TWI744457B true TWI744457B (zh) | 2021-11-01 |
Family
ID=63106399
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107100584A TWI744457B (zh) | 2017-02-15 | 2018-01-08 | 對混合記憶體模組進行存取元資料的方法及混合記憶體模組 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10282294B2 (enExample) |
| JP (1) | JP6916751B2 (enExample) |
| KR (1) | KR102231792B1 (enExample) |
| CN (1) | CN108427647B (enExample) |
| TW (1) | TWI744457B (enExample) |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
| US10402337B2 (en) * | 2017-08-03 | 2019-09-03 | Micron Technology, Inc. | Cache filter |
| CN112805692A (zh) | 2018-09-17 | 2021-05-14 | 美光科技公司 | 混合式双列直插式存储器模块中的高速缓存操作 |
| US10761986B2 (en) * | 2018-10-23 | 2020-09-01 | Advanced Micro Devices, Inc. | Redirecting data to improve page locality in a scalable data fabric |
| US12124566B2 (en) * | 2018-11-12 | 2024-10-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
| TWI688859B (zh) | 2018-12-19 | 2020-03-21 | 財團法人工業技術研究院 | 記憶體控制器與記憶體頁面管理方法 |
| CN109800185B (zh) * | 2018-12-29 | 2023-10-20 | 上海霄云信息科技有限公司 | 一种数据存储系统中的数据缓存方法 |
| KR20200092710A (ko) * | 2019-01-25 | 2020-08-04 | 주식회사 리얼타임테크 | 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치 |
| US10853165B2 (en) * | 2019-02-21 | 2020-12-01 | Arm Limited | Fault resilient apparatus and method |
| US11061670B2 (en) * | 2019-03-05 | 2021-07-13 | Marvell Asia Pte, Ltd. | Dual-interface flash memory controller with execute-in-place cache control |
| US11537521B2 (en) | 2019-06-05 | 2022-12-27 | Samsung Electronics Co., Ltd. | Non-volatile dual inline memory module (NVDIMM) for supporting dram cache mode and operation method of NVDIMM |
| CN110688062B (zh) * | 2019-08-26 | 2021-03-30 | 华为技术有限公司 | 一种缓存空间的管理方法及装置 |
| EP3812892B1 (en) | 2019-10-21 | 2022-12-07 | ARM Limited | Apparatus and method for handling memory load requests |
| TWI739227B (zh) * | 2019-12-03 | 2021-09-11 | 智成電子股份有限公司 | 避免多餘記憶體存取的系統單晶片模組 |
| GB2594732B (en) * | 2020-05-06 | 2022-06-01 | Advanced Risc Mach Ltd | Adaptive load coalescing |
| CN113934361B (zh) * | 2020-06-29 | 2024-05-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
| CN112084216B (zh) * | 2020-09-16 | 2021-05-11 | 上海嗨普智能信息科技股份有限公司 | 基于布隆过滤器的数据查询系统 |
| US11914517B2 (en) | 2020-09-25 | 2024-02-27 | Advanced Micro Devices, Inc. | Method and apparatus for monitoring memory access traffic |
| CN113204370A (zh) * | 2021-03-16 | 2021-08-03 | 南京英锐创电子科技有限公司 | 指令缓存方法及装置 |
| KR102351237B1 (ko) | 2021-04-29 | 2022-01-13 | 삼성전자주식회사 | 메모리 저장 장치 및 통신 시스템 |
| CN114095585B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
| US12072761B2 (en) | 2022-06-02 | 2024-08-27 | Micron Technology, Inc. | Memory sub-system addressing for data and additional data portions |
| US11886291B1 (en) * | 2022-07-21 | 2024-01-30 | Dell Products L.P. | Providing cache line metadata over multiple cache lines |
| US12032479B2 (en) | 2022-08-10 | 2024-07-09 | Astera Labs, Inc. | Metadata-caching integrated circuit device |
| KR102746289B1 (ko) | 2022-12-12 | 2024-12-23 | 포항공과대학교 산학협력단 | 하이브리드 메모리 장치 및 그 관리 방법 |
| US20240319880A1 (en) * | 2023-03-21 | 2024-09-26 | Micron Technology, Inc. | Compute express link dram + nand system solution |
| CN116303126B (zh) * | 2023-03-22 | 2023-09-01 | 摩尔线程智能科技(北京)有限责任公司 | 缓存、数据的处理方法及电子设备 |
| US20240394195A1 (en) * | 2023-05-22 | 2024-11-28 | Rambus Inc. | Dram cache tag probing |
| US20240393964A1 (en) * | 2023-05-22 | 2024-11-28 | Qualcomm Incorporated | Hash filter-based selective-row refresh in memory device |
| CN117217977B (zh) * | 2023-05-26 | 2024-07-19 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的数据访问处理方法、装置及存储介质 |
| US20250028638A1 (en) * | 2023-07-20 | 2025-01-23 | Nokia Solutions And Networks Oy | Systems and methods for cache filtering |
| US20250298522A1 (en) * | 2024-03-21 | 2025-09-25 | Sandisk Technologies Llc | Optimized selective scanning of overlap-table in storage memories for sequential data |
| KR102865250B1 (ko) | 2024-04-17 | 2025-09-30 | 성균관대학교산학협력단 | 메모리 소자와 반도체 장치 및 그 동작 방법 |
| KR20250152993A (ko) | 2024-04-17 | 2025-10-24 | 성균관대학교산학협력단 | 디램 소자와 반도체 장치 및 그 동작 방법 |
| CN119782198B (zh) * | 2024-12-11 | 2025-11-28 | 厦门大学 | 一种基于分区命名空间固态硬盘的键值缓存系统 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6920477B2 (en) * | 2001-04-06 | 2005-07-19 | President And Fellows Of Harvard College | Distributed, compressed Bloom filter Web cache server |
| US20080155229A1 (en) * | 2006-12-21 | 2008-06-26 | Kevin Scott Beyer | System and method for generating a cache-aware bloom filter |
| WO2013081937A1 (en) * | 2011-11-30 | 2013-06-06 | Advanced Micro Devices, Inc. | A hardware filter for tracking block presence in large caches |
| US20130290607A1 (en) * | 2012-04-30 | 2013-10-31 | Jichuan Chang | Storing cache metadata separately from integrated circuit containing cache controller |
| US20140289467A1 (en) * | 2013-03-22 | 2014-09-25 | Applied Micro Circuits Corporation | Cache miss detection filter |
| US9396112B2 (en) * | 2013-08-26 | 2016-07-19 | Advanced Micro Devices, Inc. | Hierarchical write-combining cache coherence |
| US20160246726A1 (en) * | 2014-08-20 | 2016-08-25 | Sandisk Technologies Inc. | Adaptive host memory buffer (hmb) caching using unassisted hinting |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110276744A1 (en) | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
| US8478934B2 (en) | 2010-07-19 | 2013-07-02 | Lsi Corporation | Managing extended RAID caches using counting bloom filters |
| US20130173853A1 (en) | 2011-09-26 | 2013-07-04 | Nec Laboratories America, Inc. | Memory-efficient caching methods and systems |
| SG10201505148QA (en) * | 2012-02-23 | 2015-07-30 | Marvell Int Ltd | Data Storage Device And Method Of Managing A Cache In A Data Storage Device |
| US9110792B1 (en) | 2012-03-12 | 2015-08-18 | Emc Corporation | System and method for cache replacement using bloom filter lookahead approach |
| US9552301B2 (en) * | 2013-07-15 | 2017-01-24 | Advanced Micro Devices, Inc. | Method and apparatus related to cache memory |
| US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
| CN104035887B (zh) * | 2014-05-22 | 2017-10-31 | 中国科学院计算技术研究所 | 一种基于精简配置系统的块设备缓存装置及其方法 |
| CN104090852B (zh) * | 2014-07-03 | 2017-04-05 | 华为技术有限公司 | 管理混合缓存的方法及设备 |
| CA2876466C (en) | 2014-12-29 | 2022-07-05 | Ibm Canada Limited - Ibm Canada Limitee | Scan optimization using bloom filter synopsis |
| KR102403202B1 (ko) | 2015-03-13 | 2022-05-30 | 삼성전자주식회사 | 메타 데이터 관리자를 포함하는 메모리 시스템 및 동작 방법 |
| CN104809179B (zh) * | 2015-04-16 | 2018-10-02 | 华为技术有限公司 | 访问哈希表的装置和方法 |
-
2017
- 2017-05-04 US US15/587,286 patent/US10282294B2/en active Active
- 2017-09-19 KR KR1020170120595A patent/KR102231792B1/ko active Active
- 2017-11-16 CN CN201711136385.4A patent/CN108427647B/zh active Active
-
2018
- 2018-01-08 TW TW107100584A patent/TWI744457B/zh active
- 2018-02-14 JP JP2018023874A patent/JP6916751B2/ja active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6920477B2 (en) * | 2001-04-06 | 2005-07-19 | President And Fellows Of Harvard College | Distributed, compressed Bloom filter Web cache server |
| US20080155229A1 (en) * | 2006-12-21 | 2008-06-26 | Kevin Scott Beyer | System and method for generating a cache-aware bloom filter |
| WO2013081937A1 (en) * | 2011-11-30 | 2013-06-06 | Advanced Micro Devices, Inc. | A hardware filter for tracking block presence in large caches |
| US20130290607A1 (en) * | 2012-04-30 | 2013-10-31 | Jichuan Chang | Storing cache metadata separately from integrated circuit containing cache controller |
| US20140289467A1 (en) * | 2013-03-22 | 2014-09-25 | Applied Micro Circuits Corporation | Cache miss detection filter |
| US9396112B2 (en) * | 2013-08-26 | 2016-07-19 | Advanced Micro Devices, Inc. | Hierarchical write-combining cache coherence |
| US20160246726A1 (en) * | 2014-08-20 | 2016-08-25 | Sandisk Technologies Inc. | Adaptive host memory buffer (hmb) caching using unassisted hinting |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180232310A1 (en) | 2018-08-16 |
| JP6916751B2 (ja) | 2021-08-11 |
| TW201832086A (zh) | 2018-09-01 |
| CN108427647A (zh) | 2018-08-21 |
| KR102231792B1 (ko) | 2021-03-25 |
| CN108427647B (zh) | 2023-08-08 |
| US10282294B2 (en) | 2019-05-07 |
| KR20180094469A (ko) | 2018-08-23 |
| JP2018133086A (ja) | 2018-08-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI744457B (zh) | 對混合記憶體模組進行存取元資料的方法及混合記憶體模組 | |
| US10241919B2 (en) | Data caching method and computer system | |
| CN111858404B (zh) | 地址转换的方法和系统、以及计算机可读介质 | |
| JP2018133086A5 (enExample) | ||
| US9507705B2 (en) | Write cache sorting | |
| US20170060434A1 (en) | Transaction-based hybrid memory module | |
| CN115168248B (zh) | 支持simt架构的高速缓冲存储器及相应处理器 | |
| US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
| CN106201331A (zh) | 用于写入数据的方法及设备与储存媒体 | |
| US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
| US12093180B2 (en) | Tags and data for caches | |
| US10970208B2 (en) | Memory system and operating method thereof | |
| CN104375955A (zh) | 高速缓冲存储器设备及其控制方法 | |
| CN110727610B (zh) | 高速缓存存储器、存储系统和高速缓存存储器的逐出方法 | |
| US11042316B1 (en) | Reordered data deduplication in storage devices | |
| US9329994B2 (en) | Memory system | |
| KR102321346B1 (ko) | 대용량 ssd 장치를 위한 데이터 저널링 방법 | |
| US12038852B2 (en) | Partial logical-to-physical (L2P) address translation table for multiple namespaces | |
| US20230026824A1 (en) | Memory system for accelerating graph neural network processing | |
| US12189535B2 (en) | Tiered memory caching | |
| US9165088B2 (en) | Apparatus and method for multi-mode storage |