Home | History | Annotate | Download | only in flash
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_DISK_CACHE_FLASH_FORMAT_H_
      6 #define NET_DISK_CACHE_FLASH_FORMAT_H_
      7 
      8 namespace disk_cache {
      9 
     10 // Storage constants.
     11 const int32 kFlashPageSize = 8 * 1024;
     12 const int32 kFlashBlockSize = 512 * kFlashPageSize;
     13 
     14 // Segment constants.
     15 const int32 kFlashSegmentSize = 4 * 1024 * 1024;
     16 const int32 kFlashSmallEntrySize = 4 * 1024;
     17 const size_t kFlashMaxEntryCount = kFlashSegmentSize / kFlashSmallEntrySize - 1;
     18 
     19 // Segment summary consists of a fixed region at the end of the segment
     20 // containing a counter specifying the number of saved offsets followed by the
     21 // offsets.
     22 const int32 kFlashSummarySize = (1 + kFlashMaxEntryCount) * sizeof(int32);
     23 const int32 kFlashSegmentFreeSpace = kFlashSegmentSize - kFlashSummarySize;
     24 
     25 // An entry consists of a fixed number of streams.
     26 const int32 kFlashLogStoreEntryNumStreams = 4;
     27 const int32 kFlashLogStoreEntryHeaderSize =
     28     kFlashLogStoreEntryNumStreams * sizeof(int32);
     29 
     30 }  // namespace disk_cache
     31 
     32 #endif  // NET_DISK_CACHE_FLASH_FORMAT_H_
     33